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
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 :
Recharger la configuration d'Apache
Générer le certificat SSL avec LetsEncrypt
Pour générer le certificat propre au domaine créé, lancer la commande suivante :
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.