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