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

วิธีติดตั้งเว็บไซต์ที่ใช้ 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