EXtplorer als 3rd-party Applikation

Aus Synology Wiki
Wechseln zu: Navigation, Suche

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

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.

Weblinks