LoginSignup
0
0

More than 1 year has passed since last update.

NginxとApacheの競合を避けて、wwwユーザに統一した

Last updated at Posted at 2022-06-23
../

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
../
0
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
0
0