phpMyAdmin構築からしばらく時間がたった時にブラウザで接続しようとしたら、エラーが出て接続できなかった(確かエラー内容はInternal Server Error)
php-fpmのsockの所有者をh2oに設定していたのだが、php-fpmが定期的に再起動されており、その都度所有者がrootに戻ってしまっていることが原因らしい
所有者が変わらないように恒久的な設定を行う
configの編集
cp /etc/php-fpm.d/www.conf{,.org} vi /etc/php-fpm.d/www.conf
変更箇所その1
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = apache ; RPM: Keep a group allowed to write in log dir. group = apache
下記の通りuserとgroupをh2oに変更
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = h2o ; RPM: Keep a group allowed to write in log dir. group = h2o
変更箇所その2
; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. ; Default Values: user and group are set as the running user ; mode is set to 0660 ;listen.owner = nobody ;listen.group = nobody ;listen.mode = 0660 ; When POSIX Access Control Lists are supported you can set them using ; these options, value is a comma separated list of user/group names. ; When set, listen.owner and listen.group are ignored listen.acl_users = apache,nginx
下記の通りlisten.~を変更
listen.acl_users が設定されているとlisten.ownerとlisten.groupが無視されるとのことなので、listen.acl_usersのコメントアウトを忘れないようにする
; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = h2o listen.group = h2o ;listen.mode = 0660 ; When POSIX Access Control Lists are supported you can set them using ; these options, value is a comma separated list of user/group names. ; When set, listen.owner and listen.group are ignored ;listen.acl_users = apache,nginx
php-fpm再起動
systemctl restart php-fpm systemctl status php-fpm
phpMyAdmin接続
接続すると、下記のようにエラーがいっぱい出る
どうやらまだ権限周りで設定足りていないところがありそうなので引き続き修正していく
/var/lib/phpMyAdminの権限変更
以前別のサーバーでnginxで構築してた際、/var/lib/phpMyAdminフォルダ以下の権限をnginxに変更していたので、それにならって今回はh2oで設定する
ll /var/lib/phpMyAdmin/ 合計 20 drwxr-x--- 2 apache apache 4096 2月 26 10:48 cache drwxr-x--- 2 apache apache 4096 2月 24 16:56 config drwxr-x--- 2 apache apache 4096 2月 24 16:56 save drwxr-x--- 3 apache apache 4096 3月 3 11:47 temp drwxr-x--- 2 apache apache 4096 2月 24 16:56 upload
chown h2o. /var/lib/phpMyAdmin/*
ll /var/lib/phpMyAdmin/ 合計 20 drwxr-x--- 2 h2o h2o 4096 2月 26 10:48 cache drwxr-x--- 2 h2o h2o 4096 2月 24 16:56 config drwxr-x--- 2 h2o h2o 4096 2月 24 16:56 save drwxr-x--- 3 h2o h2o 4096 3月 3 11:47 temp drwxr-x--- 2 h2o h2o 4096 2月 24 16:56 upload
再度phpMyAdminに接続
再度接続してみる
エラーが無事消えました
コメント