Aller au contenu

[Snippet] changer le port d'écoute d'Apache

J'avais déjà partagé un premier conseil de configuration pour Apache, mais j'en ai plein d'autres dans ma hotte. Je vais les rassembler dans la catégorie Serveur web.

Commençons par un snippet pour changer le port d'écoute d'Apache .

(oui, je m'amuse avec les icônes, mais c'est mon blog, je fais ce que je veux !)

Besoin

Remplaçons le port par défaut (80) par un autre (ici, j'utiliserai 8080). Il faut le changer à plusieurs endroits :

  • sur la directive Listen (fichier /etc/apache2/ports.conf) ;
  • dans les <VirtualHost> de chaque vhost.

Solution

Inutile d'aller modifier chaque fichier a la mano, autant scripter tout ça :

change_apache_port.sh
# Replace "Listen 80" by "Listen 8080" in ports.conf
sed -i '/^Listen 80$/ s/80/8080/' /etc/apache2/ports.conf

# Replace "<VirtualHost *:80>" by "<VirtualHost *:8080>" in all vhosts
sed -i 's/:80>/:8080>/' /etc/apache2/sites-available/*.conf
Ces commandes sont idempotentes1, donc vous ne finirez pas avec 80808080 si vous les appelez plusieurs fois.

Si certains de vos vhosts actifs ne sont pas des liens symboliques issus de sites-available, vous pouvez toujours cibler sites-enabled ou tout autre dossier à la place.

Conclusion

J'essaye de proposer des scripts plutôt que des manipulations manuelles afin de faciliter l'intégration dans des processus automatisatés.

J'aurai prochainement à vous proposer quelques petits snippets de configurations de vhosts d'Apache, aussi. Et j'expliquerai peut-être l'essentiel à savoir sur les différents dossiers de configuration d'Apache. Bref, que des trucs qu'on ne m'avait jamais dit et que j'ai d'autant plus envie de partager.

Keep calm and script EVERYTHING!


  1. idempotent(e) : se dit d'une fonction qui donne le même résultat si on l'appelle plusieurs fois.