لاراول یکی از محبوبترین فریمورکهای PHP است که به دلیل سادگی، انعطافپذیری و امکانات قدرتمندش، انتخاب بسیاری از توسعهدهندگان وب میباشد. در این آموزش، مراحل نصب و راهاندازی لاراول در سرور اوبونتو را به صورت گام به گام بررسی میکنیم.
پیشنیازها
قبل از شروع، اطمینان حاصل کنید که:
- سرور اوبونتو 20.04 یا نسخه جدیدتر را نصب کردهاید
- دسترسی root یا دسترسی sudo به سرور دارید
- سرور به اینترنت متصل است
نصب PHP و افزونههای مورد نیاز
برای نصب PHP و افزونههای مورد نیاز لاراول، از دستورات زیر استفاده کنید:
sudo apt update
sudo apt install -y php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-mbstring php8.1-mysql php8.1-xml php8.1-zip php8.1-bcmath php8.1-gd php8.1-intl
پس از نصب، نسخه PHP را بررسی کنید:
php -v
خروجی باید چیزی شبیه به این باشد:
PHP 8.1.x (cli) (built: ...) ( NTS ...)
Copyright (c) The PHP Group
Zend Engine v4.1.x, Copyright (c) Zend Technologies
with Zend OPcache v8.1.x, Copyright (c), by Zend Technologies
نصب Composer
Composer یک ابزار مدیریت وابستگی برای PHP است که برای نصب و مدیریت پکیجهای لاراول ضروری است. برای نصب Composer، از دستورات زیر استفاده کنید:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
برای اطمینان از نصب صحیح Composer، دستور زیر را اجرا کنید:
composer --version
نصب و راهاندازی MySQL/MariaDB
لاراول به یک پایگاه داده نیاز دارد که معمولاً از MySQL یا MariaDB استفاده میشود. برای نصب MariaDB که یک نسخه بهبود یافته و متنباز از MySQL است، دستورات زیر را اجرا کنید:
sudo apt install -y mariadb-server
sudo mysql_secure_installation
در طول فرآیند پیکربندی امنیتی، سوالاتی پرسیده میشود که توصیه میشود به همه آنها پاسخ «Y» بدهید و یک رمز عبور قوی برای کاربر root تنظیم کنید.
سپس یک پایگاه داده و کاربر برای لاراول ایجاد کنید:
sudo mysql
MariaDB [(none)]> CREATE DATABASE laravel;
MariaDB [(none)]> CREATE USER 'laraveluser'@'localhost' IDENTIFIED BY 'your_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON laravel.* TO 'laraveluser'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
جایگزین کردن 'your_password' با یک رمز عبور قوی فراموش نشود.
نصب لاراول
حالا که پیشنیازها نصب شدند، میتوانیم لاراول را نصب کنیم. ابتدا به مسیری بروید که میخواهید پروژه لاراول را ایجاد کنید (مثلاً /var/www):
cd /var/www
sudo composer create-project laravel/laravel myapp
این دستور پروژه جدید لاراول را در پوشهای به نام myapp ایجاد میکند.
توجه داشته باشید که برای تولید، باید سطح دسترسی مناسب را برای فایلهای پروژه تنظیم کنید.
sudo chown -R www-data:www-data /var/www/myapp
sudo chmod -R 755 /var/www/myapp/storage
پیکربندی لاراول
فایل .env را ویرایش کنید تا تنظیمات پایگاه داده را اصلاح کنید:
sudo nano /var/www/myapp/.env
تنظیمات پایگاه داده را به شرح زیر تغییر دهید:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laraveluser
DB_PASSWORD=your_password
کلید برنامه را تولید کنید:
cd /var/www/myapp
php artisan key:generate
در صورت نیاز، مهاجرتهای پایگاه داده را اجرا کنید:
php artisan migrate
تنظیمات وبسرور
حالا باید یک وبسرور مانند Nginx یا Apache را تنظیم کنیم. در این آموزش از Nginx استفاده میکنیم:
sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/myapp
محتوای زیر را در فایل پیکربندی وارد کنید:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/myapp/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.(?!well-known).* {
deny all;
}
}
لینک سمبلیک ایجاد کرده و Nginx را راهاندازی مجدد کنید:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
اگر فایروال UFW فعال است، باید HTTP و HTTPS را به آن اضافه کنید:
sudo ufw allow 'Nginx Full'
حالا میتوانید به دامنه خود (یا آدرس IP سرور) مراجعه کنید و صفحه خوشآمدگویی لاراول را مشاهده کنید!
عیبیابی مشکلات رایج
اگر با مشکلی مواجه شدید، موارد زیر را بررسی کنید:
- لاگهای Nginx در مسیر /var/log/nginx/error.log
- لاگهای لاراول در مسیر /var/www/myapp/storage/logs/laravel.log
- دسترسیهای فایل و پوشه با دستور ls -la
- اطمینان از فعال بودن سرویسهای PHP-FPM و Nginx با دستور sudo systemctl status nginx و sudo systemctl status php8.1-fpm