**IMPORTANT**
la manip décrite est un peu modifiée avec DSM 5.0:
L'emplacement du fichier httpd.conf-user à changé (dans "/etc/httpd/conf" maintenant)
la commande de redémarrage apache est: /usr/syno/sbin/synoservicecfg --restart httpd-user
Attention: en cas d'erreurs de syntaxe ou autre le service ne sera pas redémarré mais rien ne le signale au terminal.
Il est conseillé d'aller visualiser les dernières lignes du fichier "/var/log/upstart/httpd-user.log" pour s'assurer que le restart s'est bien passé.
Tout d'abord je tiens a citer le travail de PatrickH dont le tuto doit être considéré comme la base de ce qui va suivre
J'en recommande chaudement la lecture préalable si vous voulez comprendre tout ce qui suit.
Dans la suite il sera supposé que vous disposez de votre nom de domaine que nous appellerons "mondomaine.com"
Tous les sous-domaines utilisés par la suite (<sous-domaine>.mondomaine.com donc ) devront avoir été déclarés dans votre console d'administration de nom de domaine et pointer vers votre ip externe.
A noter qu'il est aussi possible d'appliquer ce qui suit dans le cas des sous-domaine DDNS fourni par Synology (du style par exemple "monnas.synology.me"). On utilisera dans ce cas des sous-domaine de niveau2 (soudomaine.monnas.synology.me) sans avoir besoin à les déclarer, c'est automatique dans ce cas.
Les redirections de ports pour les connexions externe sur les ports et 443 devront aussi avoir été mises en oeuvre dans le routeur ou la box à destination de l'IP sur le réseau interne du Syno.
Toutes les opérations suivantes doivent s'exécuter en étant connecté sur le Syno en ligne de commande (via ssh ou telnet) sur le compte "root"
pre-requis
le service web station doit être activé (panneau de config->services web->applications wev->activer web station)
si on souhaite aussi se connecter en https, il que l'option panneau de config->services web->Service Http->activer la connexion HTTPS pour les services web soit activée.
ajouter la ligne suivante *à la fin* de /usr/syno/apache/conf/httpd.conf-user
include /usr/local/etc/http.d/revproxy.conf
Attention: cette opération devra être effectuée de nouveau en cas d'upgrade firmware DSM.
(mais ce sera la seule chose à faire dans ce cas, tout ce qui est décrit ci dessous sera préservé)
Créer le répertoire "/usr/local/etc/http.d"
mkdir -p /usr/local/etc/http.d
Tous le blocs de configurations décrits dessous seront à mettre dans /usr/local/etc/http.d/revproxy.conf dans l'ordre.
Première partie - chargement des modules (tous ne sont pas nécessaires mais peuvent servir pour d'autres types de configs, par exemple le module "mod_proxy_ftp" permet par exemple d’accéder de l'extérieur à un serveur ftp freebox en http.
<IfModule !proxy_module>
LoadModule proxy_module modules/mod_proxy.so
</IfModule>
<IfModule !proxy_connect_module>
LoadModule proxy_connect_module modules/mod_proxy_connect.so
</IfModule>
<IfModule !proxy_http_module>
LoadModule proxy_http_module modules/mod_proxy_http.so
</IfModule>
<IfModule !proxy_ftp_module>
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
</IfModule>
Obligatoire avant la suite
NameVirtualHost *:
<VirtualHost *:>
ServerName *
DocumentRoot /var/services/web
</VirtualHost>
2ème partie - acces aux sevices DSM en http
Ajouter le bloc suivant. (le nom "dsm" est un exemple). Dans le cas d'un domaine DDNS fourni par synology on aura par exemple "dsm.monnas.synology.me"
<VirtualHost *:>
ServerName dsm.mondomaine.com
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
</VirtualHost>
Cette simple config permet de se connecter sur le port a l'interface dsm, en utilisant l'url http://dsm.mondomaine.com
accès direct à filestation (sous réserve que le port 7000 ait affecté a file station dans le "portail des applications" du panneau de configuration)
<VirtualHost *:>
ServerName filestation.mondomaine.com
ProxyPass / http://localhost:7000/
ProxyPassReverse / http://localhost:7000/
</VirtualHost>
Ce qui donnera acces de façon similaire a filestation en http sur le port via l'url http://filestation.mondomaine.com.
On procèdera de façon similaire pour les autres services tels qu'audiostation, downloadstation, webdav, etc ... en choisissant a chaque fois un nom de sous-domaine différent et le numéro de port correspondant.
3eme partie - acces https (SSL)
Cette partie du fichier de config devra être précédée de la ligne:
NameVirtualHost *:443
On va ensuite ajouter des blocs "VirtualHost" pour tous les services auquel on veit pouvoir accéder en https en sur le port 443
Cas de l'acces à l'interface DSM:
<VirtualHost *:443>
ServerName webman.mondomaine.com
SSLCipherSuite HIGH:MEDIUM
SSLProtocol all -SSLv2
SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt
SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key
SSLEngine on
SSLProxyEngine on
ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
</VirtualHost>
Pour les autres services, on déclinera cela de façon similaire à ce que l'on a fait plus haut dans le cas http, en dupliquant le bloc ci dessus, puis en éditant dans la copie les lignes des clauses ServerName, ProxyPass et ProxyPassReverse. (attention à ne pas se tromper sur les numéros de ports utilisés en mode SSL, celui par défaut de filestation est 7001 par exemple, cf le portail des applications)
prise en compte des modifications
Pour cela, il est nécessaire de rédémarrer le serveur apache.
Utiliser la commande:
/usr/syno/etc/rc.d/S97apache-user.sh restart