#1 Le 01/01/2016, à 17:27
- chryslervert
[resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
Bonjour,
Je me suis dis que la création d'un nouveau site était l'occasion d'expérimenter un peu (bonne résolution )...
J'ai souscris à un nouveau serveur gandi sur ubuntu 14.04 avec une ipv6 et je me suis dis que j'allais tester nginx.
Première difficulté, je ne peux pas ajouté de dépôt (pour installer php7 par exemple) car il ne semble pas fonctionner avec un server ipv6. Pas de problème, j'ai donc installé nginx, php, mysql depuis les dépôts officiels... Et enfin composer et phpmyadmin en suivant plusieurs tuto.
En essayant de me rentre à l'adresse suivante après installation de phpmyadmin:
http://[mon_ip]/phpmyadmin
J'avais une erreur 403.
Je me suis dis que c'était peut-être un problème de droit sur mon IP et que j'allais utiliser un nom de domaine: phpmyadmin.soapoperator.com par exemple.
Voici ma configuration
Configuration des DNS pour faire pointé le sous-domaine vers l'IP du server.
Un lien symbolique de phpmyadmin dans le dossier des application de nginx:
root@server01:/usr/share/nginx/html# ls -l
total 12
-rw-r--r-- 1 root root 537 Mar 4 2014 50x.html
-rw-r--r-- 1 root root 612 Mar 4 2014 index.html
-rw-r--r-- 1 root root 20 Jan 1 13:21 info.php
lrwxrwxrwx 1 root root 21 Dec 31 18:41 phpmyadmin -> /usr/share/phpmyadmin
Création d'un site available:
root@server01:/etc/nginx/sites-available# ls -l
total 8
-rw-r--r-- 1 root root 833 Jan 1 14:19 phpmyadmin.soapoperator.com
-rw-r--r-- 1 root root 2603 Jan 1 13:35 default
Avec la configuration suivante:
server {
listen 80;
server_name phpmyadmin.soapoperator.com;
# Logs
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;
# Default location settings
location / {
root /usr/share/nginx/html/phpmyadmin;
index index.php index.html;
charset utf-8;
client_max_body_size 20M;
# allow
allow 82.230.83.8;
# drop rest of the world
deny all;
}
location ~* \.php$ {
# Prevent Zero-day exploit
try_files $uri =404;
# Pass the PHP scripts to FastCGI server
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_param HTTPS off;
}
}
J'ai créé une entrée dans site enable
root@server01:/etc/nginx/sites-enabled# ls -l
total 0
lrwxrwxrwx 1 root root 46 Jan 1 13:54 phpmyadmin.soapoperator.com -> /etc/nginx/sites-available/phpmyadmin.soapoperator.com
lrwxrwxrwx 1 root root 34 Dec 31 14:28 default -> /etc/nginx/sites-available/default
Résultat
Impossible d'accéder à phpmyadmin.
A l'adresse:
http://[mon_ip]/phpmyadmin
> le serveur me propose de télécharger un fichier.
A l'adresse:
http://phpmyadmin.soapoperator.com
> j'arrive sur la page par défaut indiquant que le serveur nginx est bien installé.
> par d'utilisation du host donc.
Au passage, j'ai fait un autre test en créant un fichier info.php dans /usr/share/nginx/html:
En me rendant à l'adresse suivante:
http://[mon_ip]/info.php
> le serveur me propose de télécharger le fichier et le php n'est pas interprété.
Pour info:
root@server01:/usr/share/nginx/html# ps aux | grep php
root 11147 0.0 2.3 450432 24156 ? Ss 13:37 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data 11150 0.0 0.8 450432 8360 ? S 13:37 0:00 php-fpm: pool www
www-data 11151 0.0 0.8 450432 8360 ? S 13:37 0:00 php-fpm: pool www
root 11464 0.0 0.0 8860 648 pts/0 S+ 17:20 0:00 grep --color=auto php
***
***
Je souhaite commencer par régler le problème de host pour phpmyadmin.
Est-ce qu'il y a un problème de configuration de nginx?
Ensuite, je me pencherai sur le problème de info.php, sur la securisation et enfin sur le rapatriement mes sites.
Par avance merci pour tous les indices et pour votre aide.
Bonne année,
jb
Dernière modification par chryslervert (Le 23/01/2016, à 19:29)
Orange pressée // Ubuntu 22.04
Hors ligne
#2 Le 01/01/2016, à 23:54
- Inglebard
Re : [resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
Salut,
Essaie de passer par le chemin directment plutot qu'un lien. Ensuite vue que tu passes par du vhost sort le "root" en dehors de location pour le mettre en dessous de "server_name" (fait de même pour les allow,deny si tu veux que ça soir appliqué sur l'ensemble). Pour fastcgi passe par des fichier socket plutot que par ip:port. Vérifie que le fichier default ne rentre pas en conflit.
Dernière modification par Inglebard (Le 01/01/2016, à 23:57)
Hors ligne
#3 Le 02/01/2016, à 09:30
- chryslervert
Re : [resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
Bonjour Inglebard,
Merci pour votre réponse.
J'ai entamé une partie des modifications:
server {
listen 80;
server_name phpmyadmin.soapoperator.com;
root /usr/share/phpmyadmin;
#client_max_body_size 20M;
# allow
allow 82.230.83.8;
#allow xxx:xxx:xxx;j'avais essayé avec mon ipv6 également;
# drop rest of the world
deny all;
# Logs
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log; [edit]
# Default location settings
location / {
index index.php index.html;
charset utf-8;
#client_max_body_size 20M;
# allow
#allow 82.230.83.8;
# drop rest of the world
#deny all;
}
location ~* \.php$ {
# Prevent Zero-day exploit
try_files $uri =404;
# Pass the PHP scripts to FastCGI server
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_param HTTPS off;
}
}
root@server01:/etc/nginx/sites-enabled# ls -l
total 0
lrwxrwxrwx 1 root root 46 Jan 1 13:54 phpmyadmin.soapoperator.com -> /etc/nginx/sites-available/phpmyadmin.soapoperator.com
Sans succès apparemment, car je n'arrive plus à démarrer nginx.
[edit] j'avais fait une erreur de frappe
Je serveur démarre bien mais rien ne s'affiche au url indiquées.
Je poursuis les modifications.
Bonne journée,
jb
Dernière modification par chryslervert (Le 02/01/2016, à 09:48)
Orange pressée // Ubuntu 22.04
Hors ligne
#4 Le 02/01/2016, à 10:04
- Inglebard
Re : [resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
Salut,
Il faut aussi que cette ligne, soit sous "root" :
index index.php index.html;
Hors ligne
#5 Le 02/01/2016, à 12:18
- chryslervert
Re : [resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
C'est fait.
J'ai remis les chose en ordre et la page d'accueil s'affiche de nouveau.
Seul le vhost par default fonctionne bien.
Du coup, j'ai regardé son contenu, et cela m'a mis la puce à l'oreille. Il y avait cette ligne:
listen [::]:80 default_server ipv6only=on;
Je me suis dis que le problème venais peut-etre que mon server ne dispose que d'une ipv6.
Du coup, ajouter ceci dans la config de phpmyadmin.soapoperator.com:
listen [::]:80 ipv6only=on;
Le serveur ne démarrait plus. Un coup d'oeil dans les log:
vi /var/log/nginx/error.log
J'avais cette erreur:
2016/01/02 11:48:45 [emerg] 12636#0: duplicate listen options for [::]:80 in /etc/nginx/sites-enabled/default:22
Je pense que c'est la bonne piste mais cela ne fonctionne pas encore.
Bonne journée,
jb
Orange pressée // Ubuntu 22.04
Hors ligne
#6 Le 02/01/2016, à 17:53
- aurel-son
Re : [resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
Salut, tu as bien php5-fpm installe aussi ?
Si oui tu as regarder dans /etc/php5/fpm/pool.d/www.conf si le listen 127.0.0.1:9000 est bien mis par default a la place de sock ?
listen = 127.0.0.1:9000
;listen = /tmp/php5-fpm.sock
Desktop : Debian Testing
Server : Debian,Ubuntu,Centos,FreeBSD,PFsense,FreeNAS,OmniOS,OpenIndiana
Messagerie: tox.chat (me MP)
Hors ligne
#7 Le 23/01/2016, à 19:28
- chryslervert
Re : [resolu] nginx + phpmyadmin + vhost = configuration non fonctionnelle
Bonsoir,
Le problème est résolu.
Après plusieurs tâtonnements, il y avait un souci avec l'option default_server.
Conclusion
J'ai un host default avec
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
Et un host custom:
server {
listen 80;
listen [::]:80;
server_name phpmyadmin.soapoperator.com;
root /usr/share/nginx/html/phpmyadmin.soapoperator.com;
index index.php index.html index.htm;
Du coté de sites-enabled:
:/etc/nginx/sites-enabled$ ls -l
total 0
lrwxrwxrwx 1 root root 46 Jan 10 09:51 phpmyadmin.soapoperator.com -> /etc/nginx/sites-available/phpmyadmin.soapoperator.com
lrwxrwxrwx 1 root root 34 Jan 2 10:29 default -> /etc/nginx/sites-available/default
Merci pour le secours.
jB
Orange pressée // Ubuntu 22.04
Hors ligne