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

laravel

XサーバーにLaravelをデプロイした時のメモ。

 

Composerのインストール

composerがインストールされているか確認。

composer -v

バージョンが低い場合、インストールされていない場合はインストールする。

※composerのバージョンが1系だと古くてエラーになる可能性がある。

 

ホームディレクトリにbinディレクトリを作成

mkdir ~/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 にリネームする。

mv composer.phar $HOME/bin/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ファイルを実行して記憶

source .bash_profile

 

確認

composer -v

 

PHPバージョンの設定

PHPの設定には2つある。

①CLIのPHP(コマンドライン上で実行されるPHPプログラム)
②Webサーバーとして稼働した際利用されるPHP

 

※CLIのPHPのバージョンは、コマンドライン上で設定する。

※WEBサーバーで使われるPHPのバージョンは、サーバーのコントロールパネルで行う。

 

CLIのPHPバージョンの設定

 

CLIのPHPバージョンの確認

php -v

 

使えるバージョンの確認

find /opt/php-*/bin -type f -name '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プロジェクトの導入

公開ディレクトリに移動

cd ~/yourdomain.com/public_html/

 

git cloneする

git clone https://github.com/user/repository_name.git

 

プロジェクトディレクトリに移動

cd project_name

 

依存ライブラリのインストール

composer install

 

.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を生成して設定する

php artisan key:generate

 

 storageのシンボリックリンクを作成する

 画像のパスをyourdomaincom/storage/でアクセスできるようにするために必要。

 php artisan storage:link

 

DB構造の作成

php artisan migrate

 

.htaccessの設定

プロジェクトディレクトリをドメインのルートで表示するために必要。

 

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ app_name/public/$1 [QSA,L]
</IfModule>