私がPHPでWebアプリケーションを作るときはフレームワークとしてLaravelを使っています。
基本的にはVPSを使っているので特に制約なくインストールできるのですが、これがレンタルサーバー上だとどうなるのか。
試しにインストールしてみましたので記事にまとめたいと思います。
尚、作業はレンタルサーバーにSSHでログインした状態で行います。
Laravelとは
Laravelは、MVCのWebアプリケーション開発用の無料・オープンソースのPHPで書かれたWebアプリケーションフレームワークである。
LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている。
マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発し、Taylorを中心としたコミュニティーが活発な開発を続けている。出典: フリー百科事典『ウィキペディア(Wikipedia)』
大まかな流れ
- Composerのインストール
- Laravelのインストール
- ドキュメントルートの設定
Composerのインストール
Laravel本体のインストールやPHPの依存関係管理のためにComposerを使うのでまずはこれをインストールします。
composer --version
上記コマンドを入力して、バージョン情報が返ってくる場合は既にインストールされているのでこの手順は不要です。
- Composerの公式サイトに手順が載っているのでそれに従います。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
一応抜粋したものを記載しておきますが、インストーラーのハッシュ値などは変わる可能性がありますのでご注意ください。
- 下記のコマンドでパスを確認し、パスの通ったディレクトリにComposer本体を移動させると同時に名前も変更します。
echo $PATH
その中の適当なディレクトリに下記のコマンドで移動させて名前を変更します。
mv composer.phar 移動したいパス/composer
- ホームディレクトリなどに移動して下記コマンドを実行して動作確認をします。
composer --version
バージョン情報が返ってくればインストールは完了です。
Laravelのインストール
Composerが使えるようになったらLaravel本体のインストールをします。
- 下記コマンドを実行してLaravel本体をインストールします。
composer create-project laravel/laravel example-app
コマンドを実行したディレクトリ配下に「example-app」というディレクトリが作られ、そこにLaravel本体が配置されます。
example-appはプロジェクトに応じた名前を適宜指定してください。 - Laravelのディレクトリ(上記例だとexample-app)に移動後、下記コマンドを実行してパーミッションの変更をします。
chmod -R 777 storage
- 下記コマンドを実行してApplication key(APP_KEY)の設定をします。(.envファイルに書き込まれます)
./artisan key:generate
- 下記コマンドを実行して動作確認をします。
./artisan --version
バージョン情報が返ってくればインストールは完了です。
ドキュメントルートの設定
LaravelのドキュメントルートはLaravelがインストールされたディレクトリ配下の「public」になります。
レンタルサーバーのドキュメントルートはホスティング業者によって違いますが、ConoHa WINGの場合は「public_html/当該ドメイン名」になります。
各ドメインのドキュメントルートを自由に設定出来る場合は「public」を割り当てればいいのですが、WINGの場合は前述の通り決まっていますので一工夫必要になります。
具体的にはシンボリックリンクを使います。
- 「当該ドメイン名」ディレクトリは「public」ディレクトリを参照するように設定します。(一例として下記コマンドを実行します)
ln -s example-app/public public_html/当該ドメイン名
- 「https://当該ドメイン名」にアクセスしてLaravelの初期画面が表示されれば設定は完了です。
環境によってはpublicディレクトリ内の「.htaccess」が影響してうまく表示されないこともあるようなのでそういう場合はいったん「.htaccess」をリネームしてみてください。
まとめ
今回はひとまずLaravelの初期画面を表示できるようにしてみました。
インストールそのものは簡単なんですが、ドキュメントルートの設定がちょっとややこしいかなという感じを受けました。
サブドメインやサブディレクトリを使った場合とか、ブログシステム(WordPress)と併用する場合とか、状況によっては更なる設定が必要になる可能性がありますね。
このあたりはまた機会があったら調べて記事にしてみたいと思います。
コメント