EXtplorer als 3rd-party Applikation: Unterschied zwischen den Versionen

Aus
(Die Seite wurde neu angelegt: ==Einleitung== Der eXtplorer ist ein schöner und relativ schneller Filemanager, wäre da nicht eine Einschränkung speziell für unsere DiskSation. Er funktioniert ni...)
(kein Unterschied)

Version vom 9. Oktober 2008, 13:36 Uhr

Einleitung

Der eXtplorer ist ein schöner und relativ schneller Filemanager, wäre da nicht eine Einschränkung speziell für unsere DiskSation. 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. Schnell geforscht und eine kleine Änderung am PHP-Script init.php durchgeführt.

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"]);

Tip

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. (Vorraussetzung ist natürlich eine angepasste php.ini, wie in Integration von 3rd-party Applikationen beschrieben.

Weblinks