Kerem Bekman
Kerem Bekman

Reputation: 1283

nginx php-fpm "Access Denied" on Centos

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

Answers (2)

Ying Zhang
Ying Zhang

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

Henrik Tóth
Henrik Tóth

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

Related Questions