Estou tentando instalar o phpmyadmin no meu servidor web nginx. Instalei o phpmyadmin sem problemas. Eu criei um subdomínio para ele. Por razões de segurança não chamei meu subdomínio de "phpmyadmin", usei um nome diferente. Então usei esta configuração para meu subdomínio
server {
listen 80;
server_name myphpmyadminsubdomain.domain.com;
access_log off;
error_log /srv/www/myphpmyadminsubdomain/error.log;
location / {
root /usr/share/phpmyadmin;
index index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_intercept_errors on;
fastcgi_pass php;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
}
Então eu habilitei assim;
/etc/nginx/sites-available/myphpmyadminsubdomain /etc/nginx/sites-enabled/myphpmyadminsubdomain
Eu reiniciei o nginx e fui para myphpmyadminsubdomain.domain.com e isso está me dando o erro nginx 404 Not Found.
O que estou fazendo de errado?
Responder1
Esta é a minha configuração
server {
listen 80; ## listen for ipv4
server_name pma.example.com;
access_log /var/log/nginx/pma.access.log;
error_log /var/log/nginx/pma.error.log;
root /server/phpmyadmin/phpMyAdmin-3.4.2-all-languages;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_intercept_errors off;
fastcgi_pass php;
}
}
A raiz deve ser alterada para /usr/share/phpmyadmin
e fastcgi_params
deve ser alterada apropriadamente.
Responder2
Geralmente é um problema de caminho. No conjunto nginx.conf
fastcgi_param SCRIPT_FILENAME /absolute/path/to/server/root$fastcgi_script_name;
Observe que não há barra após o último diretório do caminho. Em segundo lugar, fastcgi_pass para um soquete ou URL local.
Você está fazendo chroot no seu php-cgi? Então todos os caminhos devem ser relativos a esse chroot.