Bonjour,

Je suis sur Debian8, j'ai réussi à installer PHPMyAdmin après avoir installé, Nginx, PHP FPM, MySQL, en suivant les tutos Grafikart.
J'arrive à faire fonctionner PHPMyAdmin avec le fichier de conf Nginx suivant :

Ce que je fais

server {

    listen 80;

    server_name www.site.com;

    root /home/user/www/nomsite;
    index index.html index.htm index.php;

    error_log /home/user/logs/error_log;
    access_log /home/user/logs/access_log;

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    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:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        }

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

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

server {

    listen 80;
    server_name site.com;
    return 301 http://www.site.com$request_uri;

}

Ce que je veux

-Est-il possible de simplifier le fichier de conf Nginx ? Voire supprimer des blocs écrits pour phpmyadmin ?

-Dans la mesure où j'aimerais ensuite utiliser un reverse proxy pour afficher un site node.js qui utilise une bdd mysql, j'utiliserai donc proxypass pour le site. Concernant phpmyadmin, que faudra til faire ? Simplement laisser le bloc location /phpmyadmin en dessous du location / {} ?

exemple simplifié :

server {
    listen   80;
    location / {
        proxy_pass         http://127.0.0.1:8080/;
     }
     location /phpmyadmin {
            root /usr/share/;
            index index.php index.html index.htm;
     }
 }

Merci

1 réponse


Pour ma part je sépare mes sites en plusieurs fichiers, par exemple, un pour phpmyadmin, un autre pour mon site etc...
C'est mieux organisé et tu as moins de chose par fichier.

En voici un exemple (avec quelques touches personnel pour les logs et exception mais on peux toujours simplifier):

server {
    listen  80;
    server_name monphpmyadmin.fr;

    root /usr/share/phpmyadmin;
    index index.php index.html index.htm;

    error_log /home/fukotaku/logs/error_log;
    access_log /home/fukotaku/logs/access_log;

    location ~ /\. {
    deny all;
    access_log off;
    log_not_found off;
    }

    location / {
    try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    error_page 404 500 501 /404.html;

}

server {
    listen  80;
    server_name www.monphpmyadmin.fr;
    return 301 http://monphpmyadmin.fr$request_uri;
}