آموزش نصب لاراول در سرور اوبونتو

آموزش نصب لاراول در سرور اوبونتو

آموزش کامل نصب لاراول روی سرور اوبونتو. مراحل نصب PHP، Composer، راه‌اندازی دیتابیس و اجرای اولین پروژه لاراول به صورت عملی.

لاراول یکی از محبوب‌ترین فریم‌ورک‌های 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

راه‌اندازی وب‌سایت خود با میزبانی کانتینری Apploud

تجربه میزبانی مدرن، امن و مقیاس‌پذیر را همین امروز آغاز کنید. با استفاده از کد تخفیف BLOG15 از ۱۵٪ تخفیف در سرویس‌های میزبانی کانتینری بهره‌مند شوید.

مشاهده تعرفه‌ها