はじめに
レンタルサーバのXREAにLaravel5.5をインストールした。その時のメモ。
LaravelはPHP向けのWebアプリケーションフレームワーク。2019年1月時点では5.7が最新版だが、今回はLTS版である5.5をインストールする。
Laravel5.5には、バージョン7.0以上のPHPが必要だが、XREAは標準の設定でPHP7.0が使える(確認したサーバでは7.0.32だった)ので条件を満たしている。
Laravelのインストールには依存管理ツールのComposerが必要なのでこれもインストールする。
インストールの流れ
XREAでインストールするためには、SSH接続IP許可を設定してターミナルに接続する必要があるがその手順は割愛する。SSHでターミナルに接続したところをスタートにして、以下の流れでインストールする。
- 必要なディレクトリの作成
- Composerのインストール
- Laravelのインストール
- 公開ディレクトリへのリンク
必要なディレクトリの作成
Laravelや、Laravelのインストールに必要なComposerを格納するためのディレクトリを、ホームディレクトリの直下に作成する。
-bash-4.2$ cd ~
-bash-4.2$ mkdir laravel
Composerのインストール
作成したディレクトリ内で、Download Composerに従ってComposerをインストールする。
- XREAでは、使用するCLI版PHPのコマンド名が
php
ではなく、phpcli
であることに注意。 - 3番目の手順でハッシュ値をチェックしているが、この時の期待値はバージョンによって異なるので注意。インストール時点での前述のDownload Composerに記載された値で置き換える。
-bash-4.2$ cd laravel
-bash-4.2$ phpcli -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
-bash-4.2$ phpcli -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
-bash-4.2$ phpcli composer-setup.php
-bash-4.2$ phpcli -r "unlink('composer-setup.php');"
Laravelのインストール
Composerのcreate-project
コマンドを実行してLaravelをインストールする。myproject
は任意のプロジェクト名で、指定した名称のディレクトリが直下に作成される。
- XREAでは
register_argc_argv
がオフのため、-d
オプションでオン(=1)に設定する。 - XREAは開発環境ではなくデプロイ先サーバとするので、
--no-dev
をつける。ユニットテスト用のパッケージなど開発でのみ必要なものをインストールしない。そのため依存関係の警告が表示されなくなる。
-bash-4.2$ phpcli -d register_argc_argv=1 composer.phar create-project --no-dev --prefer-dist laravel/laravel myproject "5.5.*"
公開ディレクトリへのリンク
ここまでの手順で公開ディレクトリは~/laravel/myproject/public
に生成されるので、ドキュメントルートからリンクする。
- XREAでは
~/public_html/サブドメイン
がドキュメントルートとなる。ここではmyproject.example.net
がサブドメインの場合の例で示す
-bash-4.2$ cd ~/public_html
-bash-4.2$ ln -s ~/laravel/myproject/public myproject.example.net
確認
http://myproject.example.net にアクセスして、LaravelのWelcomページが表示されれば完了。
参考資料
- Laravel Release Process: Laravelのリリース来歴
- Laravel 5.5 インストール: 必要なPHPのバージョン, Composerを使ったインストール
- PHPコマンドラインオプション: PHPCLI実行時の設定値の変更
- XREAでLaravel5.6を導入する方法
- LaravelをCORESERVER(XREA)で動かす