EXtplorer als 3rd-party Applikation
Einleitung
Der eXtplorer ist ein schöner und relativ schneller Filemanager, wäre da nicht eine Einschränkung speziell für unsere DiskStation. Er funktioniert nicht ohne Anpassung, wenn man ihn per https:// als 3rd-party App aufrufen möchte. Er geht bei einer HTTPS-Verbindung automatisch von Port 443 aus, welcher ja normalerweise der Standardport für HTTPS-Verbindungen ist. Da der System-Apache als HTTPS-Port nur 5001 akzeptiert, wird der Aufruf mit einer Fehlermeldung quittiert. Mit einer kleinen Änderung am PHP-Script init.php lässt sich der eXtplorer per https:// als 3rd-party App aufrufen.
Voraussetzungen
- Hinweise zur Integration von 3rd-party Applikationen beachten.
- Zugriff auf DiskStation mittels Kommandozeile.
Installation
Zuerst ein Verzeichnis extplorer in /usr/syno/synoman/phpsrc/ erstellen und den Inhalt vom heruntergeladenen und entpacktem eXtplorer dort hinein kopieren.
mkdir /usr/syno/synoman/phpsrc/extplorer
- Ein Verzeichnis extplorer in /usr/syno/synoman/webman/3rdparty erzeugen:
mkdir /usr/syno/synoman/webman/3rdparty/extplorer
- Datei application.cfg im Verzeichnis extplorer erstellen:
vi /usr/syno/synoman/webman/3rdparty/extplorer/application.cfg
- application.cfg mit folgenden Inhalt füllen:
text = eXtplorer description = eXtplorer File Manager type = embedded path = /phpsrc/extplorer/index.php
Anpassung
Das Script init.php im Verzeichnis /usr/syno/synoman/phpsrc/extplorer/include/ mit einem Editor öffnen und folgende Änderungen durchführen:
von Zeile 69 bis 76 ersetzen wir:
if($_SERVER['SERVER_PORT'] == 443 ) { $GLOBALS["script_name"] = "https://".$GLOBALS['__SERVER']['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"]; $GLOBALS['home_url'] = "https://".$GLOBALS['__SERVER']['HTTP_HOST'].dirname($GLOBALS['__SERVER']["PHP_SELF"]); } else { $GLOBALS["script_name"] = "http://".$GLOBALS['__SERVER']['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"]; $GLOBALS['home_url'] = "http://".$GLOBALS['__SERVER']['HTTP_HOST'].dirname($GLOBALS['__SERVER']["PHP_SELF"]); }
durch folgenden Code:
if (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') { $prot = "https://"; } else { $prot = "http://"; } $GLOBALS["script_name"] = $prot.$GLOBALS['__SERVER']['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"]; $GLOBALS['home_url'] = $prot.$GLOBALS['__SERVER']['HTTP_HOST'].dirname($GLOBALS['__SERVER']["PHP_SELF"]);
Tipp
Defaultmäßig ist im File-Modus der Webroot (/var/services/web/) als Root eingestellt, man kann aber über Administration - Benutzer - Username wählen - Homedir - ändern den Rootpfad beliebig ändern. (Voraussetzung ist natürlich eine angepasste php.ini, wie in Integration von 3rd-party Applikationen beschrieben.
Umlaute
Leider hat der eXtplorer in der Version 2.0.0 ein Problem mit der Darstellung und den Dateifunktionen bei Umlauten. Seit dem RC2 ist eine Basis-Unterstützung für UTF-8 implementiert worden, die allerdings auf der DiskStation nicht nötig ist und so für Probleme mit den deutschen Umlauten sorgt. Es ist möglich, den Code wieder zu bereinigen oder sich die entsprechend geänderten Dateien hier herunterzuladen.