福岡拠点の香月です。
前回まででLaravel実行におけるインフラ整備が終わりました。
今回はLaravelプロジェクトの作成です。
環境は引き続きこちらで構築したCentOS上です。
Windowsのコマンドプロンプトを立ち上げて次のコマンドでCentOSを起動。
1 |
C:\vm\centos72>vagrant up |
ターミナルソフトでローカルポート2222にsshでアクセスします。
以降の操作はターミナル上で行います。
実行ユーザーはvagrantです。実行はホームディレクトリで行いました
プロジェクトを作成するには次のコマンドを実行します。プロジェクト名は「scoresheet」とします。
1 |
# composer create-project "laravel/laravel" scoresheet |
以下が出力されます。
1 2 3 4 5 6 |
Installing laravel/laravel (v5.6.21) - Installing laravel/laravel (v5.6.21): Loading from cache : : > @php artisan key:generate Application key [base64:qearp8v/iqgPEEoRZjcnwFlg5ge06kWWnsAScNSaWJg=] set successfully. |
カレントディレクトリに「scoresheet」というフォルダが作成され、そこにLaravelの構成ファイルが作成されます。
このコマンドでは最新バージョンがインストールされますが、プロジェクトによってはバージョンを指定してインストールしなければならないことがあります。例えば5.1をインストールする場合はこう。
1 |
# composer create-project "laravel/laravel=5.1.*" scoresheet |
バージョンの3桁目は必ず*にしましょう。
インストールされたバージョンは次のコマンドで確認できます。作成されたディレクトリに移動して実行しましょう。
1 2 |
# php artisan -V Laravel Framework version 5.1.46 (LTS) |
プロジェクトの作成コマンドとして本家サイトでは「# laravel new <プロジェクト名>」があります。しかしWindows環境では正しく動作しない報告が沢山あるようなので、「# composer create-project」コマンドで統一するのが良いようです。
次はWebサーバーの設定です。rootになって作成したディレクトリをWebサーバーのディレクトリの下に移動します。
1 2 |
# sudo -s # mv /home/vagrant/scoresheet /etc/httpd/scoresheet |
/etc/httpdはvagrantユーザーには書き込み権限がないため、rootで作業します。
ユーザーvagrantで/etc/httpdに移動して直接「composer create-project」コマンドを実行すればいいのでは?とも考えますが、vagrantには/etc/httpdへの書き込み権限がないためLaraveのプロジェクトの種ファイル であるhttp://cabinet.laravel.com/latest.zip のダウンロードに失敗してしまいます。
続けてLaravelホームをWebのルートにするためにhttpd.conを編集します。
1 2 3 4 5 6 7 8 9 |
# vi /etc/httpd/conf/httpd.conf DocumentRoot "/etc/httpd/scoresheet/public" <Directory "/etc/httpd/scoresheet/public"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> |
※厳密にはWebサーバーのディレクトリ以下に必ずしも移動させるひつようはありません。httpd.confの設定でLaravelディレクトリへのエイリアスを設定し、そこをDocumentRootに設定するのでもいいでしょう。
次にWebサーバーがLaravelのstorage、bootstrap/cacheディレクトリに書き込みできるようにパーミッションを調整します。
1 2 |
# cd /etc/httpd/scoresheet # chmod -R 777 storage bootstrap/cache |
最後にWebサーバーを再起動します。
1 |
# systemctl restart httpd |
再起動が完了したらホストOS(Windows)上のブラウザからルートにアクセスします。
http://localhost:8080/
Laravelロゴが表示されれば完成です。