Aller au contenu

Utilisation des hôtes virtuels avec Apache2

Les hôtes virtuels permettent à un serveur d'héberger plusieurs services et d'adapter à chacun le comportement d'Apache en spécifiant des directives différentes.

Nous obtiendrons ainsi https://nextcloud.domain.fr qui permettra d'accéder à Nextcloud, https://joommla.domain.fr pour Joomla, phpmyadmin.domain.fr, etc.

Gestion DNS côté registrar

Cette première étape consiste à déclarer dans notre zone DNS gérée côté registrar, c'est à dire depuis le tableau de bord fourni par la société qui nous loue un nom de domaine.

Elle consiste simplement à créer une entrée de type CNAME dons notre zone DNS afin d'ajouter le nouveau sous-domaine.

Création de l'hôte virtuel Apache

Dans cette seconde étape, nous allons créer un fichier de configuration propre au nouveau sous-domaine dans le répertoire utilisé à cette fin par Apache /etc/apache2/sites-available.

Création du fichier

nano /etc/apache2/sites-available/nextcloud.conf

Exemple de fichier de configuration :

<VirtualHost *:443>
 ServerName nextcloud.toto.fr
 DocumentRoot /var/www/html/nextcloud

<Directory /var/www/html/nextcloud>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
 </Directory>

SSLEngine on

ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/nextcloud.domain.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/nextcloud.domain.fr/privkey.pem
</VirtualHost>

Activation du site

Pour activer le site, lancer la commande suivante :

a2ensite nextcloud.conf

Recharger la configuration d'Apache

systemctl reload apache2

Générer le certificat SSL avec LetsEncrypt

Pour générer le certificat propre au domaine créé, lancer la commande suivante :

certbot --apache -d nextcloud.domain.fr

Etendre les domaines gérés par LetsEncrypt

Cette commande permet d'indiquer à LetsEncrypt tous les domaines qu'il doit gérer. Ainsi lorsqu'on renouvelle les certificats, une nouvelle paire de clés privée/publique sera créée pour chaque sous-domaine.

certbot --apache --expand -d toto.fr,mkdocs.domain.fr,joomla.domain.fr,nextcloud.domain.fr