質問: Raspbian Stretch Liteでnginxを用いたWebサーバー環境を構築して、WordPressをそこに引越ししようとセッティングしていて、WordPressのファイル諸々をnginxの設定ファイルで設定しているルートディレクトリに持ってきて、早速ブラウザーからアクセスしてみたのですが、「Access denied.」と表示されるだけで困っています。 nginxのエラーログを見てみたところ、 ``` 2017/12/26 10:57:13 [error] 4548#4548: *7 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 Unable to open primary script: /home/fugamaru/nginx/index.php (Permission denied)" while reading response header from upstream, client: 192.168.1.11, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "192.168.1.13" ``` このように表示されていました。Permission deniedということだったので、ルートディレクトリのアクセス権を777にしてみたのですが、変わりませんでした。 ルートディレクトリ(WordPressと同じディレクトリ)にphpinfoを表示するPHPファイルを置いてみたのですが、それは普通に見れました。 どなたか解決法を教えていただけないでしょうか。
回答: たぶん、`php-fpm`と`Nginx`を組み合たせているのだと思います。ふつう`/home/ユーザー名`はパーミッション`750`や`700`なので、Nginxからは見えません。ドキュメントルートを別のディレクトリに変更してください。 例えば、下記のようにしてNginxのドキュメントルートの変更を検討してください。 ※下記`fugamaru`:ログインユーザーのグループ名とする ``` #新しいドキュメントルート作成 sudo mkdir /home/webapp sudo chown nginx:fugamaru /home/webapp sudo chmod 775 /home/webapp cd /home/webapp #必要なWordPressなどすべて移動 mv /home/fugamaru/nginx ./ #オーナーを変更 sudo chown -R nginx:fugamaru ./nginx ls -alF ./ ``` 上記で解決できない場合は、Nginxの設定を確認してみてはいかがでしょうか? 下記では似たような構成でエラーが出てます。 また、`fastcgi_param`などの設定を正しく設定します。