web-dev-qa-db-fra.com

Changer le port de phpMyAdmin de 80 à un autre numéro

Comment changer le port de phpMyAdmin de 80 en 99?

4
Hesam Pourghazian

Soyons clairs: il ne s’agit pas d’un paramètre de PhpMyAdmin, c’est un paramètre de la configuration d’Apache2 et nous devons créer un nouveau VirtualHost à cette fin.

1. Compréhension de la configuration par défaut de PhpMyAdmin. Par défaut (sous Ubuntu 16.04), PhpMyAdmin est inclus (et activé) dans la configuration d’Apache ( pour tous les VirtualHosts! ) via ce fichier de configuration supplémentaire:

/etc/Apache2/conf-enabled/phpmyadmin.conf

Ce fichier est un lien symbolique vers le fichier /etc/Apache2/conf-available/phpmyadmin.conf, qui est un lien symbolique vers le fichier /etc/phpmyadmin/Apache.conf, qui sera utilisé à l'étape suivante.

2. Créez un nouveau fichier de configuration VirtualHost. Appelons-le phpmyadmin.conf et créons-le avec nano (ou vous pouvez utiliser votre éditeur de texte favori):

Sudo nano /etc/Apache2/sites-available/phpmyadmin.conf

Le contenu de ce fichier devrait ressembler à:

Listen 99

<VirtualHost *:99>

        ServerName localhost

        <Directory /usr/share/phpmyadmin>
                AllowOverride None
                Require all granted
        </Directory>

        DocumentRoot /usr/share/phpmyadmin

        Include /etc/phpmyadmin/Apache.conf

        ErrorLog ${Apache_LOG_DIR}/phpmyadmin.error.log
        CustomLog ${Apache_LOG_DIR}/phpmyadmin.access.log combined

</VirtualHost>

Où:

  • Listen 99 indique à Apache2 d'écouter sur le port 99. Comme @ L.D.James dit vous pouvez mettre cette directive dans /etc/Apache2/ports.conf ou vous pouvez la laisser ici;

  • <VirtualHost *:99>...</VirtualHost> définit un VirtualHost qui gérera les requêtes de toutes les interfaces (*) sur le port :99.

  • ServerName localhost Cette directive est facultative et peut être personnalisée en fonction de vos besoins. (En règle générale, ServerName est défini au niveau du serveur - dans /etc/Apache2/Apache2.conf);

  • <Directory /usr/share/phpmyadmin>...</Directory> cette directive est facultative car les autorisations d'accès pour /usr/share/ sont généralement définies dans /etc/Apache2/Apache2.conf. Mais vous pouvez ajouter des règles spécifiques ici, par exemple, vous pouvez Set Up Password Authentication ;

  • DocumentRoot /usr/share/phpmyadmin Cette directive définit /usr/share/phpmyadmin en tant que répertoire qui constitue l’arborescence de documents principale visible à partir du Web, pour le VirtualHost actuel;

  • Include /etc/phpmyadmin/Apache.conf cette directive inclut la configuration par défaut de phpMyAdmin dans la configuration d'Apache. Ainsi, /etc/phpmyadmin/Apache.conf sera inclus uniquement pour le VirtualHost actuel! Au lieu de cette directive, vous pouvez copier/coller le contenu de /etc/phpmyadmin/Apache.conf à cet endroit.

3. Changez la configuration d'Apache et redémarrez-la.

Sudo a2disconf phpmyadmin
Sudo a2ensite phpmyadmin
Sudo systemctl restart Apache2.service

Où:

  • a2disconf phpmyadmin désactive la configuration par défaut de phpMyAdmin, décrite dans 1.
  • a2ensite phpmyadmin activera le nouvel hôte virtuel, décrit dans 2.

!!. Editez /etc/phpmyadmin/Apache.conf et commentez (#) la première directive Alias comme celle-ci:

#Alias /phpmyadmin /usr/share/phpmyadmin

Cette étape est facultative, mais sinon, http://localhost:99 et http://localhost:99/phpmyadmin fourniront un résultat identique. Je suppose donc que nous n’avons pas besoin de cela :)


!!. Si vous voulez que ce nouveau VirtualHost soit accessible de l'extérieur, n'oubliez pas d'ajouter le port 99 dans les règles de votre pare-feu. Si vous utilisez UFW vous pouvez le faire avec cette commande:

Sudo ufw allow 99/tcp

Avec iptables vous pouvez le faire avec cette commande:

Sudo iptables -A INPUT -p tcp -m tcp --dport 99 -j ACCEPT
9
pa4080

Ajouter un accès via le port 99 est simple et rapide

Ajoutez le port 99 à votre configuration Apache2. Éditez /etc/Apache2/ports.conf. Ajoutez la directive Listen 99:

 # Si vous modifiez simplement le port ou ajoutez d'autres ports ici, vous devrez probablement également 
 # Modifier l'instruction VirtualHost dans 
 #/Etc/Apache2/sites-enabled/000-default.conf 
 
 Ecouter 80 
Écoutez 99
 
 & ltIfModule ssl_module> 
 Écouter 443 
 </ IfModule> 
 
 & ltIfModule mod_gnutls.c> 
 Ecouter 443 
 </ IfModule> 
 
 # Vim: syntaxe = Apache ts = 4 sw = 4 sts = 4 sr noet 

Cela ajoute le port 99 à l'accès disponible. Pour désactiver le port 80 auquel vous pouvez uniquement accéder via le port 99, commentez ou supprimez le Listen 80 de la configuration.

La désactivation du port par défaut est un peu plus détaillée

Dans la plupart des cas, la désactivation du port par défaut 80 n'est pas nécessaire.

Si vous avez d'autres sites, vous devez avoir accès au port 80 et à la directive Listen de cet hôte virtuel.

Alternativement, vous pouvez restreindre Phpmyadmin à un seul port en créant un hôte de version Phpmyadmin et en utilisant le Listen 99 directive à cet hôte virtuel.

Les détails pour la création d'un hôte virtuel pour Apache2 peuvent être trouvés ici :

Créez un lien symbolique vers /usr/share/phpmyadmin le virtualhost document root.

4
L. D. James