Apache Erweiterungen

Aus Synology Wiki
Wechseln zu: Navigation, Suche

Hinweis

Diese Anleitung beruht auf der Beschreibung des Forenmitglieds Brian!. Der Beitrag sowie die Diskussion zum Thema kann im Forum verfolgt werden

Worum geht es?

Einleitung

Der User- und System-Apache, welcher von Synology in der Firmware integriert ist, verfügt nicht über alle Module. Somit ist der Funktionsumfang des Apache eingeschränkt. Zu den fehlenden Modulen gehört auch das Modul-Paket mod_proxy.

Wer einen Apache Server mit größerem Funktionsumfang benötigt hat nun zwei Möglichkeiten, entweder die Installation und Nutzung eines dritten Alternativen Apache neben den beiden von Haus aus installierten User- und System-Apache - oder die Möglichkeit bloß die Module dieses dritten Apache für die systemeigenen Apache durch umkopieren und dortiges einbinden zunutzen.

DS209+ und mod_proxy

Leider sind diese beiden Möglichkeiten z.Z. nicht in Verbindung mit einer DS209+ möglich, da es z.Z. keinen funktionierenden dritten Apache für dieses Modell gibt.

Hier hat der Synology Support, auf eine persönliche Anfrage hin, nachgebessert und speziell für die DS209+ ein (inoffizielles) mod_proxy Paket compiliert und freundlicher Weise genehmigt, dieses Paket der deutschen Community zur Verfügung zu stellen.

Das Paket kann im Anhang des entsprechenden Foren Beitrag zu diesem Thema heruntergeladen werden.

Voraussetzungen

  • Zugriff auf das NAS per Telnet/SSH muss aktiviert sein


Vorgehensweise

Installation

Zunächst muss das notwendige Paket (hier im Forum als Anhang zu finden) auf der Kommandozeile installiert werden:

Hierzu empfiehlt es sich, das gepackte Paket über einen Rechner zum Beispiel in den öffentlichen Ordner Public zu entpacken um von der Kommandozeile auf den Paketinhalt zugreifen zu können.

Das Paket enthält folgende Module:

mod_proxy.so
mod_proxy_ftp.so
mod_proxy_http.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so

Die Module des Paketes in den Ordner für die Module des User-Apaches verschieben:

mv /volume1/public/mod_proxy* /usr/syno/apache/modules

Alternativ können die Module des Paketes auch in den Ordner kopiert werden:

cp /volume1/public/mod_proxy* /usr/syno/apache/modules

Die Konfiguration des User-Apaches bearbeiten (hierzu bietet sich der Kommandozeilen Editor vi an), so dass die gewünschten Module verwendet werden:

vi /usr/syno/apache/conf/httpd.conf-user

Ziemlich am ende dieser Konfigurationsdatei werden die einzelnen Module geladen. Diese Stelle sieht in etwa wie folgt aus:

AddType application/x-httpd-php .php
LoadModule php5_module /lib/libphp5.so

LoadModule deflate_module modules/mod_deflate.so

<IfModule mod_deflate.c>
        DeflateCompressionLevel 2
        AddOutputFilterByType DEFLATE text/html text/plain text/xml
        AddOutputFilter DEFLATE js css
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.[0678] no-gzip
        BrowserMatch \bMSIE\s7  !no-gzip !gzip-only-text/html
</IfModule>

LoadModule headers_module modules/mod_headers.so

Mit dem Befehl LoadModule werden die Module geladen. Im Grunde spielt die Stelle wo diese Module in der Konfigurationsdatei geladen werden keine all zu große Rolle, aber allein schon aus gründen der Übersichtlichkeit empfiehlt es sich, weitere Module in diesem Bereich einzutragen.

Die einzelnen Module lassen sich dann wie folgt laden:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so


Empfehlung

Um für zukünftige Änderungen und Firmware Updates besser gewappnet zu sein empfiehlt es sich, die Änderungen an der User-Apache Konfigurationsdatei in eine eigene Datei auszulagern.

Hierzu genügt es am Ende der User-Apache Konfigurationsdatei (oder im Bereich der anderen Includes) eine eigene Konfigurationsdatei, mit dem Befehl

Include

gefolgt vom Speicherort (ab dem Ordner des User-Apache, also dem Ordner /usr/syno/apache/) und Name der einzufügenden Konfigurationsdatei, einzubinden.

Ein Beispiel:

Include conf/user.conf

Diese Zeile bindet die Konfigurationsdatei user.conf aus dem Ordner /usr/syno/apache/conf/ mit in die User-Apache Konfigurationsdatei ein.
In dieser Datei könnten auch direkt die Konfigurationsparameter des Proxy eingetragen werden.

Warnhinweis

Der unachtsame Umgang mit dem mod_proxy Paket kann zu einem erheblichen Sicherheitsrisiko führen. Daher sollten ausschließlich nur die Module geladen werden, welche auch wirklich Verwendung finden und es ist sehr ratsam sich vorher genau zu informieren was die einzelnen Module und Befehle für Konsequenzen nach sich ziehen.

Weiterführende Links

Detaillierte Informationen speziell zu dem mod_proxy Paket gibt es hier und detaillierte Informationen rund um den Apache Server hier.



(Stand 10.06.2009)