Nginxは現在、ユーザー「nginx」として実行するように設定されています。
[root@localhost whmcs]# grep user /etc/nginx/nginx.conf
user nginx;
PHP-FPMは、「nginx」ユーザーとしても実行するように設定されています。
[root@localhost whmcs]# grep '^user\|^group' /etc/php-fpm.d/www.conf
user = nginx
group = nginx
彼らは間違いなく「nginx」ユーザーとして実行されています:
[root@localhost whmcs]# ps aux | grep nginx | grep -v grep
nginx 55067 0.0 0.2 355128 9568 ? S 15:54 0:00 php-fpm: pool www
nginx 55068 0.0 0.3 359488 13976 ? S 15:54 0:00 php-fpm: pool www
nginx 55069 0.0 0.2 355128 9596 ? S 15:54 0:00 php-fpm: pool www
nginx 55070 0.0 0.3 359508 13952 ? S 15:54 0:00 php-fpm: pool www
nginx 55071 0.0 0.3 358712 13200 ? S 15:54 0:00 php-fpm: pool www
nginx 55229 0.0 0.3 358456 12896 ? S 15:54 0:00 php-fpm: pool www
root 62624 0.0 0.0 60572 1288 ? Ss 16:15 0:00 nginx: master process /usr/sbin/nginx
nginx 62625 0.0 0.0 63096 2688 ? S 16:15 0:00 nginx: worker process
nginx 62626 0.0 0.0 63096 2204 ? S 16:15 0:00 nginx: worker process
nginx 62628 0.0 0.0 63096 2204 ? S 16:15 0:00 nginx: worker process
nginx 62629 0.0 0.0 63096 2204 ? S 16:15 0:00 nginx: worker process
PHP-FPMも:
[root@localhost whmcs]# ps aux | grep php-fpm | grep -v grep
root 55064 0.0 0.2 352152 11584 ? Ss 15:54 0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 55067 0.0 0.2 355128 9568 ? S 15:54 0:00 php-fpm: pool www
nginx 55068 0.0 0.3 359488 13976 ? S 15:54 0:00 php-fpm: pool www
nginx 55069 0.0 0.2 355128 9596 ? S 15:54 0:00 php-fpm: pool www
nginx 55070 0.0 0.3 359508 13952 ? S 15:54 0:00 php-fpm: pool www
nginx 55071 0.0 0.3 358712 13200 ? S 15:54 0:00 php-fpm: pool www
nginx 55229 0.0 0.3 358456 12896 ? S 15:54 0:00 php-fpm: pool www
そのドメインの私のwwwフォルダーは/ var/www/whmcsであり、「nginx」が所有しています。
[root@localhost www]# pwd
/var/www
[root@localhost www]# ls -lah | grep whmcs
drwxr-xr-x. 19 nginx nginx 4.0K Feb 7 16:15 whmcs
/var/log/php-fpm/error.logまたは/var/log/nginx/error.logに関連するものは何もないようです。
そのドメインにWHMCSをインストールしても、「Webフォルダーに書き込めません」というエラーが表示されます。
SELinuxも無効にしました。
なぜこれが起こっているのかについて誰かが私にいくつかの洞察を教えてもらえますか?
編集:奇妙なことに、/ var/www/whmcsの権限を再帰的に777に変更しても機能しません。
編集2:「nginx」ユーザーにシェルログインを与えました。ログインすると、/ var/www/whmcsフォルダーにファイルを作成できます。ただし、ページのエラーは同じです。
編集3:ユーザー@ ezra-sによって要求された所有権と許可情報:
[root@localhost var]# namei -mxo /var/www/whmcs
f: /var/www/whmcs
Dr-xr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root www
drwxr-xr-x nginx nginx whmcs
編集4:@ Orphans、/ etc/php * /fpm/pool/conf.d/${CONFFILE}がないようです。これは、CentOS6.7上のすべての/ etc/php *ファイルです。
[root@localhost etc]# find /etc/php*
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/Zip.ini
/etc/php.d/pdo.ini
/etc/php.d/pdo_sqlite.ini
/etc/php.d/sqlite3.ini
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/etc/php.d/ioncube.ini
/etc/php.d/Gd.ini
/etc/php-fpm.conf
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/php.ini
また、ここにドメインの仮想ホストファイルがあります(私はそれにアクセスするためにhostsファイルを使用しています):
[root@localhost etc]# cat /etc/nginx/sites-available/whmcs.com.conf
server {
listen 80;
root /var/www/whmcs;
index index.php;
server_name whmcs.com www.whmcs.com;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/whmcs;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Selinuxの設定を確認してください。実行する必要があるかもしれません:
$ Sudo restorecon -R /var/www/whmcs
$ Sudo setsebool -P httpd_unified 1