ค้นหาเว็บไซต์

วิธีการติดตั้ง Laravel PHP Framework ด้วย Nginx บน Ubuntu 20.04


Laravel เป็นเฟรมเวิร์ก PHP แบบโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดในโลก ซึ่งเป็นที่รู้จักในด้านไวยากรณ์ที่ชัดเจนและสวยงาม Laravel สามารถเข้าถึงได้ มีประสิทธิภาพ และนำเสนอเครื่องมือพัฒนาเว็บไซต์ที่ดีที่สุดบางส่วนที่จำเป็นสำหรับแอปพลิเคชันขนาดใหญ่ แข็งแกร่ง และทันสมัย

ในบทความนี้ คุณจะได้เรียนรู้วิธีการติดตั้ง Laravel PHP Framework บนเซิร์ฟเวอร์ Ubuntu 20.04 ที่ทำงานบนเว็บเซิร์ฟเวอร์ Nginx

ข้อกำหนดเบื้องต้น

  • วิธีการติดตั้ง LEMP Stack ด้วย PhpMyAdmin ใน Ubuntu 20.04

ขั้นตอนที่ 1: การติดตั้งโมดูล PHP ที่จำเป็น

หลังจากตั้งค่าสแต็ก LEMP บนเซิร์ฟเวอร์ Ubuntu 20.04 ตามที่อธิบายไว้ในคำแนะนำในลิงก์ด้านบนแล้ว คุณจะต้องติดตั้งส่วนขยาย PHP เพิ่มเติมที่ Laravel ต้องการดังต่อไปนี้:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

ขั้นตอนที่ 2: การสร้างฐานข้อมูลสำหรับ Laravel

ถัดไป คุณต้องสร้างฐานข้อมูล MySQL สำหรับแอปพลิเคชัน Laravel ของคุณ ดังนั้น เข้าสู่ระบบเชลล์ mysql ของคุณและสร้างฐานข้อมูลดังต่อไปนี้

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

ขั้นตอนที่ 3: การติดตั้งนักแต่งเพลงใน Ubuntu 20.04

Laravel ใช้ ผู้แต่ง (ตัวจัดการการพึ่งพาสำหรับ PHP) เพื่อจัดการการขึ้นต่อกัน ดังนั้น ก่อนที่จะใช้ Laravel ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Composer บนระบบของคุณตามที่แสดง

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

ขั้นตอนที่ 4: การติดตั้ง Laravel ใน Ubuntu 20.04

หลังจากติดตั้ง ผู้แต่ง แล้ว ให้ใช้เพื่อติดตั้งไฟล์ Laravel ย้ายไปยังไดเร็กทอรี /var/www/html ของคุณซึ่งเป็นที่เก็บไฟล์เว็บ จากนั้นติดตั้ง Laravel โดยใช้ตัวเขียนดังที่แสดง อย่าลืมแทนที่ example.com ด้วยชื่อของไดเร็กทอรีที่จะจัดเก็บไฟล์ Laravel

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

ขั้นตอนที่ 5: การกำหนดค่า Laravel ใน Ubuntu 20.04

หากต้องการแสดงรายการเนื้อหาของการติดตั้ง Laravel ใหม่ ให้รันคำสั่ง ls ต่อไปนี้ คุณจะสังเกตเห็นว่าไฟล์ .env ถูกสร้างขึ้นโดยอัตโนมัติ ซึ่งในอดีตจะต้องสร้างขึ้นด้วยตนเอง

ls -la /var/www/html/example.com/

จากนั้น ให้ตั้งค่าการอนุญาตที่เหมาะสมในไดเร็กทอรี Laravel ดังต่อไปนี้

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

ถัดไป Laravel ใช้คีย์แอปพลิเคชันเพื่อรักษาความปลอดภัยเซสชันผู้ใช้และข้อมูลที่เข้ารหัสอื่นๆ .env เริ่มต้นมีรหัสแอปพลิเคชันเริ่มต้น แต่คุณต้องสร้างรหัสใหม่สำหรับการปรับใช้ laravel ของคุณเพื่อความปลอดภัย

