Apache Webserver
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