Web station - synology

De Wiki doc

Révision datée du 19 décembre 2024 à 00:15 par Ycharbi (discussion | contributions) (Page créée avec « Category:Synology [https://www.synology.com/fr-fr/dsm/packages/WebStation Web Station] est une application additionnelle pour [https://www.synology.com/fr-fr/dsm DSM] [https://fr.wikipedia.org/wiki/Synology Synology] disponible dans le gestionnaire de paquets du système. Il permet d'installer et de configurer les serveurs ''WEB'' Apache2 et ''Nginx'' (ce dernier est fourni par défaut) sur le [https://fr.wikipedia.org/wiki/Serveur_de_stockage_en_r%C3%A9... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)


Web Station est une application additionnelle pour DSM Synology disponible dans le gestionnaire de paquets du système. Il permet d'installer et de configurer les serveurs WEB Apache2 et Nginx (ce dernier est fourni par défaut) sur le NAS.

Listage de fichiers

Bien que complètement aberrant, l'outil ne permet pas de lister les fichiers (Directory Listing) d'un hôte virtuel. Cette fonctionnalité, devant de préférence être désactivée lors de l'hébergement de pages WEB pour des raisons de sécurité, peut être l'objet de la mise en œuvre de certains sites destinés au partage de fichiers. L’absence de cette fonctionnalité est donc particulièrement handicapante, d'autant plus que le serveur renvoie une erreur 403 sans plus d'explications, même dans les journaux (bo courage pour en trouver l'origine donc)...

Dans la mesure où aucune option de l'interface WEB ne permet son activation et où, malgré l'apparente bonne idée de la chose, la modification directe des fichiers d'hôtes virtuels de Nginx ne peut se couronner de succès car réinitialisés au démarrage du service, cette section va montrer le cheminement pour tout de même parvenir à une configuration fonctionnelle (DSM 7.2.2-72806 Update 2 pour l'exemple).

INFORMATION

Il est nécessaire de se connecter en SSH avec l'utilisateur root pour effectuer ce qui va suivre.

Chaque hôte virtuel, intitulés "Portail Web", créé dans l'application Web Station ajoute un ensemble de fichiers de configurations portant des noms indevinables à l'avance côté serveur à l'emplacement /usr/local/etc/nginx/sites-enabled/ et ayant pour lien symbolique /etc/nginx/sites-enabled.

Ce qui va nous intéresser dans ces fichiers, ce sont les inclusions d'autres configuration car en suivant une chaîne imbriquée, nous allons trouver un endroit pour y mettre le notre de façon persistante (les étapes seront à reproduire pour chaque site).

# Afficher la dernière ligne de l'hôte virtuel "toto"
tail /usr/local/etc/nginx/sites-enabled/webservice_portal_033b9685-e292-4d50-a85a-a495479c6096
# La ligne qui nous intéresse
# est la suivante : include conf.d/.service.033b9685-e292-4d50-a85a-a495479c6096.45457345-2f5c-449e-8a97-d1fe7f228ffe.conf*;

# Afficher ce fichier pour voir ce qu'il inclus
tail /etc/nginx/conf.d/.service.033b9685-e292-4d50-a85a-a495479c6096.45457345-2f5c-449e-8a97-d1fe7f228ffe.conf
# La dernière ligne nous renvoi l'emplacement d'une
# configuration statique : include /usr/local/etc/nginx/conf.d/45457345-2f5c-449e-8a97-d1fe7f228ffe/user.conf*;

# Le répertoire de destination n'existant pas, il faut le créer
mkdir /usr/local/etc/nginx/conf.d/45457345-2f5c-449e-8a97-d1fe7f228ffe/

# Ajouter la configuration persistante permettant le listage des fichiers
echo 'autoindex on;' > /usr/local/etc/nginx/conf.d/45457345-2f5c-449e-8a97-d1fe7f228ffe/user.conf

# Redémarrer le service
systemctl restart nginx

Le listage des fichiers du site via la directive autoindex on; du module ngx_http_autoindex_module de Nginx est désormais fonctionnel et persistant aux redémarrages.