Nginx - не удается открыть файлы php из другого каталога -ERR: не удалось (13: доступ запрещен)

Я установил nginx, php-fpm, mysql и phpMyAdmin на моем ноутбуке (под управлением Arch Linux). Все было в порядке, пока я не попытался переместить корень в свой домашний каталог.

Вот файл конфигурации nginx, который я использую:

#user html;
#user root root;

worker_processes  2;

error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    gzip  on;

    server {
        ############### General Settings ###################
        listen       80;
        server_name  localhost;
        root   /home/me/Development;
        charset utf-8;

        ############## Document Root #####################
        location  / {
            index  index.php index.html index.htm;
            autoindex on;
        }

        ############## PHPMyAdmin #######################
        location /phpmyadmin {
            rewrite ^/* /phpMyAdmin last;
        }

        ############# Error redirection pages ################
        error_page  404               NGINX/html/404.html;
        error_page  500 502 503 504   NGINX/html/50x.html;

        ############## Proxy Settings for FastCGI PHP Server #####
        location ~ \.php$ {

            try_files  $uri =404;
            #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
            fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi.conf;
        }

        location ~ /\.ht {
            deny  all;
        }

    }         
}

Когда я пытаюсь получить доступ к файлу php (localhost / phpMyAdmin), я получаю следующую ошибку :

2016/05/20 16:33:12 [error] 8145#8145: *2 "/home/me/Development/phpMyAdmin/index.php" is forbidden (13: Permission denied), client: 127.0.0.1, server: localhost, request: "GET /phpMyAdmin/ HTTP/1.1", host: "localhost"

Я пытался изменить права (777 - не очень хорошая идея) и владельца (имя пользователя: имя пользователя) папки «Разработка», но безуспешно. У меня также есть эта строка кода в моем php.ini, чтобы убедиться, что в новом каталоге разрешен путь для php.

open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/usr/:/home/me/Development/

Есть идеи, что я делаю неправильно?

0
задан 20 May 2016 в 16:42
1 ответ

Ваш домашний каталог защищен от чтения другими пользователями. И запускать nginx с правами root - ДЕЙСТВИТЕЛЬНО плохая идея. Если вам действительно нужно, чтобы ваш проект располагался в вашем домашнем каталоге, попробуйте запустить nginx и php-fpm в качестве пользователя, под которым вы вошли. не забудьте указать все служебные каталоги nginx (/ var / run / nginx и так далее)

0
ответ дан 24 November 2019 в 06:31

Теги

Похожие вопросы