Hébergez plusieurs domaines sur un serveur ou une adresse IP avec Apache ou Nginx

Apprenons à configurer Apache et Nginx pour héberger plusieurs sites Web.

L’hébergement de sites sur le serveur Cloud offre une grande flexibilité par rapport à l’hébergement mutualisé. Vous pouvez installer ce que vous voulez, augmenter ou réduire, et configurer pour de meilleures performances et une optimisation des coûts.

Si vous exploitez plusieurs sites commerciaux mais que vous ne souhaitez pas les héberger séparément, vous pouvez tirer parti de Virtual Server dans les serveurs Web. Jetons un coup d’œil à ce scénario.

J’ai les deux sites suivants que je voudrais pointer vers ma seule machine virtuelle cloud.

Avant la mise en œuvre, comprenons comment cela fonctionne.

Le concept d’avoir plusieurs sites Web sur une seule instance de serveur Web s’appelle Virtual Server. Il est défini dans le fichier de configuration avec l’URL. Lorsqu’une demande est faite à une URL définie, le serveur Web servira le trafic à partir de la racine de document respective.

Configurer Virtual Host dans Apache pour héberger plusieurs domaines

  • Connectez-vous au serveur HTTP Apache
  • Allez à l’emplacement de la configuration apache. ( dans l’installation par défaut – vous le trouverez ici /etc/httpd/conf/httpd.conf)
  • Faites une sauvegarde du fichier httpd.conf
  • Créez un conteneur VirtualHost comme ci-dessous que j’ai fait pour deux domaines.
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/lab
   ServerName lab.toptips.fr.com
   ErrorLog logs/lab.toptips.fr.com-error_log
   CustomLog logs/lab.toptips.fr.com-access_log common
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/gf-dev
   ServerName gf.dev
   ErrorLog logs/gf.dev-error_log
   CustomLog logs/gf.dev-access_log common
</VirtualHost>

Remarque : Modifiez la valeur de ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog en fonction de vos besoins.

  • Redémarrez Apache HTTP et testez les deux URL.

Configurer l’hôte virtuel dans Nginx pour héberger plusieurs domaines

  • Connectez-vous au serveur Nginx
  • Accédez à l’emplacement où vous avez installé Nginx. (dans l’emplacement par défaut – vous le trouverez ici /etc/nginx/)

Il existe plusieurs façons d’y parvenir. Soit vous pouvez modifier le fichier nginx.conf ou le fichier personnalisé si vous en avez. Vous pouvez également créer un custom.conf sous le dossier conf.d. Choisissez ce qui fonctionne pour vous et effectuez une sauvegarde si vous modifiez un fichier existant.

  • Créez un bloc de serveur pour les deux URL comme je l’ai montré ci-dessous.
server {
listen 80;
   root /opt/htdocs/lab;
index index.html index.htm;
   server_name lab.toptips.fr.com;
   location / {
       try_files $uri $uri/ =404;
   }
}

server {
   listen 80;
   root /opt/htdocs/gf-dev;
   index index.html index.htm;
   server_name gf.dev;
   location / {
       try_files $uri $uri/ =404;
   }
}

Remarque : Modifiez la valeur de root, nom_serveur en fonction de vos besoins.

  • Redémarrez Nginx et testez les deux URL

N’oubliez pas de mettre à jour l’enregistrement DNS de votre URL pour le mapper à l’IP du serveur. Une fois cela fait, vous devriez pouvoir accéder aux URL qui sont servies via la configuration ci-dessus que vous avez faite.

Conclusion

C’était le guide rapide pour héberger plusieurs domaines dans une seule instance de serveur Web comme Apache ou Nginx. Une fois votre site Web en ligne, n’oubliez pas de le tester contre les vulnérabilités de sécurité.

Vous avez apprécié la lecture de l’article ? Que diriez-vous de partager avec le monde ?