Outils pour utilisateurs

Outils du site


nginxphpmyadmin

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
nginxphpmyadmin [2013/10/19 20:10]
luc
nginxphpmyadmin [2018/10/13 20:32] (Version actuelle)
Ligne 7: Ligne 7:
 On ne trouve pas ''phpMyAdmin'' dans les [[depots|dépôts]] de base, il nous faut ceux de [[depots|remi]], ensuite c'est classique : On ne trouve pas ''phpMyAdmin'' dans les [[depots|dépôts]] de base, il nous faut ceux de [[depots|remi]], ensuite c'est classique :
 <code bash>yum install phpmyadmin</code> <code bash>yum install phpmyadmin</code>
 +Cette commande install les binaires de ''phpMyAdmin'' et le fichier de conf pour ''apache'', sous forme de vhost. On va partir de ce fichier et l'adpater pour nginx.\\
 +On crée donc un fichier dans le dossier de nginx ''/etc/nginx/conf.d/phpmyadmin.conf''
 +
 +==== Configuration sous nginx ====
 +===On veut du https !===
 +On commence par mettre une redirection de http vers https, au cas où une url incomplète serait saisie :
 +<code>
 +server  {
 +        listen          80;
 +        server_name     phpmyadmin.NOM_DE_DOMAINE;
 +
 +        rewrite ^(.*)   https://phpmyadmin.NOM_DE_DOMAINE;
 +}
 +</code>
 +Ensuite, il faut configurer la connexion en https :
 +<code>
 +server  {
 +        listen          443 ssl;
 +        server_name     phpmyadmin.NOM_DE_DOMAINE;
 +
 +        ssl                     on;
 +        ssl_certificate         /etc/pki/tls/certs/nginx.crt;
 +        ssl_certificate_key     /etc/pki/tls/private/nginx.key;
 +        ssl_protocols           SSLv3 TLSv1.2 TLSv1.1 TLSv1;
 +</code>
 +===Du classique===
 +Ensuite viens des lignes que l'on retrouve dans tous les sites qui executent du php
 +<code>
 +        location / {
 +                index   index.php index.html index.htm;
 +        }
 +
 +        location ~\.php$ {
 +                fastcgi_pass    127.0.0.1:9000;
 +                fastcgi_index   index.php;
 +                fastcgi_param   SCRIPT_FILENAME$document_root$fastcgi_script_name;
 +                fastcgi_param   HTTPS on;
 +                include         fastcgi_params;
 +        }
 +
 +</code>
 +Les plus attentifs auront remarqué une différence par rapport à la conf classique, c'est le ''fastcgi_param   HTTPS on;'', nécessaire pour que ''phpMyAdmin'' n'envoie rien en http (ok, c'est léger comme explication, mais c'est nécessaire j'ai essayé sans et ça n'a pas marché, trouvé je sais plus où sur le web, mais une source crédible, le wiki officiel de archlinux ?).
 +===Vous ne passerez pas !===
 +''phpMyAdmin'' impose des restrictions d'accès particulières, pour qu'on ne puisse pas fouiller et récupérer des infos dans ses fichiers sensibles, voici comme on fait :
 +<code>
 +        #restriction d'acces
 +        include drop.conf;
 +        location librairies/ {
 +                deny    all;
 +        }
 +        location setup/lib {
 +                deny    all;
 +        }
 +        location setup/frames/ {
 +                deny    all;
 +        }
 +</code>
 +===En bref===
 +Le fichier de conf dans son ensemble :
 +<code>
 +## nginx conf
 +## fichier de conf perso pour phpmyadmin
 +#
 +server  {
 +        listen          80;
 +        server_name     phpmyadmin.NOM_DE_DOMAINE;
 +
 +        rewrite ^(.*)   https://phpmyadmin.NOM_DE_DOMAINE;
 +}
 +
 +server  {
 +        listen          443 ssl;
 +        server_name     phpmyadmin.NOM_DE_DOMAINE;
 +
 +        root            /usr/share/phpMyAdmin;
 +
 +        ssl                     on;
 +        ssl_certificate         /etc/pki/tls/certs/nginx.crt;
 +        ssl_certificate_key     /etc/pki/tls/private/nginx.key;
 +        ssl_protocols           SSLv3 TLSv1.2 TLSv1.1 TLSv1;
 +
 +        location / {
 +                index   index.php index.html index.htm;
 +        }
 +
 +        location ~\.php$ {
 +                fastcgi_pass    127.0.0.1:9000;
 +                fastcgi_index   index.php;
 +                fastcgi_param   SCRIPT_FILENAME$document_root$fastcgi_script_name;
 +                fastcgi_param   HTTPS on;
 +                include         fastcgi_params;
 +        }
 +
 +        #restriction d'acces
 +        include drop.conf;
 +        location librairies/ {
 +                deny    all;
 +        }
 +        location setup/lib {
 +                deny    all;
 +        }
 +        location setup/frames/ {
 +                deny    all;
 +        }
 +}
 +</code>
nginxphpmyadmin.1382213407.txt.gz · Dernière modification: 2018/10/13 20:32 (modification externe)