この記事のタイトル

KUSANAGIでLaravelを動かしてみる

福田拓朗

この記事では、KUSANAGIにおいてLAMPモードを使ってプロビジョンし、簡単に高速なLaravelを構築する方法をご紹介します。

プライム・ストラテジーの福田です。
KUSANAGIは超高速CMS実行環境と謳うとおり、WordPressなどを始めとするCMSを簡単かつ高速に実行できるように設計されていますが、アプリケーションフレームワークや、静的サイトもデプロイできるようになっています。

今回は、LAMPオプションを使ってLaravelのデフォルトページを表示するところまでこぎつける方法をご紹介します。

想定する環境

今回は、開発環境での運用を想定して以下の構成で構築します。

  • OS: KUSANAGI 9
  • ドメイン名: mydomain.example.com (HTTPSなし)
  • プロファイル名: myartisan
  • RDBMS: MySQL
  • データベース名: laravelmydom
  • データベースユーザー名: laravelmydom
  • データベースパスワード: Pa..w0rd
  • コマンド実行ユーザー: kusanagi

Laravel構築の準備をする

まずはなによりもプロファイルのセットアップが必要になります。これは、以下のコマンドで完了できます。

kusanagi provision --lamp --fqdn mydomain.example.com --noemail --dbname laravelmydom --dbuser laravelmydom --dbpass Pa..w0rd myartisan

上記のコマンドを実行すると、/home/kusanagiの下にmyartisanという名前でディレクトリが作成され、その中にドキュメントルートやログディレクトリが作成されます。また、kusanagi initで指定した既定のRDBMSにlaravelmydomという名前でデータベースとユーザーが作成されます。

また、KUSANAGIのprovisionコマンドの他のオプション解説については、こちらのリンクをクリックして確認できます。

ここまで実行したら、次のステップである、Laravelの導入へと進みます。

Laravelの導入

前のステップまでで、すでにサイトへのアクセスは可能となっています。
ですが、もちろん中身はまだ空なのでLaravelの画面は表示されません。そこで、Laravelをダウンロードしてファイルを設置します。
KUSANAGIにはcomposerが標準で入っているので、以下のコマンドを実行して構築します。

cd ~kusanagi/myartisan
composer create-project laravel/laravel laravel-app

しかし、これだけでは以下の理由によりまだ動作しません。

  • Laravelの本体が別ディレクトリに配置されていること
  • LaravelのドキュメントルートはKUSANAGI標準とは異なること

これを解決するため、先程のコマンドに続いて、以下のコマンドを実行してください。

rm -r DocumentRoot
ln -s laravel-app/public DocumentRoot

このコマンドでは、KUSANAGIの規定のドキュメントルートディレクトリを削除し、Laravelのドキュメントルートディレクトリへのシンボリックリンクに置き換えるように張ります。

以上を実行し、サイトにアクセスすると、以下に示すスクリーンショットのような画面が表示されるはずです。

Laravelがうまく動作している場合のデフォルトページ画像

データベースのセットアップ

データベース接続するためには、環境変数ファイルを書き換える必要があります。
これをするためには、お好みのエディタでlaravel-app/.envを開き、適切な値になるよう、以下のように書き換えます:

APP_URL=http://mydomain.example.com
DB_DATABASE=laravelmydom
DB_USERNAME=laravelmydom
DB_PASSWORD=Pa..w0rd

以上のように書き換えたら、保存してDBと通信ができるかどうかを確認します。このためには、以下のコマンドを実行してください:

cd laravel-app
php artisan migrate

以下のように、すべてのマイグレーションでDONEと出ていればOKです。

migrationのスクリーンショット

まとめ

ここまですれば、あとはいつも通り開発やデプロイをしていくことができます。
なお本番で利用する場合はHTTPSの利用など、他に注意するべきベストプラクティスがあります。
詳しくはLaravelの設定や、デプロイ時の注意事項などの、公式ドキュメントも合わせてご確認ください。
Laravelも高速に実行できる環境、KUSANAGIをぜひお試しください。

<< KUSANAGI 9 の環境で Bedrock を使用するAzureでのアカウント間VM(仮想マシン)の複製方法 >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解