../ |
---|
NginxとApacheの権限が競合しているようで、以下のようなWarningが出た。
Warning: session_start(): open(/var/lib/php/session/sess_cgc4v1d02oej4dp08u45ud3mkf, O_RDWR)
failed: Permission denied (13) in /opt/php74/webapps/.../xxx.php on line 40
また、WordPressを触っていると、以下のようなエラーも出た。wp-content/uploadsデイレクトリの権限が足らないようだ。
ディレクトリ wp-content/uploads/2022/06 を作成できません。
この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?
ネット情報を参考に、www
というユーザーとグループを作成して、それを統一的に使うようにした。その方が無難と判断した。
$ useradd -s /sbin/nologin -M www
$ cat /etc/passwd
...
www:x:1004:1004::/home/www:/sbin/nologin
修正が必要な設定ファイルは、以下のとおり。ユーザがapacheやnginxになっていた箇所をwww
に置き換えた。
$ vi /etc/php-fpm.d/www.conf
;user = apache
user = www
;group = apache
group = www
;listen.owner = apache
listen.owner = www
;listen.group = apache
listen.group = www
;listen.acl_users = apache,nginx // ここはコメントアウトしておく
;listen.acl_groups =
$ vi /etc/nginx/nginx.conf
# user nginx;
user www;
$ vi /etc/httpd/conf/httpd.conf // httpdは現在停止中だが、念のため
# User apache
User www
# Group apache
Group www
該当するファイルやディレクトリの権限も変更しておく。
$ cd /var/lib/php // 冒頭のWarningの元なので変更しておく
$ chown -R www:www .
$ cd /var/www/html // 使っていないが、念のため
$ chown -R www:www .
$ cd /opt/php74/webapps // こちらを使っている
$ chown -R www:www .
$ cd /opt/php74/webapps/wordpress/wp-content
$ chmod 775 uploads
サービスを再起動する。(※httpdは、現在停止中)
$ systemctl restart nginx
$ systemctl restart php-fpm
../ |
---|