Por algum motivo, não consigo alterar a raiz. Eu tenho os mesmos direitos que o root padrão em /usr/share/nginx/html
, e também tenho 755
recursividade em todos os arquivos e pastas em minha outra pasta. Eu até tentei mudar o usuário e o grupo para root e nginx para frente e para trás para ver se fazia alguma diferença, mas não. Eu continuo recebendo 403 Proibido
então basicamente eu fiz esta pasta
$ mkdir -p /srv/www/test.com/public_html
$ vi /srv/www/test.com/public_html/index.html
$ vi /srv/www/test.com/public_html/test.php
$ chmod -R 755 /srv/www/test.com/public_html
tentou mudar o usuário e o grupo para nginx
$ chown -R nginx:nginx /srv/www
configurou o arquivo conf principal
$ vi /etc/nginx/nginx.conf
é assim que minha configuração se parece, as inclusões são comentadas
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
index index.php index.html index.htm;
server {
listen 80;
server_name _;
root /srv/www/test.com/public_html;
# root /usr/share/nginx/html;
location / {
autoindex on;
}
error_page 404 /404.html;
location = /40x.html { }
error_page 500 502 503 504 /50x.html;
location = /50x.html { }
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
tudo funciona na pasta raiz padrão que está comentada, mas quando mudo a raiz recebo 403 proibido. Sinto que tentei tudo o que pude, alterando usuários e permissões de arquivo e assim por diante. o php-fpm tem nginx como usuário e grupo. e o usuário é definido como nginx no arquivo main.conf. Eu só uso este arquivo para configuração do nginx e tenho as inclusões comentadas.
Eu não tenho ideia do que fazer. Já está preso há horas. Qualquer ajuda seria muito apreciada
Para maior clareza, estou postando meu comentário como resposta, isso foi causado pelo SELinux e definir o modo de política como permissivo
semanage permissive -a httpd_t
é uma solução " rápida e suja ".A solução limpa seria definir o contexto do SELinux
chcon -Rt httpd_sys_content_t /srv/www/test.com
e procurar possíveis novas reclamações do SELinux, se houver (depende do que você definir a seguir em seu arquivo de configuração).