• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • Apprenons à configurer Apache et Nginx pour héberger plusieurs sites Web.

    Hébergement de sites sur le Serveur cloud donne beaucoup de 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 professionnels mais que vous ne souhaitez pas les héberger séparément, vous pouvez profiter 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 VM cloud.

    • lab.geekflare.com
    • gf.dev

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

    Le concept d'avoir plusieurs sites Web sur une seule instance de serveur Web est appelé 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 servirait le trafic de la Document Root.

    Configurer l'hôte virtuel dans Apache pour héberger plusieurs domaines

    • Connectez-vous au serveur HTTP Apache
    • Accédez à l'emplacement de 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éer un VirtualHost conteneur comme ci-dessous, je l'ai fait pour deux domaines.
    <VirtualHost *:80>
    ServerAdmin [email protected]
       DocumentRoot /opt/htdocs/lab
       ServerName lab.geekflare.com
       ErrorLog logs/lab.geekflare.com-error_log
       CustomLog logs/lab.geekflare.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>

    Note : Changer la valeur de ServerAdmin, DocumentRoot, Nom du serveur, 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 nginx.conf fichier ou 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.geekflare.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;
       }
    }

    Note : Changer la valeur de racine, nom du 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 mapper à l'adresse 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 testez-le contre les vulnérabilités de sécurité.