サーバーにlaravelで作ったアプリを設置するときに若干詰まった。
結局シンプルな変更漏れっていうオチなんですけどね。
解決1
DOCUMENT_ROOTを設定するときにhttpd.confの設定で変更漏れがあった。
DocumentRoot /var/www/html/laravel-app/public ServerName example.com #<Directory "/var/www/html"> <Directory "/var/www/html/laravel-app/public"> # ←こっちも変更する ...
解決2
いざAPIを叩こうと思ったら以下のエラー。
ディレクトリの権限は変更済みだしなんでだろうと思って色々調べたら解決方法が出てきた。
.htaccessの先頭に以下を追加
Options +FollowSymLinks
Options +FollowSymLinks <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On ...
しっかりLaravelのドキュメントに書いてあったんだけどローカルでテストしていた時は出なかったエラーなのでちょっと詰まった。
Options +FollowSymLinks
は「シンボリックリンクを許可する」という設定だが、どうやらmod_rewriteが内部でシンボリックリンクを使っているので必要になるっぽい。(laravelとは無関係)
これもしっかりApacheのドキュメントに書いてあるんだよなあ...
まとめ
一回まとまった時間とってapacheやnginxとかhttpdとかインフラの基礎的なところ勉強しないとやばい。
あとやっぱりリリース作業まですると色々学ぶこと多いなあと思タヨ。