Comment changer le port de phpMyAdmin de 80
en 99
?
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
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
.