PHP
Linux
MySQL
Apache
laravel

【備忘録】クラウドサーバーを使ってみる(2)--Alibaba Cloud でLaravelを導入する

開発環境:
クラウドサーバー: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),