はじめに
ConoHa(Rocky Linux 8)で運用していたシステムをXserver(Rocky Linux 9)で運用することになりました。
このシステムでは、nginx.conf などをユーザーから上書きして反映しています。
しかし、ConoHa で動作していたシステムが Xserver では nginx の Permission denied で動作しませんでした。
環境
移行元:
VPS:ConoHa
OS:Rocky Linux 8.6
移行先:
VPS:Xserver
OS:Rocky Linux 9
問題
nginxがPermission deniedで動作しない。
ログ:
# systemctl restart nginx
Redirecting to /bin/systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
#
#
# systemctl status nginx.service
× nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2022-10-24 07:08:29 JST; 25s ago
Process: 24801 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 24802 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
CPU: 8ms
Oct 24 07:08:29 x162-43-5-109 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 24 07:08:29 x162-43-5-109 nginx[24802]: nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13: Permission denied)
Oct 24 07:08:29 x162-43-5-109 nginx[24802]: nginx: configuration file /etc/nginx/nginx.conf test failed
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Killing process 19240 (nginx) with signal SIGKILL.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Killing process 19240 (nginx) with signal SIGKILL.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Failed with result 'exit-code'.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Unit process 19240 (nginx) remains running after unit stopped.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
```
Permission:
# ls -la /etc/nginx/ |grep nginx.conf
-rw-r--r--. 1 testuser testuser 2230 Oct 24 06:56 nginx.conf
-rw-r--r--. 1 root root 2656 May 16 23:47 nginx.conf.default
-rw-r--r--. 1 root root 2334 Oct 24 06:38 nginx.conf.org
対策
SELinux の無効化が対策となります。
Rocky Linux は無関係であり、Xserver VPS のデフォルトが SELinux 有効になっていることが原因でした。
けっこう詰まりました。。。
手順
現在のSELinuxの設定を「setenforce 0」で無効化します。
# getenforce
enforcing
# setenforce 0 <=== 無効化
# getenforce
Permissive
この状態で問題が解消されるか確認します。
# systemctl restart nginx
永久にオフにする場合は、設定ファイルを書き換えます。
# cp /etc/selinux/config /etc/selinux/config.org
# vi /etc/selinux/config
enforcing となっている部分を disabled に書き換えます。
/etc/selinux/config:
#SELINUX=enforcing
SELINUX=disabled
再起動して設定が反映しているか動作を確認します
# reboot
# getenforce
disabled
以上です。
コメント