Recherche de site Web

Comment changer le port HTTP Apache sous Linux


Le serveur Apache HTTP est l'un des serveurs Web les plus utilisés sur Internet aujourd'hui, en raison de sa flexibilité, de sa stabilité et d'une pléiade de fonctionnalités, dont certaines ne sont pas pour l'instant présentes sur d'autres serveurs Web, comme rival Nginx.

Certaines des fonctionnalités les plus importantes d'Apache incluent la possibilité de charger et d'exécuter différents types de modules et de configurations spéciales au moment de l'exécution, sans arrêter réellement le serveur ou, pire encore, compiler le logiciel à chaque fois qu'un nouveau module doit être ajouté et que le rôle spécial est joué. par des fichiers .htaccess, qui peuvent modifier les configurations du serveur Web spécifiques aux répertoires webroot.

Par défaut, le serveur Web Apache est invité à écouter les connexions entrantes et à se lier sur le port 80. Si vous optez pour la configuration TLS, le serveur écoutera les connexions sécurisées sur le port 443.

Afin de demander au serveur Web Apache de lier et d'écouter le trafic Web sur d'autres ports que les ports Web standard, vous devez ajouter une nouvelle instruction contenant le nouveau port pour les liaisons futures.

Dans un système basé sur Debian/Ubuntu, le fichier de configuration à modifier est le fichier /etc/apache2/ports.conf et sur un système basé sur RHEL/CentOS. les distributions éditent le fichier /etc/httpd/conf/httpd.conf.

Ouvrez le fichier spécifique à votre propre distribution avec un éditeur de texte de console et ajoutez la nouvelle instruction de port comme indiqué dans l'extrait ci-dessous.

nano /etc/apache2/ports.conf     [On Debian/Ubuntu]
nano /etc/httpd/conf/httpd.conf  [On RHEL/CentOS]

Dans cet exemple, nous allons configurer le serveur Apache HTTP pour écouter les connexions sur le port 8081. Assurez-vous d'ajouter l'instruction ci-dessous dans ce fichier, après la directive qui demande au serveur Web d'écouter sur le port 80, comme illustré dans l'image ci-dessous.

Listen 8081

Après avoir ajouté la ligne ci-dessus, vous devez créer ou modifier un hôte virtuel Apache dans une distribution basée sur Debian/Ubuntu afin de démarrer le processus de liaison, spécifique à vos propres exigences en matière d'hôte virtuel.

Dans les distributions CentOS/RHEL, la modification est appliquée directement à l'hôte virtuel par défaut. Dans l'exemple ci-dessous, nous allons modifier l'hôte virtuel par défaut du serveur Web et demander à Apache d'écouter le trafic Web du port 80 vers le port 8081.

Ouvrez et modifiez le fichier 000-default.conf et remplacez le port par 8081 comme indiqué dans l'image ci-dessous.

nano /etc/apache2/sites-enabled/000-default.conf 

Enfin, pour appliquer les modifications et lier Apache au nouveau port, redémarrez le démon et vérifiez la table des sockets du réseau local à l'aide de netstat ou de la commande ss. Le port 8081 en écoute doit être affiché dans la table réseau de votre serveur.

systemctl restart apache2
netstat -tlpn| grep apache
ss -tlpn| grep apache

Vous pouvez également ouvrir un navigateur et accéder à l'adresse IP ou au nom de domaine de votre serveur sur le port 8081. La page par défaut d'Apache doit être affichée dans le navigateur. Cependant, si vous ne pouvez pas parcourir la page Web, revenez à la console du serveur et assurez-vous que les règles de pare-feu appropriées sont configurées pour autoriser le trafic du port.

http://server.ip:8081 

Sur la distribution Linux basée sur CentOS/RHEL, installez le package policycoreutils afin d'ajouter les règles SELinux requises pour qu'Apache se lie au nouveau port et redémarrez le serveur HTTP Apache pour appliquer les modifications.

yum install policycoreutils

Ajoutez des règles Selinux pour le port 8081.

semanage port -a -t http_port_t -p tcp 8081
semanage port -m -t http_port_t -p tcp 8081

Redémarrez le serveur Web Apache

systemctl restart httpd.service 

Exécutez netstat ou la commande ss pour vérifier si le nouveau port se lie avec succès et écoutez le trafic entrant.

netstat -tlpn| grep httpd
ss -tlpn| grep httpd

Ouvrez un navigateur et accédez à l'adresse IP ou au nom de domaine de votre serveur sur le port 8081 pour vérifier si le nouveau port Web est accessible sur votre réseau. La page par défaut d'Apache doit s'afficher dans le navigateur.

http://server.ip:8081 

Si vous ne parvenez pas à accéder à l'adresse ci-dessus, assurez-vous d'ajouter les règles de pare-feu appropriées dans le tableau de pare-feu de votre serveur.