Apache Webserver

Aus Synology Wiki
Wechseln zu: Navigation, Suche

DSM 5

Das stimmt mit DSM 5 nicht mehr so ganz, siehe Apache / Webserver limitations in 5.0

Dienste auf Apache Webserver

Basierend auf diesem Thread im Forum möchte ich hier mal eine kurze Zusammenstellung der Dienste auf dem Apache Server schreiben.

Sicherheit

Grundsätzlich gibt es auf einer Diskstation 2 httpd (Apache) Prozesse, die unter unterschiedlichen Nutzern laufen. Es gibt einen System Apache, der als root läuft und einen User Apache, der als nobody läuft. Es ist aus der Sicht der Sicherheit ein beachtliches Risiko einen Webserver als root laufen zu lassen. Damit bestehen Schreibrechte auf nahezu alle Dateien im Dateisystem. Entsprechend könnte der System Apache locker vom Hocker einfach Systembefehle löschen oder gleich zum Booten notwendige rc-Files entsorgen und den reboot einleiten, damit nix mehr geht.

root Apache

Auf dem Root Apache laufen grundsätzlich diejenigen Anwendungen welche nahezu uneingeschränkten Zugriff auf das Dateisystem benötigen:

  • DSM (Diskstation Manager) im Webbrowser
  • Audiostation
  • Filestation
  • Downloadstation

Per Default läuft nur der System Apache. Zum Aktivieren des User Apache muss zumindest die Photostation aktiviert werden (im DSM). Solange aber die Webstation nicht aktiviert ist liegt der Document Root des User Apache unter /usr/syno/synoman/phpsrc/web und nicht unter /volume1/web

Dateien von Root Apache

  • /usr/syno/etc.defaults/rc.d/S97apache-sys.sh
    Startscript für den Root Apache. Als Root auf der Konsole aufrufen mit den möglichen Parametern start, stop und restart
  • /usr/syno/apache/conf/httpd.conf-sys
    Konfigurationsdatei für den System Apache

User Apache

Auf dem User Apache laufen Anwendungen welche nicht vollen Zugriff auf das Dateisystem benötigen. Von den Synology Anwendungen der DS sind dies:

  • Photostation
  • Blog
  • User Webseiten

Dateien von User Apache

  • /usr/syno/etc.defaults/rc.d/S97apache-user.sh
    Startscript für den User Apache. Als Root auf der Konsole aufrufen mit den möglichen Parametern start, stop und restart
  • /usr/syno/apache/conf/httpd.conf-user
    Konfigurationsdatei für den User Apache
  • /usr/syno/etc/httpd-vhost.conf-user
    VirtualHost-Konfigurationsdatei für den User Apache

Fragen

  • Wo wird entschieden, dass sich bei einem Aufruf von http://ds_ip_adresse (also Port 80) der DSM meldet?
    • Der DSM wird sich nie auf Port 80 melden, denn er läuft entweder auf 5000 (http) und/oder 5001 (https). Auf Port 80 läuft der Webserver und damit auch Blog und Photo. Wenn der User Apache nicht läuft, dann führt ein Aufruf von http://ip_der_ds tatsächlich zum DSM, aber das geschieht über eine Weiterleitung auf den entsprechenden Port des DSM