Apache

Création de Virtual Hosts

Pré-requis


Création du répertoire du site

sudo mkdir -p /var/www/mon-site.com/public_html
sudo chown -R $USER:$USER /var/www/mon-site.com/public_html
sudo chmod -R 755 /var/www

Exemple de fichier de test :

echo "<h1>Bienvenue sur mon-site.com</h1>" > /var/www/mon-site.com/public_html/index.html

Création du fichier de configuration

Les fichiers sont stockés dans /etc/apache2/sites-available/.

sudo nano /etc/apache2/sites-available/mon-site.com.conf

Exemple de configuration minimale :

<VirtualHost *:80>
    ServerName mon-site.com
    ServerAlias www.mon-site.com
    
    DocumentRoot /var/www/mon-site.com/public_html
    
    ErrorLog ${APACHE_LOG_DIR}/mon-site.com_error.log
    CustomLog ${APACHE_LOG_DIR}/mon-site.com_access.log combined
</VirtualHost>

Activation du site

sudo a2ensite mon-site.com.conf
sudo systemctl reload apache2

Vérification


Désactiver un site

sudo a2dissite mon-site.com.conf
sudo systemctl reload apache2

Notes utiles

Page d'erreur sur reverse proxy

Objectif

Lorsque ProxyPass / est utilisé, toutes les requêtes sont envoyées au backend.

Pour que les pages d'erreur restent accessibles même si le backend est indisponible, il faut les servir directement depuis Apache.

Configuration

# Ne pas proxifier les pages d'erreur
ProxyPass /errors/ !

# Répertoire des fichiers servis localement
DocumentRoot /var/www/exaldc

# Page d'erreur personnalisée
ErrorDocument 503 /errors/503.html

Arborescence

/var/www/exaldc/errors/503.html

À retenir

Exemple

Requête :

https://monserveur/errors/503.html

Fichier servi :

/var/www/exaldc/errors/503.html