Retour aux outils

Générateur VirtualHost Apache

Renseignez un domaine, choisissez des fichiers statiques ou un reverse proxy, et obtenez un bloc <VirtualHost> complet — SSL, journalisation, permissions de répertoire et limites d'upload incluses. Rien ici n'est envoyé ni exécuté ; copiez-le vous-même dans /etc/apache2/sites-available/.

Bases

Domaine et fichier

ServerName est ce qu'Apache compare à l'en-tête Host de la requête ; tout le reste en découle.

séparés par des espaces

Contenu

Ce que ce vhost sert

Les fichiers sous ce chemin sont servis directement. Les permissions et les réglages <Directory> sont ci-dessous.

SSL

Hôte virtuel HTTPS

anciens bundles de certificat uniquement

Pas encore de certificat ? Générez les commandes OpenSSL/Certbot avec le Générateur de commandes SSL cet outil ne fait que référencer les chemins de fichiers obtenus.

Journalisation et accès

Logs et permissions de répertoire

Directory Optionsmode site statique uniquement — un reverse proxy n'a pas de répertoire local à servir

Uploads

Taille du corps de requête

L'équivalent Apache de client_max_body_size chez nginx. Nécessaire uniquement si ce vhost accepte des uploads.

Validation

Erreurs courantes, vérifiées en direct

Les ports n'entrent pas en collision

Les blocs HTTP et HTTPS utilisent des ports différents.

Le nom du fichier de config se termine par .conf

a2ensite le prendra en compte.

Chaque bloc VirtualHost est fermé

Un </VirtualHost> manquant par erreur est une faute d'édition manuelle, pas quelque chose que ce résultat peut produire.

Résultat

Config vhost apache2

Config vhost apache2

<VirtualHost *:80>
    ServerName app.wespner.eu
    ServerAlias www.app.wespner.eu

    # Redirect every request to HTTPS, preserving path and query string
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [END,NE,R=permanent]

    ErrorLog "/var/log/apache2/app.wespner.eu-error.log"
    CustomLog "/var/log/apache2/app.wespner.eu-access.log" combined
</VirtualHost>

<VirtualHost *:443>
    ServerName app.wespner.eu
    ServerAlias www.app.wespner.eu

    SSLEngine on
    SSLCertificateFile "/etc/letsencrypt/live/app.wespner.eu/fullchain.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/live/app.wespner.eu/privkey.pem"

    DocumentRoot "/var/www/app.wespner.eu/public"

    <Directory "/var/www/app.wespner.eu/public">
        Options -Indexes FollowSymLinks -MultiViews
        AllowOverride None
        Require all granted
    </Directory>

    ErrorLog "/var/log/apache2/app.wespner.eu-error.log"
    CustomLog "/var/log/apache2/app.wespner.eu-access.log" combined
</VirtualHost>

le déployer

# 1. Save the config above as:
sudo nano /etc/apache2/sites-available/app.wespner.eu.conf

# 2. Enable the modules this vhost needs
sudo a2enmod ssl rewrite

# 3. Enable the site
sudo a2ensite app.wespner.eu.conf

# 4. Test the config, then reload Apache
sudo apachectl configtest && sudo systemctl reload apache2

Vous gérez votre propre serveur de jeu ?

Serveurs de jeu Wespner avec protection DDoS, disques NVMe et activation en quelques minutes.

Découvrir l'hébergement