魔法使いの卵

WEBエンジニアの卵の成長記録

Laravel5.1をCentOS7 + Nginx + php-fpmで動かしてハマった話

環境について

raichel.hatenablog.com

  • 上記の環境で、ある問題が発生した。

Laravel5.1が表示されない

  • php-fpmとnginxはともに動いている
  • 192.168.33.10/phpinfo.phpで表示される
  • laravel5.1だけ表示されない
  • 403が帰ってきていた

設定ファイルをみてみる

  • default.conf(nginx)
    • 最小構成で設定していた。
    • nginx自体を詳しく理解していない為、nginxが原因かとおもった。
server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location ~ \.php$ {
         # root html;
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
         include fastcgi_params;
    }
}

server {
    listen       80;
    server_name  vagrant.laravel5;
    root   /vagrant/dev/laravel5.1/public;

    location / {
        index  index.html index.htm index.php;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /vagrant/dev/laravel5.1/public$fastcgi_script_name;
        include        fastcgi_params;
    }
}
  • www.conf(php-fpm)
    • 設定ファイルが長すぎる為触ったところだけ
    • php-fpmの設定が足りないのかな?とphp-fpmを疑った。
23 user = nginx
25 group = nginx
49 listen.owner = nginx
50 listen.group = nginx

結局、原因はなんだったの?

どうやって気づいたの?

  • Nginxで動かせない為一旦Apacheに移行

    • あれapacheでも動かない
    • SElinuxかもしれない←ここで初めてSElinuxの存在を思い出す
    • Apacheで無事にLaravel5.1表示できた。
  • Nginxの環境を作り直しSElinuxによる制限を一時的に解除する

    • setenforce 0

  • 確か念の為に各再起動を行いブラウザで確認したら表示されてた。

なんでこれ書いたの?

  • laravel5が表示されない!もしくはphpが動かない!困ってる人へ
  • 記憶力が悪い自分への
    • 設定をちゃんと書いても403の時はselinuxのことも疑ってあげてほしい。