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

ابرداده 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
.