ข้ามไปยังเนื้อหาหลัก

วิธีติดตั้งเว็บไซต์ที่ใช้ Laravel

การติดตั้งดำเนินการโดยใช้ composer โดเมนที่ใช้เป็นตัวอย่างคือ example.com และผู้ใช้ของเว็บไซต์คือ user

การเตรียมการ​

การติดตั้ง Composer​

ติดตั้ง composer ใน FASTPANEL® ในส่วน "Applications"

เมนูการจัดการ Applications ใน FASTPANEL

การติดตั้ง composer ใน FASTPANEL

การสร้างเว็บไซต์​

สร้างเว็บไซต์ใน FASTPANEL® และระบุไดเรกทอรีย่อย public ในการตั้งค่าเว็บไซต์ในส่วน "Site Directory"

การระบุไดเรกทอรีย่อย public

การสร้างโปรเจกต์​

หากต้องการสร้างโปรเจกต์ คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH โดยใช้ข้อมูลของเจ้าของเว็บไซต์ เจ้าของเว็บไซต์จะแสดงอยู่ในการ์ดเว็บไซต์ใน FASTPANEL

การตรวจสอบเจ้าของเว็บไซต์ใน FASTPANEL

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

rm -rf /var/www/user/data/www/example.com/*

จากนั้นไปที่ไดเรกทอรีของเว็บไซต์

cd /var/www/user/data/www/example.com

และสร้างโปรเจกต์

composer create-project laravel/laravel ./
ตัวอย่างผลลัพธ์ในกรณีที่ติดตั้งสำเร็จ
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
No security vulnerability advisories found
> @php artisan key:generate --ansi
Application key set successfully.

การติดตั้ง Laravel เวอร์ชันที่ระบุ​

หากต้องการติดตั้งเวอร์ชันที่ระบุ เมื่อสร้างโปรเจกต์ คุณต้องระบุเวอร์ชันไว้ที่ท้ายคำสั่งภายในเครื่องหมายอัญประกาศ

composer create-project laravel/laravel ./ "5.8.*"

การเชื่อมต่อฐานข้อมูล​

  • สำหรับ Artisan ให้ระบุข้อมูลการเชื่อมต่อฐานข้อมูลในไฟล์ .env ภายในไดเรกทอรีของเว็บไซต์
  • สำหรับเว็บไซต์ ให้ระบุข้อมูลสำหรับเชื่อมต่อกับฐานข้อมูลในไฟล์ ./config/database.php

หากต้องการแก้ไขไฟล์ .env คุณสามารถใช้โปรแกรมแก้ไขข้อความชื่อ nano ผ่าน SSH:

nano .env
ตัวอย่างของ .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

หากต้องการแก้ไขไฟล์ ./config/database.php ผ่าน SSH:

nano ./config/database.php
ตัวอย่างของ ./config/database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'site_db'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', '0j9vd3qATwTsXW7C'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

ในโปรแกรมแก้ไข nano ใช้ Ctrl+O เพื่อบันทึกการเปลี่ยนแปลง และใช้ Ctrl+X เพื่อออกจากโปรแกรมแก้ไข

การเชื่อมต่อ Memcached (ไม่บังคับ)​

คุณต้องติดตั้งโมดูล PHP memcached สำหรับเวอร์ชัน PHP ที่ใช้บนเว็บไซต์ รวมถึงติดตั้งแอปพลิเคชันด้วย

การติดตั้งโมดูล PHP memcached​

เมนูการจัดการ PHP ใน FASTPANEL

ติดตั้งโมดูล PHP memcached ใน FASTPANEL

การติดตั้งแอปพลิเคชัน memcached​

เมนูการจัดการ Applications ใน FASTPANEL

ติดตั้งแอปพลิเคชัน memcached ใน FASTPANEL

การแก้ไขไฟล์การกำหนดค่า​

ระบุข้อมูลสำหรับเชื่อมต่อกับ memcached ในไฟล์ ./config/cache.php

ตัวอย่างของ ./config/cache.php
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],

การใช้ Artisan กับ PHP เวอร์ชันที่ไม่ใช่เวอร์ชันระบบ​

หากต้องการใช้ artisan กับ PHP เวอร์ชันที่ไม่ใช่เวอร์ชันระบบ คุณต้องระบุพาธแบบเต็มไปยังไฟล์ปฏิบัติการ ตัวอย่างการใช้ php เวอร์ชันทางเลือก 8.2:

/opt/php82/bin/php artisan list

คำสั่ง Artisan พื้นฐาน​

ควรรันคำสั่งในไดเรกทอรีรากของโปรเจกต์ของคุณ (example.com ในตัวอย่างนี้)

cd /var/www/user/data/www/example.com

หากต้องการดูรายการคำสั่ง Artisan ทั้งหมดที่มีอยู่ คุณสามารถใช้คำสั่ง

php artisan list

เริ่มต้นเซิร์ฟเวอร์สำหรับการพัฒนา Laravel ภายในเครื่อง คุณสามารถระบุคีย์ --host และ --port

php artisan serve

เริ่มการย้ายข้อมูล

php artisan migrate

เปิดใช้งานโหมดบำรุงรักษาบนเว็บไซต์ โดยใช้คีย์ --redirect=/ เพื่อระบุหน้าสำหรับโหมดบำรุงรักษา

php artisan down

ปิดโหมดบำรุงรักษาบนเว็บไซต์

php artisan up