Reputation: 1283
I am getting "Access Denied" on index.php file. I created test.php by using touch command on my server and it is working.
I deleted index.php and created index.php by using touch
command and c/p index.php source new index.php file and then I checked error.log now the problem is occurred on another php file.
Everything was working and today this problem started. This configuration also was working, there was no change and this problem occurred.
Here is my config files.
/etc/nginx/conf.d/default.conf
:
server {
listen 80;
server_name X.X.X.X;
root /var/www/domain.com;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/domain.com;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/domain.com;
}
}
/var/www/domain.com/
:
drwxr-xr-x. 8 nginx nginx 4096 Nov 16 16:39 .
drwxr-xr-x. 5 nginx nginx 4096 Oct 30 20:47 ..
-rwxr-xr-x. 1 nginx nginx 146 Jun 1 18:16 CONTRIBUTING.md
drwxr-xr-x. 12 nginx nginx 4096 Oct 30 23:36 app
-rwxr-xr-x. 1 nginx nginx 2452 Jun 1 18:16 artisan
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:36 assets
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:36 bootstrap
-rwxr-xr-x. 1 nginx nginx 697 Jun 1 18:16 composer.json
-rwxr-xr-x. 1 nginx nginx 58540 Oct 1 00:19 composer.lock
-rwxr-xr-x. 1 nginx nginx 0 Jun 1 18:16 favicon.ico
-rwxr-xr-x. 1 nginx nginx 1580 Oct 31 00:05 index.php
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:36 packages
-rwxr-xr-x. 1 nginx nginx 567 Jun 1 18:16 phpunit.xml
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:55 public
-rwxr-xr-x. 1 nginx nginx 2051 Jun 1 18:16 readme.md
-rwxr-xr-x. 1 nginx nginx 24 Jun 1 18:16 robots.txt
-rwxr-xr-x. 1 nginx nginx 519 Jun 1 18:16 server.php
-rwxr-xr-x. 1 nginx nginx 41 Nov 16 16:39 test.php
drwxr-xr-x. 20 nginx nginx 4096 Oct 30 23:36 vendor
/etc/nginx/nginx.conf
:
user nginx;
/etc/php-fpm.d/www.conf
:
user = nginx
group = nginx
/var/log/nginx/error.log
:
Unable to open primary script: /var/www/domain.com/index.php (Permission denied)" while reading response header from upstream, client: *, server: *, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "*"
2014/11/16 18:27:54 [error] 5070#0: *21 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
After I deleted index.php and created by using touch command same file:
PHP message: PHP Fatal error: require(): Failed opening required '/var/www/domain.com/bootstrap/autoload.php'
Upvotes: 3
Views: 4194
Reputation: 49
Thanks for your answer -- this was the same "Access Denied" the problem I encountered and your solution led me down the right path.
Note that instead of disabling SELINUX completely, you can just do this:
$ sudo setsebool -P httpd_read_user_content 1
My current setup is with CentOS 7.7, NGINX 1.17.3, PHP-FPM 7.3.9.
Upvotes: 1
Reputation: 41
I've just spent a whole day on the same problem, eventually finding that selinux
was causing it.
I haven't search exactly which setting might be at fault, just disabled the whole thing (SELINUX=disabled in /etc/selinux/config
and a restart) and finally php-fpm
works as it should.
Upvotes: 4