Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 hmm )...
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