Changer le port d’écoute d’Apache 2

I. Présentation

Dans ce tutoriel, nous allons apprendre à changer le port d'écoute d'Apache 2.4. Par défaut, le service web Apache2 écoute les requêtes arrivant sur le port 80 (port par défaut pour les échanges HTTP). Mais pour diverses raisons, il peut être bon de savoir comment faire écouter Apache 2 sur un autre port que le 80 ou sur plusieurs port en même temps.

II. Prérequis

Pour effectuer ce tutoriel, il faut disposer d'un serveur Apache 2.4 fonctionnel, écoutant sur le port 80, ou sur le port 443 pour un site qui s'appuie sur SSL.

Ce tutoriel est effectué sur un Apache 2.4 sous Linux Debian 10, mais il fonctionne également sur les versions antérieures.

III. Procédure

Nous allons déjà commencer par voir sur quel port le service web Apache2 écoute avant de modifier sa configuration. On utilise pour cela la commande suivante :

netstat -ntpl

Remarque : si la commande netstat est introuvable sur votre système, vous devez au préalable installer le paque net-tools (apt-get install net-tools)

Nous aurons alors un résultat comme suivant :

Proto   Recv-Q   Send-Q   Adresse locale   Adresse distante   Etat     PID/Program name
tcp6    0        0        :::80            :::*               LISTEN   4055/apache2

On voit donc bien que le port "80" est occupé par le service "apache2" avec numéro de processus "4055". Nous allons principalement manipuler la configuration d'Apache2 qui se situe dans "/etc/apache2" par défaut. Dans ce dossier existe un fichier "ports.conf" où sont en parti définis les ports sur lesquels Apache2 va écouter. Par défaut, ce fichier contient entre autres les lignes suivantes :

On voit donc bien qu'Apache2 est configuré pour écouter sur le port 80. Pour faire écouter Apache2 sur le port 1800 par exemple, il suffit de remplacer "80" par "1800" sur la ligne "Listen 80" qui va devenir :

Listen 1800

Il est à noter que pour modifier le port d'écoute sur les sites HTTPS et qui s'appuie sur le module SSL d'Apache, vous devez modifier les deux lignes "Listen 443" avec le port de votre choix (différent de l'autre port).

Il faut ensuite configurer les hôtes virtuels pour écouter également sur ce port. En effet, les virtual host d'un serveur Apache peuvent écouter chacun sur un port différent, il faut donc dans Apache spécifier pour chaque hôte virtuel sur quel port il doit écouter. Le site actif par défaut dans Apache2 est "Default", on trouve son fichier de configuration dans "/etc/apache/sites-enabled/000-default.conf", qu'il va falloir éditer :

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

Voici la ligne qui indique que l'hôte virtuel d'écoute sur le port 80 :

ChangePortApache203

Il suffit donc de remplacer encore une fois "80" par "1800" pour faire écouter cet hôte sur le port 1800 :

ChangePortApache204

On pourra alors sauvegarder les modifications puis recharger Apache2 pour valider les changements de configuration :

systemctl reload apache2

On pourra ensuite revérifier le port d'écoute d'Apache :

ChangePortApache205

Note : Pour faire écouter Apache sur plusieurs ports, il suffit de suivre la même procédure en mettant plusieurs lignes "Listen" dans le fichier "ports.conf" et ensuite de faire écouter les virtuals hosts sur tel ou tel port.

Voilà, votre serveur Web écoute désormais sur un port personnalisé ! ?

Tutoriel actualisé le 20/10/2020 par Florian

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 521.Voir tous les posts

2 thoughts on “Changer le port d’écoute d’Apache 2

  • j’ai du changer le port des virtualhost dans

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

    et /etc/apache2/sites-available/default n’existe pas

    c’est écrit au début de ports.conf

    merci pour ce tuto en tout cas ! nickel

    Répondre
    • il faut faire cd / /etc/apache2/sites-enabled/
      puis cd sites-enabled/
      enfin nano 000-default.conf

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.