LoginSignup
1
0

More than 3 years have passed since last update.

ChonohaVPSのCentOS7にLaravelアプリをデプロイ

Last updated at Posted at 2020-07-04

さくらのレンタルーサーバで運用していたものをChonohaVPSに移管しようとしたらハマりまくったので、覚えていることをメモ。

コンポーザの入れ忘れ

プロジェクトフォルダだけ持っていってもLaravelは動かない。
開発は手元のローカル端末でやってGitにアップロードしたものをCloneするだけだから、サーバ側にはコンポーザはいらないかと勘違いしていた。
公開して閲覧できるようにするためにもコンポーザは必要なので、インストールする。

なんだかわからないけど500

500だからファイルはあるんだろうけど、ブラウザにはそれしか書いていないし、開発ツール開いても何もヒントがない。
付近のフォルダで、フレームワークのない単独のphpファイルが動いているのでlaravelの何かがおかしいと思うんだけどエラー内容がわからなくて途方にくれた。

最終的にはアパッチのエラーログをtail -fしてブラウザをリロードしたら問題のパスがログに出てきたので修正したら治った。

/var/log/httpd/ に ログがあるのでそれのどっかにあった。どれか忘れたけど、とにかく謎の500でハマったらこの辺のログを tail -f で監視するとヒントがあるかも。

アプリ名/public/index.php の中にララベルのpublic以外のフォルダへのパスが書いてあるのでそれを合わせる。
参考にしたページの通りに書いたのだが、ディレクトリ構成が自分と違ったのでパスがズレた。
その方の場合はpublicフォルダを公開フォルダの/var/www/html へ mv で移動して読めるようにするやり方だったのでindex.phpをいじる形になっていたけど、自分は ln -sで 公開フォルダからソフトリンクでパスをつなぐやり方にしたので、デフォルトのまま触ったらダメだった。

DBの設定が間違っている

ここで、見慣れたLaravelの綺麗なエラー画面になった。
whoops!とか出るやつ。
ここまできたら後一息って感じ。

.envの設定が間違っていた。
ホスト名にサーバのipアドレスを書いたけど、localhostが正しかった。
ただし私の場合はってだけで必ずしもそうではない。
私の場合、同じサーバにDBを構築しているので、そこのサーバ側から見るとlocalhostになるってことで、決して手元の操作端末という意味ではない。
phpMyAdminでDBを見ると接続しているホスト名が表示されているので、これに合わせると多分繋がるはず。
私の場合はここがlocalhostと表示されているのがヒントになって上記の対応をした。

トップページしか表示されない

紆余曲折してやっとトップページが表示できたと思ったら、今度はそこしか見れない。
/etc/httpd/conf を vi で開いて
/var/www/ と /var/www/html/
のところにある
AllowOverride None を AllowOverride All に変更する。
オーバーライドを許可するだから、多分 web.php でルーティングできるようにするって事かな?
あれが多分URLを上書きしているって事だろう。

これで動いた。
丸一日かかった・・

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0