Apache : Héberger plusieurs apps sur différents ports

I. Présentation

Sans aucun doute, sur un seul serveur web nous pouvons exécuter plusieurs instances web via le mécanisme de la redirection de port, par exemple nous pouvons avoir 3 applications web sur un seul serveur et chaque application écoute sur un port différent de l'autre.

II. Configuration

Admettant que vous avez déjà apache installé sur votre serveur et que vous avez en effet 3 applications web configurée sur le même équipement, le but c'est d'effectuer la redirection de chacune de ses applications sur des ports d'écoutes différents à partir des fichiers "*.conf" d'Apache.

Pour commencer nous devrons accéder au répertoire /etc/apache2/ afin d'ajouter les ports qu'on souhaite les mettre en "Listen" en effectuant une modification sur le fichier de configuration  ports.conf, ceci en utilisant votre éditeur préféré (mon cas c'est nano).

Par défaut, avant de réaliser les modifications le seul port sur lequel écoute Apache c'est le port 80 (Listen 80), dans notre cas nous avons ajouté le port 2017 et 2018 avec la syntaxe (Listen 2017, Listen 2018), à la fin, n'oubliez pas d'enregistrer les modifications apportées au niveau de la configuration.

 

Par ailleurs, pour des raisons de sécurité on copie le fichier de configuration 000-default.conf situé au /etc/apache2/sites-available  par la commande suivante :

root@debian:/etc/apache2/sites-available# cp 000-default.conf ./001-default.conf
  • 001-default.conf : nouveau nom de fichier

Au niveau de fichier 001-default.conf, vous devez ajouter les "Serveurs Virtuels" ou "VirtualHost" qui ont comme principe à faire fonctionner plusieurs Serveurs et/ou Applications Web sur la même machine, les serveurs virtuels peuvent être configuré soit avec "IP" ou "Nom".

 

La syntaxe que vous devez injecter dans votre configuration :

<VirtualHost 192.168.0.27:2018>

ServerAdmin webmaster@localhost
 DocumentRoot /var/www/web2

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

  • 192.168.0.27 : Adresse du serveur.
  • ServerAdmin : adresse e-mail que le serveur inclut dans les messages d'erreurs envoyés au client.
  • 2018 : le port d'écoute que nous avons configuré dans le fichier ports.conf .
  • DocumentRoot /var/www/web2 le chemin de mon serveur ou application Web.
  • ErrorLog : directive utilisé pour journaliser les erreurs.
  • CustomLog : directive utilisé pour journaliser les requêtes à destination vers le serveur.

En outre, nous pouvons ajouter la directive ServerName si vous avez un serveur DNS.

Pour finir on tape la commande ci-dessous afin d'activer la configuration de nos serveurs virtuels.

root@debian:/etc/apache2/sites-available# a2ensite 001-default.conf

N.B : si vous avez un firewall devant votre serveur web, il faut penser à effectuer les ouvertures de flux. 

III. Conclusion

Pour finir, je vous recommande de prendre une machine "debian" puis mettre en place "Apache" et commencer la pratique. A vos claviers !

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

Hassan El Amri

Je suis un geek passionné par l’informatique et les nouvelles technologies depuis mon plus jeune âge, le site IT-Connect pour moi une opportunité immanquable afin de partager mes connaissances en termes de sécurité, réseau et système.

N’hésitez pas à revenir vers moi si vous avez des questions concernant mes articles.

    hassan-elamri a publié 5 articles sur IT-Connect.See all posts by hassan-elamri

    Laisser un commentaire

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