開発環境:
クラウドサーバー:Alibaba Cloud (Centos7+Apache+php7+Mysql5.7+Laravel5.4)
ローカル:MacOS
1.ローカル環境でLaravelプロジェクトを作成する
# composer create-project laravel/laravel testLaravel "5.4.*"
その後、githubにソースファイルを置く。
.gitignore
ファイルに
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
/.idea
/.vagrant
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
.env
があるので、クラウドサーバーにgit cloneでソースを取得後、クラウドサーバーにnode_modules
vendor
.env
をもう一度作成する必要があります。
2.クラウドサーバーにgit clone でソースを取得し、composerをインストールする
# cd /var/www/html
# git clone https://xxxxxx
//cloneされたファイルに入る
# cd testLaravel
# composer install
//vendorが生成される
# ls -a
3.Apacheに関する設定
httpd.conf
を開いていくつか確認すべき項目があります。
こちらは他人の設定に参考して変更されるもので、必要に応じて変更してください。
vi /etc/httpd/conf/httpd.conf
以下の項目がありましたら、矢印の右の設定に変更しよう。
//CGI及びSSIが許される
Options Indexes FollowSymLinks->Options Includes ExecCGI FollowSymLinks
//.pl拡張子のスクリプトが許される
AddHandler cgi-script .cgi->AddHandler cgi-script .cgi .pl
//必ず変更してくだい
AllowOverride None->AllowOverride All
//ディレクトリツリーを表示させないように
Options Indexes MultiViews->Indexesを削除してください
//トップページのファイルを設置する(必要に応じて)
DirectoryIndex index.html index.html.var->DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var
KeepAlive Off->KeepAlive On
//これは必要に応じて
MaxKeepAliveRequests 100->MaxKeepAliveRequests 1000
4.Laravelの設定を補完する
Laravelドキュメントを見ると、いくつかの設定項目があります
1.Laravelをインストールした後に、多少のパーミッションの設定が必要です。storage下とbootstrap/cacheディレクトリをWebサーバから書き込み可能にしてください。
ディレクトリパーミッションをみる
# ls -l testLaravel
# ls -l bootstrap
ファイルパーミッションを変更する
# chmod -R 707 bootstrap/cache
# chmod -R 707 storage
2."次にインストール後に行うべきなのは、アプリケーションキーにランダムな文字列を設定することです。ComposerかLaravelインストーラを使ってインストールしていれば、php artisan key:generateコマンドにより、既に設定されています。
通常、この文字列は32文字にすべきです。キーは.env環境ファイルに設定されます。もし、.env.exampleファイルをまだ.envにリネームしていなければ、今すぐ行ってください。"
まず、クラウドサーバーのソースディレクトリに.envファイルを作成する
# touch .env
ローカルファイルの.env.exampleを開いて、内容を先新しく作成された.envファイルにコピーして保存。
次に、アプリケーションキーを生成する
# php artisan key:generate
以上で完了で、サーバーをおう一度起動する
# service httpd restart
http://あなたのIPアドレス/testLaravel/public/
を入力して訪問する。
APPENIDX:エラー対策:
1.Apacheのエラーログを見る
# vi /etc/httpd/logs/error_log
2.画面が真っ白、エラーメッセージが表示されない:
config/app.php
のdebugをtrue に
'debug' => env('APP_DEBUG', true),