Laravel ベースのサイトをインストールする方法
インストールは composer を使用して行います。 例として使用するドメインは example.com、サイトのユーザーは user です。
準備
Composer のインストール
FASTPANEL® の「Applications」セクションで composer を インストールします


Web サイトの作成
FASTPANEL® で Web サイトを作成し、サイト設定の「Site Directory」セクションで public サブディレクトリを指定します。

プロジェクトの作成
プロジェクトを作成するには、サイト所有者の情報を使用して SSH 経由でサーバーに接続する必要があります。 サイト所有者は 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 ファイルを編集するには、SSH 経由で nano というテキストエディターを使用できます:
nano .env
.env の例
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C
SSH 経由で ./config/database.php ファイルを編集するには:
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 バージョン用の PHP memcached モジュールをインストールし、あわせてアプリケーションもインストールする必要があります。
memcached PHP モジュールのインストール


memcached アプリケーションのインストール


設定ファイルの編集
ファイル ./config/cache.php に memcached への接続情報を指定します
./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,
],
],
],
システム以外の PHP バージョンで Artisan を使用する
システム以外の PHP バージョンで artisan を使用するには、実行ファイルへのフルパスを指定する必要があります。 代替の 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