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...)
 
Zeile 1: Zeile 1:
==Einleitung==
==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.
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.
Schnell geforscht und eine kleine Änderung am PHP-Script '''init.php''' durchgeführt.
Schnell geforscht und eine kleine Änderung am PHP-Script '''init.php''' durchgeführt.



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 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. 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