XサーバーにLaravelをデプロイする方法

XサーバーにLaravelをデプロイした時のメモ。
Composerのインストール
composerがインストールされているか確認。
バージョンが低い場合、インストールされていない場合はインストールする。
※composerのバージョンが1系だと古くてエラーになる可能性がある。
ホームディレクトリにbinディレクトリを作成
公式からインストール
composer公式サイトにアクセスして、表示されているソースをコピーしてコマンドを実行する。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"
完了すると “composer.phar” が生成される。
ホームディレクトリの bin 内に composer.pharを移動し、composer にリネームする。
PATHを通す
.bash_profileを編集
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# PATH=$PATH:$HOME/bin
PATH=$HOME/bin:$PATH
export PATH
コメントアウト
PATH=$PATH:$HOME/bin
追加
PATH=$HOME/bin:$PATH
.bash_profileファイルを実行して記憶
確認
PHPバージョンの設定
PHPの設定には2つある。
①CLIのPHP(コマンドライン上で実行されるPHPプログラム)
②Webサーバーとして稼働した際利用されるPHP
※CLIのPHPのバージョンは、コマンドライン上で設定する。
※WEBサーバーで使われるPHPのバージョンは、サーバーのコントロールパネルで行う。
CLIのPHPバージョンの設定
CLIのPHPバージョンの確認
使えるバージョンの確認
こんな感じで使えるバージョンの一覧のパスが表示さる。
/opt/php-5.1.6/bin/php
/opt/php-5.3.3/bin/php
/opt/php-5.4.16/bin/php
/opt/php-5.4.40/bin/php
/opt/php-5.4.45/bin/php
/opt/php-5.5.24/bin/php
.
.
.
/opt/php-8.1.12/bin/php
/opt/php-8.1.2/bin/php
/opt/php-8.1.22/bin/php
/opt/php-8.1.29/bin/php
/opt/php-8.1.3/bin/php
/opt/php-8.1.32-2/bin/php
/opt/php-8.1.6/bin/php
/opt/php-8.1/bin/php
/opt/php-8.2.22/bin/php
/opt/php-8.2.28-2/bin/php
/opt/php-8.2.5/bin/php
/opt/php-8.2.9/bin/php
/opt/php-8.2/bin/php
/opt/php-8.3.10/bin/php
/opt/php-8.3.21/bin/php
/opt/php-8.3.7/bin/php
/opt/php-8.3/bin/php
/opt/php-8.4.12/bin/php
/opt/php-8.4/bin/php
binディレクトリの中にシンボリックリンクを作成する
cd ~/bin
ln -s /opt/php-8.3/bin/php ~/bin
ll
パスは先ほどもう通してあるのでこれで完了。
サーバーのPHPバージョンの変更
サーバーのPHPバージョンは、コントロールパネルから、同じバージョンにしておく。
MySQLを作成
コントロールパネルから、新規でDBを作成する。
ホスト名、DB名、ユーザー名、パスワードは控えておく。
Laravelプロジェクトの導入
公開ディレクトリに移動
git cloneする
プロジェクトディレクトリに移動
依存ライブラリのインストール
.envの設定
APP_NAME={アプリ名}
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL={ドメイン}
FILESYSTEM_DISK=public
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE={作成したDB名}
DB_USERNAME={作成したユーザー名}
DB_PASSWORD={作成したユーザーパスワード}
他にも設定があれば本番環境に編集する。
APP_KEYを生成して設定する
storageのシンボリックリンクを作成する
画像のパスをyourdomaincom/storage/でアクセスできるようにするために必要。
DB構造の作成
.htaccessの設定
プロジェクトディレクトリをドメインのルートで表示するために必要。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ app_name/public/$1 [QSA,L]
</IfModule>