XServer に Laravel のプロジェクトを Git(CodeCommit) からデプロイする

スポンサーリンク
スポンサーリンク
環境

・XServer (プラン:X10)
・Laravel 5.6、5.7
・PHP 7.2.17
・Git (CodeCommit)

Git インストール

インストール状況を確認します。


$ git --version
git version 1.8.3.1

インストールされているようなので、こちらをこのまま利用します。

CodeCommit 接続設定

今回は、すでに検証環境で利用していたアカウント情報を使用するため、~/.ssh 配下に秘密鍵を設置し、config ファイルを作成します。


$ vi ~/.ssh/config

SSH 接続情報として、以下を追加します。


Host git-codecommit.*.amazonaws.com
     User SSHキーID
     IdentityFile ~/.ssh/codecommit
コマンドから実行するPHPバージョン確認

$ php -v
 PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51) 
 Copyright (c) 1997-2013 The PHP Group
 Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
     with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies

Laravel 5.6、5.7 共にPHPバージョンの7.1.3以上が必要となり、バージョン が足りていないとcomposer install 時にエラーとなります。


$ composer install
 Loading composer repositories with package information
 Installing dependencies (including require-dev) from lock file
 Your requirements could not be resolved to an installable set of packages.
Problem 1
     - This package requires php ^7.1.3 but your HHVM version does not satisfy that requirement.
   Problem 2
     - Installation request for laravel/framework v5.8.7 -> satisfiable by laravel/framework[v5.8.7].
     - laravel/framework v5.8.7 requires php ^7.1.3 -> your PHP version (7.1.2) does not satisfy that requirement.

利用可能なPHPのバージョン を確認します。


$ find /opt/php-*/bin -type f -name 'php'
 /opt/php-5.1.6/bin/php
 /opt/php-5.3.3/bin/php
〜省略〜
 /opt/php-7.2.14/bin/php
 /opt/php-7.2.16/bin/php
 /opt/php-7.2.17/bin/php
 /opt/php-7.2.20/bin/php
 /opt/php-7.2.6/bin/php
 /opt/php-7.2/bin/php
 /opt/php-7.3.4/bin/php
 /opt/php-7.3.8/bin/php
 /opt/php-7.3/bin/php

XServerのコントロールパネルで設定しているバージョン と同じ7.2.17を設定します。

HOME直下にbinディレクトリを作成し、該当バージョンのディレクトリとシンボリックリンクをはります。


$ mkdir $HOME/bin
$ ln -s /opt/php-7.2.17/bin/php $HOME/bin/php

パス設定


$ vi ~/.bash_profile
# 以下を追加し、保存
export PATH=$HOME/bin:$PATH

編集を反映させます。


$ source ~/.bash_profile

PHPのバージョンを確認します。


$ php -v
 PHP 7.2.17 (cli) (built: Apr 13 2019 01:04:33) ( NTS )
 Copyright (c) 1997-2018 The PHP Group
 Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

無事にバージョンアップできているため完了

ソースコードクローン

ドメイン名のディレクトリ配下にソースコードを配置していきます。


$ cd /home/path/domain.com/
$ git clone <リポジトリURL> project
Laravelセットアップ

.env ファイルを設定していきます。


$ cp .env.example .env
$ vi .env

内部で使用するAPP_KEY を生成します。


$ php artisan key:generate

ログファイルやキャッシュのディレクトリのパーミッションを 777 に設定します。


$ chmod -R 777 storage
$ chmod -R 777 bootstrap/cache/

マイグレーション実行し、テーブルを作成します。


$ php artisan migrate

必要な場合には、シーディングを実施します。


$ php artisan db:seed
公開ディレクトリ(public_html)設定

クローンしたプロジェクトの public ディレクトリとサーバーのドキュメントルートとのシンボリックリンクを設定します。


/home/path/domain.com
   project/ ← Laravel アプリのディレクトリ
     app/
     bootstrap/
     public/
     ~省略~
   public_html/
     .htaccess
     public ← ../project/public/ へのシンボリックリンク

$ ln -s /home/path/domain.com/project/public ./public

.htaccess を開きリライトの設定を行い、すべてのリクエストを同階層の public 以下に書き換えるだけの設定です。


$ cd /home/path/domain.com/public_html
$ vi .htaccess

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

コメント

タイトルとURLをコピーしました