Apache et Nginx sous Synology DSM 7.0

Les NAS Synology embarquent par défaut un serveur web Nginx. Mais alors à quoi servent les paquets WebStation ou encore Apache, et dans quels cas les utiliser ?

Voici une clarification du sujet qui n’a pas été documentée jusqu’à présent à ma connaissance.

WebStation

D’un point de vue Synology, le serveur Web sous DSM s’appelle « Web Station ».

Il y a cependant plusieurs subtilités à connaitre :

  • WebStation utilisera en réalité le serveur Nginx comme « moteur » par défaut
  • Dans le cas où Nginx ne convient pas, webStation pourra basculer vers un autre serveur : Apache

Ceci est parfaitement illustré quand vous allez dans le « portail de services Web » de WebStation sous DSM 7.0 :

Si vous avez installé le paquet Apache, on voit que le serveur HTTP peut-être Nginx ou bien Apache :

Dans quel cas utiliser l’un ou l’autre ?

On peut partir du principe que comme Nginx est le serveur par défaut, il n’y a pas de raison particulière d’installer Apache.

Cependant, à l’usage, comme certains paquets auront besoin d’Apache (c’est le cas de WordPress par exemple), vous vous retrouvez vite à devoir installer ce paquet.

Voici comment s’y retrouver entre les deux.

Usage Nginx

Mais pourquoi Nginx n’est pas considéré comme étant un paquet sous DSM 7.0 ?

La raison est simple : le système DSM (qui propose une interface graphique web d’administration de votre NAS) a besoin d’un serveur web pour fonctionner.

Et vous l’aurez deviné, le serveur web choisi par Synology est Nginx.

Concrètement, cela signifie que vous pourrez obtenir des informations sur les erreurs qui peuvent survenir dans DSM au niveau serveur.

Une fois connecté en SSH à votre NAS, voici comment faire :

sudo -i
tail -f /var/log/nginx/error.log 

Le fichier ci-dessus contiendra alors toutes les erreurs qui peuvent être remontées dans l’utilisation du serveur web Nginx par DSM ou par un internaute :

  • Lors de l’appel à une page web inconnue
open() "/var/services/web/page" failed (2: No such file or directory)
  • Ou alors de manière plus technique et purement lié à DSM : lors d’un problème d’appel à un script CGI vers votre serveur (ci-dessous une application ExtJS dont l’appel CGI tombe en erreur) :
 upstream prematurely closed connection while reading response header from upstream, request: "GET /webman/3rdparty/simpleextjsapp/test2.cgi"

Le fichier de log en question pourra être précieux, si vous souhaitez analyser ce qui se passe sur votre NAS.

Usage Apache

Comme indiqué précédemment, le cas d’usage d’Apache apparait si un paquet nécessite ce type de serveur.

Ce qui est perturbant c’est qu’on ne retrouve pas facilement les répertoires des logs d’Apache.

Voici quelques éléments ci-dessous.

Lorsque le paquet « Apache 2.4 » est installé, les logs d’erreur sont disponibles dans le fichier ci-dessous :

/var/log/httpd/apache24-error_log

Attention cependant : il semble y avoir encore quelques subtilités :

  • L’arrêt / relance du serveur Apache apparait bien dans les logs
/usr/syno/bin/synosystemctl stop pkg-apache24
log: caught SIGTERM, shutting down
/usr/syno/bin/synosystemctl start pkg-apache24
log : Apache/2.4.43 (Unix) configured -- resuming normal operations
Command line: '/var/packages/Apache2.4/target/usr/local/bin/httpd24
  • L’accès à une page web inconnue qui génère une erreur 404 n’est pas dans les logs du fichier /var/log/httpd/apache24-error_log

Reste à savoir où ce type d’erreur est loguée, car ici c’est bien le serveur apache qui génère ce code erreur 🙂

  • Une erreur purement liée à DSM (cas du CGI précédent) n’est pas logué dans les logs d’Apache

C’est normal puisque DSM utilise bien le serveur Nginx pour fonctionner et non pas Apache.

Pour finir

J’espère que ces informations permettront de clarifier l’usage de Nginx ou d’Apache sur votre NAS et de pouvoir mettre la main -pourquoi pas- sur des éléments intéressants en cas de problème 🙂

Notez enfin que le centre d’assistance Synology sous DSM, vous permet de générer des journaux par application.

Cette fonctionnalité est utile lors d’un besoin ponctuel d’assistance et les logs en question ne semblent pas dans un format lisible.

5 réflexions sur “Apache et Nginx sous Synology DSM 7.0

  1. Bonjour, je suis tombé par hasard sur votre blog en recherchant une solution au problème ci-dessous, c’est une mine d’or que je vais lire attentivement. Mon problème: quand j’essaie d’installer le package ‘Apache HTTP server 2.4’ (sous DSM 7.2 et après avoir installé Web Station), j’arrive au message d’erreur « failed to start Apache HTTP server 2.4 ». J’essaie de faire un « Repair » sans succès. Un élément de contexte: j’ai installé et désinstallé des packages pour les tester, comme Docker (qui a disparu de la liste des packages), Synology Drive, Synology Office, etc. Je soupçonne qu’une désinstallation n’a pas été complète et perturbe Apache (Docker?). Pourriez-vous m’indiquer comment identifier la cause du problème? Peut-être accéder à un log par SSH? En vous remerciant!

    J’aime

Laisser un commentaire