1 votes

Nginx /phpmyadmin dir pour l'hôte par défaut

J'ai un problème avec mon serveur nginx.

Je suis assez novice en matière de nginx, donc les fichiers de configuration ne sont pas (encore) mon point fort.

J'ai ce default.conf dans /etc/nginx/conf.d/ :

server {
    listen       80;
    server_name  _;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
    location / {
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }
    error_page  404              /404.html;
    location = /404.html {
        root   /usr/share/nginx/html;
    }
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        try_files $uri =404;
        fastcgi_pass   unix:/tmp/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
    location /phpMyAdmin {
    root /usr/share;
    index index.html index.htm index.php;
    }
    location ~ \.php$ {
        root        /usr/share;
        try_files $uri =404;
        fastcgi_pass unix:/tmp/php5-fpm.sock;
        fastcgi_index       index.php;
        fastcgi_param       SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include     fastcgi_params;
    }
}

mais lorsque j'accède à <ServerIP>/phpMyAdmin ça me donne juste un 404.

Les fichiers journaux sont comme ceci :

2012/09/18 19:12:53 [error] 3184#0: *1 open() "/usr/share/phpMyAdmin/nginx-logo.png" failed (2: No such file or directory), client: 1.2.3.4, server: _, request: "GET /phpMyAdmin/nginx-logo.png HTTP/1.1", host: "4.3.2.1", referrer: "http://4.3.2.1/phpMyAdmin/index.php"

Qu'est-ce que je fais de mal ?

1voto

Thomas Weigel Points 111

Voici le code pertinent de ma configuration. J'ai eu du mal à le faire fonctionner et je suis également novice en matière de nginx.

Essayez d'ajouter la barre oblique à la fin de la déclaration de la racine dans la section emplacement.

location /phpMyAdmin {
    root /usr/share/;
    index index.php index.html index.htm;
    location ~ ^/phpMyAdmin/(.+\.php)$ {
        try_files $uri =404;
        root /usr/share/;
        fastcgi_pass unix:/tmp/php-fpm.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
        fastcgi_param PATH_INFO $fastcgi_script_name;
    }

    location ~* ^/phpMyAdmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/;
    }
}

1 votes

Merci ! Ça marche comme un charme ! Il ne me reste plus qu'un petit problème : Lorsque je me connecte à phpmyadmin, je suis redirigé vers /index.php&token=stuff, alors que ce devrait être /phpMyAdmin/index.php&token=stuff. Savez-vous comment résoudre ce problème ?

0 votes

Cela a peut-être quelque chose à voir avec les autres entrées d'emplacement dans votre fichier par défaut. Essayez de supprimer les autres entrées. Le code ci-dessus fonctionne très bien pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X