Hello à tous et surtout aux utilisateurs d’asustor, aujourd’hui un tuto sur le vhost !
Comme vous le savez les NAS Asustor repose sur une interface nommée ADM permettant la gestion et configuration complète du NAS.
Cependant celle-ci ne permet pas la déclaration de plusieurs VHOST utilisant le même ports par exemple :
port 443 – déjà utilisé par défaut pour le https
Cependant nous voulons mettre en place un domaine tel que le service Owncloud d’asustor réponde sur https://owncloud.mondomaine.com
qui par défaut répond avec l’url formé comme ceci https://mondomaine.com/ownCloudEnterprice/
.
Pour ce faire nous allons devoir modifier la configuration apache2 en nous connectant via SSH sur le NAS.
Rendons-nous désormais dans le répertoire “sites-enabled” d’apache2 :
cd /usr/builtin/etc/apache2/sites-enabled/
vous trouverez par défaut dans ce répertoire 2 fichier “@default” et “@default-ssl”.
@default contient :
<VirtualHost _default_:80>
ServerName localhost
DocumentRoot "/volume1/Web"
SSLEngine off
</VirtualHost>
@default-ssl contient :
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName localhost
DocumentRoot "/volume1/Web"
SSLEngine on
</VirtualHost>
</IfModule>
Nous allons donc rajouter dans le fichier @default-ssl notre configuration pour rendre le domaine owncloud.mondomaine.com fonctionnel sur le port 443.
Voici les modifications à effectuer :
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName localhost
DocumentRoot "/volume1/Web"
SSLEngine on
</VirtualHost>
<VirtualHost *:443>
ServerName owncloud.mondomaine.com
DocumentRoot "/volume1/Web/ownCloudEnterprice/"
SSLEngine on
</VirtualHost>
</IfModule>
une fois les modifications effectués nous redémarrons le service apache via :
/usr/builtin/etc/init.d/S54apache2 restart
Votre owncloud est désormais accessible via https://owncloud.mondomaine.com. (N’oubliez pas de créer l’entrée DNS sur votre registar)
Pour ma pars j’ai également déclarer un VHOST sur le répertoire /Public me servant de répertoire d’upload d’images.
Accessible depuis : https://img.mondomaine.com. (N’oublier pas de créer l’entré DNS sur votre registar) Ceci évite l’utilisation d’un port lambda que nous devrions sans cesse renseigner.
Voici la configuration déclaré au niveau apache :
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName localhost
DocumentRoot "/volume1/Web"
SSLEngine on
</VirtualHost>
<VirtualHost *:443>
ServerName owncloud.mondomaine.com
DocumentRoot "/volume1/Web/ownCloudEnterprice/"
SSLEngine on
</VirtualHost>
<VirtualHost *:443>
ServerName img.mondomaine.com
DocumentRoot "/volume1/Public/"
ScriptAlias /cgi-bin/ "/volume1/Public/cgi-bin"
SSLEngine on
<Directory "/volume1/Public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
</IfModule>
Cependant vous pourrez voir sur la page https://img.mondomaine.com certaines informations de votre serveur Apache tels que la Version etc … ce qui peut être problématique en cas de faille connues sur tel ou tel version Apache.
Pour cela nous allons ajouter les deux lignes suivantes dans le fichier “apache2.conf” :
ServerTokens Prod ServerSignature Off
Cependant il faut également penser qu’à chaque MAJ ADM votre configuration Apache sera remise à zéro étant donnée que ce genre de custom n’est pas géré via ADM.
Pour cela j’utilise un petit script me permettant d’effectuer le backup de mes fichiers de conf apache.
Le script est installé pour ma pars dans un home tel que : /home/xxxx/script/vhost.sh
Il faut cependant ajouter les dossiers suivants dans “/home/xxxx/” :
“backup_apache-vhost”
“archive-apache-vhost”
vhost.sh :
#!/bin/sh
DATE=`date +%d-%m-%Y`
cat /usr/builtin/etc/apache2/sites-enabled/@default > /usr/builtin/etc/apache2/sites-enabled/vhost-http.bck
cat /usr/builtin/etc/apache2/sites-enabled/@default-ssl > /usr/builtin/etc/apache2/sites-enabled/vhost-https.bck
rsync -avi /usr/builtin/etc/apache2/sites-enabled/vhost-http.bck /home/xxx/backup_apache-vhost/vhost-http-$DATE.bck
rsync -avi /usr/builtin/etc/apache2/sites-enabled/vhost-https.bck /home/xxx/backup_apache-vhost/vhost-https-$DATE.bck
find /home/xxx/backup_apache-vhost -name vhost-htt*.bck -type f -mtime +2 -exec mv {} /home/xxx/archive-apache-vhost/ \;
Nous ajouterons ensuite un cron via la commande :
crontab -e
et ajouter :
45 0 * * * /bin/sh /home/xxxx/script/vhost.sh
J’exécute le script tous les jours à 00:45, vous pouvez probablement modifier cela à votre convenance.
Finalement, d’autres postes seront à venir concernant les NAS Asustor’s tels que l’installation d’un certificat Wildcard qui n’est pas géré par ADM.
1 Comment