このセクションでは、WordPress で出た“・・・/php/session/* failed: Permission denied ” の警告への対処について紹介していきます。

この警告は、WordPress 環境を CentOS から AlmaLinux へ移行した時に WordPress プラグインの環境で発生しました。

[原因]
PHP セッションに関わるファイルへのアクセス権限がないことが原因

[確認]
原因となるディレクトリのアクセス権限を確認してみた結果、所有者グループが apacheになっていました。AlmaLinux mini でもデフォルトで apache がインストールされており、対象となるディレクトリは apache が所有者グループになっているようです。

[user@pub-web ~]$ sudo ls -la /var/lib/php/
drwxr-xr-x.  6 root root     68 Aug 13 21:46 .
drwxr-xr-x. 26 root root   4096 Aug 15 04:10 ..
drwxrwx---.  2 root apache    6 Feb 28 04:12 opcache
drwxr-xr-x.  2 root root      6 Feb 28 04:12 peclxml
drwxrwx---.  2 root apache  4096 Aug 18 00:03 session
drwxrwx---.  2 root apache    6 Feb 28 04:12 wsdlcache
[user@pub-web ~]$ 

[user@pub-web ~]$ sudo ls -la /var/lib/php/session/
ーー(省略)ーー
-rw-------. 1 root apache   39 Aug 17 23:28 sess_s8esrjevf3qe6u5m7jo0do8rfr
-rw-------. 1 root apache   39 Aug 17 13:16 sess_t6got6fifkd316kj2ni2nrttov
-rw-------. 1 root apache   39 Aug 17 12:48 sess_tje57it0r3op86naq6ig0s2vm5
-rw-------. 1 root apache   39 Aug 17 16:27 sess_uoimbs6g9bd8vkau3d2p408ekj
[user@pub-web ~]$ 

[対処]
原因となるディレクトリのアクセス権限を変更します。Webサーバーとしては Nginx を使用しているため、所有者グループを apache から Nginx 起動ユーザーである nginx に変更します。

[user@pub-web ~]$ sudo chown -R root:nginx /var/lib/php/
[user@pub-web ~]$ 
[user@pub-web ~]$ sudo ls -la /var/lib/php/session/
total 196
drwxrwx---. 2 root nginx 4096 Aug 18 00:03 .
drwxr-xr-x. 6 root nginx   68 Aug 13 21:46 ..
-rw-------. 1 root nginx   95 Aug 18 00:56 sess_26hpqh7ridt4ivraf34qpe3bkp
-rw-------. 1 root nginx   39 Aug 17 18:25 sess_2rq4geaehfoh1v7k9jfhjn681m
-rw-------. 1 root nginx   39 Aug 17 20:57 sess_3u5ummve39q37mjekvmnqr6jbj
-rw-------. 1 root nginx   39 Aug 17 17:37 sess_3vn3pdelp3qsaje8jifdq3m4n9
-rw-------. 1 root nginx   39 Aug 17 21:36 sess_61b8fdbbiee4oofjakb635e1k6
-rw-------. 1 root nginx   39 Aug 17 13:02 sess_6j6gjar9c5ml82r32gsg5jhqel
-rw-------. 1 root nginx   39 Aug 17 22:39 sess_6lcl3f6c2sjspp1nmr6qgofvj9
-rw-------. 1 root nginx   39 Aug 17 15:03 sess_6pkli1huepgoifqrpdu4p09amo
ーー(省略)ーー
[user@pub-web ~]$