برنامه نویسی

لاراول را به صورت محلی در اوبونتو با استفاده از میزبان مجازی آپاچی اجرا کنید

ابرداده APT را بازخوانی کنید.

sudo apt update
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب MySQL

MySQL را نصب کنید:

sudo apt install mysql-server
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای ویرایش MySQL را وارد کنید root رمز عبور کاربر:

sudo mysql
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای ایجاد یک پایگاه داده برای برنامه ما، دوباره MySQL را وارد کنید، اما این بار با استفاده از اعتبار:

mysql -u root -p
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE DATABASE my_app;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

منابع:

نصب آپاچی

اوبونتو معمولاً همراه با یک سرور آپاچی در حال اجرا ارائه می شود، اما با این حال، من مراحل نصب را درج می کنم.

sudo apt-get install apache2 -y
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با تأیید نسخه آن، بررسی کنید که آیا آپاچی نصب شده است یا خیر:

apache2ctl -v
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا فایروال شما فعال است یا خیر:

sudo ufw status
sudo ufw app list
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر برگشت Status: active سپس به ترافیک HTTP در آپاچی اجازه دهید:

sudo ufw allow in "Apache"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در حال حاضر، بازدید http://localhost باید “Apache2 Default Page” را نمایش دهد.

منابع:

در حال نصب PHP

مخزن زیر را ثبت کنید که نصب چندین نسخه PHP را به طور همزمان امکان پذیر می کند.

sudo add-apt-repository ppa:ondrej/php
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

PHP را نصب کنید 8.1.

sudo apt install php8.1
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر نسخه دیگری را انتخاب کردید، فقط آن را جایگزین کنید 8.1 هر زمان که دستوری را کپی می کنید با نسخه خود.

ماژول PHP را به سرور آپاچی اضافه کنید:

sudo apt install libapache2-mod-php8.1
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

افزونه های مورد نیاز لاراول را نصب کنید:

sudo apt install php8.1-mbstring php8.1-xmlrpc php8.1-soap php8.1-gd php8.1-xml php8.1-cli php8.1-zip php8.1-bcmath php8.1-tokenizer php8.1-json php8.1-pear
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

افزونه‌های تازه نصب‌شده به‌طور خودکار با تنظیمات آنها فعال می‌شوند /etc/php/8.1/cli/conf.d/.

منابع:

در حال نصب آهنگساز

https://getcomposer.org/download/ را بررسی کنید.

اپلیکیشن جدید لاراول

cd
mkdir dev
cd dev
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

من دوست دارم کدم را در آن قرار دهم ~/dev.

یک برنامه جدید لاراول ایجاد کنید:

composer global require laravel/installer
laravel new my_app --git
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مجوزهای صحیح را تنظیم کنید تا Apache قادر به اجرای کد PHP شما باشد.

sudo chown -R www-data:www-data /home/me/dev/my_app/public
sudo chmod -R 755 /home/me/dev/my_app/public
sudo chmod o+x /home/me
sudo chmod o+x /home/me/dev
sudo chmod o+x /home/me/dev/
sudo chmod o+x /home/me/dev/my_app
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تنظیم .env با جزئیات برنامه و پایگاه داده شما.

جعل نام دامنه

ما یک نام دامنه برای برنامه خود اضافه می کنیم که فقط دستگاه ما از آن با ویرایش مطلع است /etc/hosts. ما آن را به گونه ای پیکربندی می کنیم که به دستگاه ما اطلاع دهیم که نام دامنه my_app.local در آدرس IP حلقه بک قرار دارد 127.0.0.1.

nano /etc/hosts
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

# Add this line anywhere
127.0.0.1 my_app.local
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تست کنید که دامنه را به درستی با پینگ کردن آن پیکربندی کرده اید:

ping my_app.local
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه داشته باشید که استفاده از دامنه های سطح بالای اینترنت مانند .com به احتمال زیاد کار نخواهد کرد بنابراین توصیه می کنم به آن پایبند باشید .local برای آزمایش محلی بدون HTTPS و بدون نام دامنه ثبت شده.

راه اندازی هاست مجازی

اکنون به سمت /etc/apache2/sites-available/ و به عنوان فایل پیکربندی میزبان مجازی پایه ما استفاده کنید:

cd /etc/apache2/sites-available/
sudo cp 000-default.conf my_app-local.conf
nano my_app-local.conf
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و ویرایش کنید my_app-local.conf به این شکل به نظر برسد:

 *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName my_app.local   
        ServerAlias www.my_app.local

        ServerAdmin webmaster@localhost
        DocumentRoot /home/me/dev/my_app/public

         /home/me/dev/my_app/public>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        

        ReWriteEngine On

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اعتبار پیکربندی که اضافه کردید را بررسی کنید:

sudo apache2ctl configtest
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

سایت جدید خود را فعال کنید:

sudo a2ensite my_app-local.conf
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

همچنین، ماژول بازنویسی را فعال کنید تا بتواند URL هایی داشته باشد که فقط به فایل های واقعی اشاره نمی کنند:

sudo a2enmod rewrite
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آخرین کاری که باید انجام دهید این است که Apache را مجدداً راه اندازی کنید تا پیکربندی جدید بارگیری شود:

sudo systemctl restart apache2
// or
sudo systemctl reload apache2
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

منابع:

سرانجام

بازدید کنید http://my_app.local.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا