Aller au contenu

Virtual Hosts Apache

De Wiki Pat-Informatik
🏠 Accueil 📚 Index 🐧 Linux 🌐 Réseau 🔒 Cybersécurité 🖥️ Virtualisation ✅ Checklists d'intervention 📚 Tutoriels 🤝 Services

🌐 Virtual Hosts Apache

Fichier:Apache.png
Gestion des Virtual Hosts Apache

Les Virtual Hosts (hôtes virtuels) permettent à Apache d'héberger plusieurs sites Web sur un seul serveur.

Chaque site peut disposer :

  • de son propre nom de domaine ;
  • de ses propres fichiers ;
  • de ses propres journaux ;
  • de sa propre configuration.

Cette fonctionnalité est essentielle pour héberger plusieurs services sur une seule machine.


Pourquoi utiliser les Virtual Hosts ?
  • Héberger plusieurs sites sur un même serveur
  • Séparer les applications
  • Faciliter l'administration
  • Utiliser plusieurs noms de domaine
  • Centraliser l'infrastructure

Exemple simple

Sans Virtual Hosts :

192.168.1.100
        |
        +-- Un seul site Web

Avec Virtual Hosts :

192.168.1.100
        |
        +-- wiki.pat-informatik.fr
        |
        +-- glpi.pat-informatik.fr
        |
        +-- cloud.pat-informatik.fr
        |
        +-- blog.pat-informatik.fr

Cas pratique Pat Informatik

Sous-domaine Application Répertoire
wiki.pat-informatik.fr MediaWiki /

Répertoires Apache

Dossier Description
/etc/apache2/sites-available/ Configurations disponibles
/etc/apache2/sites-enabled/ Configurations activées
/var/www/ Répertoires Web

Création d'un site

Créer le dossier :

sudo mkdir -p /var/www/wiki

Créer une page de test :

sudo nano /var/www/wiki/index.html

Contenu :

<h1>Wiki Pat Informatik</h1>

Création du Virtual Host

Créer le fichier :

sudo nano /etc/apache2/sites-available/wiki.conf

Contenu :

<VirtualHost *:80>

    ServerName wiki.pat-informatik.fr

    ServerAdmin admin@pat-informatik.fr

    DocumentRoot /var/www/wiki

    ErrorLog ${APACHE_LOG_DIR}/wiki-error.log

    CustomLog ${APACHE_LOG_DIR}/wiki-access.log combined

</VirtualHost>

Activation du site

Activer :

sudo a2ensite wiki.conf

Tester :

sudo apachectl configtest

Résultat attendu :

Syntax OK

Recharger Apache :

sudo systemctl reload apache2

Désactivation du site

sudo a2dissite wiki.conf

Puis :

sudo systemctl reload apache2

Virtual Host pour GLPI

Exemple :

<VirtualHost *:80>

    ServerName glpi.pat-informatik.fr

    DocumentRoot /var/www/glpi/public

    <Directory /var/www/glpi/public>
        Require all granted
        AllowOverride All
    </Directory>

</VirtualHost>

Virtual Host pour WordPress

<VirtualHost *:80>

    ServerName blog.pat-informatik.fr

    DocumentRoot /var/www/blog

</VirtualHost>

HTTPS avec Let's Encrypt

Installer Certbot :

sudo apt install certbot python3-certbot-apache -y

Obtenir le certificat :

sudo certbot --apache

Apache crée automatiquement un Virtual Host HTTPS :

<VirtualHost *:443>
...
</VirtualHost>

Vérifications utiles

Afficher les sites actifs :

ls /etc/apache2/sites-enabled/

Afficher les Virtual Hosts :

sudo apachectl -S

Vérifier Apache :

sudo systemctl status apache2

Dépannage

Erreur 403

Vérifier :

  • Les permissions
  • Le chemin DocumentRoot
  • Le module rewrite

Site inaccessible

Vérifier :

  • DNS
  • Pare-feu
  • Apache

Erreur de configuration

sudo apachectl configtest

Bonnes pratiques

💡 Recommandations
  • Utiliser un Virtual Host par application.
  • Séparer les journaux.
  • Utiliser HTTPS systématiquement.
  • Sauvegarder les configurations.
  • Tester la configuration avant chaque redémarrage.

Pages associées

Infrastructure Web


Pat Informatik

Apache • Hébergement Web • Virtual Hosts • Linux • GLPI • WordPress ⬆ Retour en haut