sudo php artisan key:generate

คีย์ที่สร้างขึ้นจะถูกต่อท้ายในไฟล์ .env เป็นค่าของ APP_KEY คุณสามารถดูคีย์ต่อท้ายได้โดยใช้คำสั่ง grep

grep -i APP_Key /var/www/html/example.com/.env

คุณยังต้องกำหนดค่ารายละเอียดการเชื่อมต่อฐานข้อมูล Laravel ใน .env ดังที่แสดงในภาพหน้าจอต่อไปนี้

sudo nano /var/www/html/example.com/.env

ขั้นตอนที่ 6: การกำหนดค่า NGINX เพื่อให้บริการแอปพลิเคชัน Laravel

เพื่อให้ NGINX ให้บริการแอปพลิเคชันใหม่ของคุณ คุณจะต้องสร้างบล็อกเซิร์ฟเวอร์สำหรับบล็อกดังกล่าวภายในการกำหนดค่า NGINX ภายใต้ไดเรกทอรี /etc/nginx/sites-available/

sudo nano /etc/nginx/sites-available/example.com.conf

ในการกำหนดค่าด้านล่าง ให้อัปเดตคำสั่งรูทเป็นไดเร็กทอรีสาธารณะของแอปพลิเคชัน Laravel และตรวจสอบให้แน่ใจว่าได้แทนที่ www.example.com ด้วยชื่อโดเมนของเว็บไซต์ของคุณดังที่แสดง

นอกจากนี้ ให้ตั้งค่าคำสั่ง fastcgi_pass ควรชี้ไปที่สื่อที่ PHP-FPM กำลังรับฟังคำขอ (เช่น fastcgi_pass unix:/run/php/php7.4 -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

บันทึกไฟล์แล้วเปิดใช้งานการกำหนดค่าไซต์ Laravel โดยการสร้างลิงก์จาก /etc/nginx/sites-available/example.com.conf ไปยัง /etc/nginx/sites-enabled/ ไดเร็กทอรี นอกจากนี้ ให้ลบการกำหนดค่าบล็อกเซิร์ฟเวอร์เริ่มต้นออก

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

จากนั้น ตรวจสอบว่าไวยากรณ์การกำหนดค่า NGINX ถูกต้องหรือไม่โดยเรียกใช้คำสั่งต่อไปนี้ก่อนเริ่มบริการใหม่

sudo nginx -t
sudo systemctl restart nginx

ขั้นตอนที่ 7: การเข้าถึงแอปพลิเคชัน Laravel จากเว็บเบราว์เซอร์

ในขั้นตอนนี้ คุณต้องทดสอบว่าการปรับใช้ Laravel ของคุณทำงานได้ดีหรือไม่ และสามารถเข้าถึงได้จากเบราว์เซอร์หรือไม่ หากต้องการใช้โดเมนจำลอง example.com ให้ใช้ไฟล์ /etc/hosts บนเครื่องคอมพิวเตอร์ของคุณเพื่อสร้าง DNS ภายในเครื่อง

เรียกใช้คำสั่งต่อไปนี้เพื่อรับที่อยู่ IP ของเซิร์ฟเวอร์ Laravel และเพิ่มลงในไฟล์ /etc/hosts (แทนที่ค่าตามการตั้งค่าของคุณ)
$ไอพีโฆษณา
$echo “192.168.56.11 example.com” | sudo tee -a /etc/hosts

ตอนนี้เปิดเว็บเบราว์เซอร์บนเครื่องคอมพิวเตอร์และใช้ที่อยู่ต่อไปนี้เพื่อนำทาง

http://www.example.com/

เมื่อคุณติดตั้ง Laravel แล้ว คุณสามารถเริ่มสร้างเว็บแอปพลิเคชันหรือไซต์ของคุณได้ สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของ Laravel