Cách cài đặt một trang web dựa trên Laravel
Việc cài đặt được thực hiện bằng composer. Tên miền được dùng làm ví dụ là example.com và người dùng của trang web là user.
Chuẩn bị
Cài đặt Composer
Cài đặt composer trong FASTPANEL® ở phần "Applications"


Tạo trang web
Tạo một trang web trong FASTPANEL® và chỉ định thư mục con public trong cài đặt trang web ở phần "Site Directory".

Tạo dự án
Để tạo một dự án, bạn cần kết nối tới máy chủ qua SSH bằng dữ liệu của chủ sở hữu trang web. Chủ sở hữu trang web được hiển thị trên thẻ trang web trong FASTPANEL

Sau khi thiết lập kết nối SSH, bạn nên xóa nội dung thư mục trang web bằng ví dụ lệnh sau (thay example.com bằng tên trang web của bạn)
rm -rf /var/www/user/data/www/example.com/*
Sau đó chuyển đến thư mục trang web
cd /var/www/user/data/www/example.com
Và tạo một dự án
composer create-project laravel/laravel ./
Ví dụ đầu ra trong trường hợp cài đặt thành công
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.
Cài đặt một phiên bản Laravel cụ thể
Để cài đặt một phiên bản cụ thể, khi tạo dự án, bạn phải chỉ định phiên bản ở cuối lệnh trong dấu ngoặc kép
composer create-project laravel/laravel ./ "5.8.*"
Kết nối cơ sở dữ liệu
- Đối với Artisan, hãy chỉ định dữ liệu để kết nối với cơ sở dữ liệu trong tệp .env trong thư mục website
- Đối với trang web, hãy chỉ định dữ liệu để kết nối tới cơ sở dữ liệu trong tệp
./config/database.php
Để chỉnh sửa tệp .env, bạn có thể sử dụng trình soạn thảo văn bản có tên là nano qua SSH:
nano .env
Ví dụ về .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C
Để chỉnh sửa tệp ./config/database.php qua SSH:
nano ./config/database.php
Ví dụ về ./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'),
]) : [],
],
Trong trình soạn thảo nano, Ctrl+O được dùng để lưu thay đổi, Ctrl+X được dùng để thoát khỏi trình soạn thảo.
Kết nối Memcached (tùy chọn)
Bạn cần cài đặt mô-đun PHP memcached cho phiên bản PHP được sử dụng trên trang web, đồng thời cài đặt ứng dụng.
Cài đặt mô-đun PHP memcached


Cài đặt ứng dụng memcached


Chỉnh sửa tệp cấu hình
Chỉ định dữ liệu để kết nối tới memcached trong tệp ./config/cache.php
Ví dụ về ./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,
],
],
],
Sử dụng Artisan trên phiên bản PHP không phải hệ thống
Để sử dụng artisan trên một phiên bản PHP không phải phiên bản hệ thống, bạn phải chỉ định đầy đủ đường dẫn tới tệp thực thi. Ví dụ về cách sử dụng phiên bản php thay thế 8.2:
/opt/php82/bin/php artisan list
Các lệnh Artisan cơ bản
Các lệnh nên được thực thi trong thư mục gốc của dự án của bạn (example.com trong ví dụ này)
cd /var/www/user/data/www/example.com
Để xem danh sách tất cả các lệnh Artisan khả dụng, bạn có thể sử dụng lệnh
php artisan list
Khởi chạy máy chủ phát triển Laravel cục bộ. Bạn có thể chỉ định các khóa --host và --port
php artisan serve
Bắt đầu migration
php artisan migrate
Bật chế độ bảo trì trên trang web, khóa --redirect=/ để chỉ định trang cho chế độ bảo trì
php artisan down
Tắt chế độ bảo trì trên trang web
php artisan up