eXtplorer 3rd-party-apps

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

QTip

Super-Moderator
Teammitglied
Registriert
04. Sep. 2008
Beiträge
2.341
Reaktionspunkte
14
Punkte
84
Der eXtplorer ist ein schöner und relativ schneller Filemanager, wären da nicht eine Einschränkung speziell für unsere DS. Er funktioniert nicht ohne Anpassung, wenn man ihn per https:// als 3rd-party App aufrufen möchte. :mad: 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 Port nur 5001 mag, wird der Aufruf mit einer Fehlermeldung quittiert.
Schnell geforscht und eine kleine Änderung am PHP-Script init.php durchgeführt. :cool:

Zuerst ein Verzeichnis extplorer in /usr/syno/synoman/phpsrc/ erstellen und den Inhalt vom heruntergeladenen und entpacktem eXtplorer dort hinein kopieren.

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:
Code:
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:
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"]);
Ein Verzeichnis extplorer in /usr/syno/synoman/webman/3rdparty erstellen
Code:
mkdir /usr/syno/synoman/webman/3rdparty/extplorer
Dort eine application.cfg mit dem folgendem Inhalt erstellen:
Code:
text = eXtplorer
description = eXtplorer File Manager
type = embedded
path = /phpsrc/extplorer/index.php
Fertig ;)

Kleiner 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 im Artikel 3rd-party-apps - Anleitung beschrieben.

mal so am Rande: Der eXtplorer benutzt die gleichen Bibliotheken wie unser DSM. Infos über diese JavaScript Sammlung und das SDK findet man unter http://www.extjs.com/.
 
Zuletzt bearbeitet:
Super!

Das mit den Libs ist ja ein Ding. Und ich hab gedacht, die Synology-Entwickler haben sich das selbst ausgedacht bzw. nachempfunden, weil die ja gar nicht in der customer-list stehen. :D

itari
 
schau mal in /usr/syno/synoman/scripts/, da liegen die Scripte und in den Scriptheadern findest auch immer die url http://www.extjs.com.
Ich hatte mal vor ein neues Template für die DS zu basteln und bin dadurch drauf gestossen. Mit den Templates ist das so eine Sache, da Synology aus den vorhandenen 4 Templates vermischt zugreift. Man müsste also zuviel ändern und hab es deshalb am Ende sein gelassen. Vieilleicht bauen die eine Templateverwaltung mal später mit ein.
 
Hallo QTip,

mal wieder ein super Beitrag von Dir! Damit dieser in Zukunft leicht von anderen Community-Mitgliedern gefunden werden kann, würde sich ein Eintrag in unser Wiki anbieten. Wäre spitze wenn Du dich dazu bereit erklären würdest.

LG

_TokTok_
 
klar, mach ich....aber wohl erst morgen ;) Dann mach schonmal den Eintrag auf der Hauptseite, kann das ja nicht selber (oder doch?)
 
Du kannst und darfst :)
 
Die Hauptseite ist vielleicht etwas undurchsichtig aufgebaut - Du musst dort zunächst entweder auf 'Allgemeine Themen' oder 'Modding Themen' klicken, um die jeweiligen Sektionen anzupassen. Ich fand das damals schick sämtliche Themen direkt in der Übersicht zu haben, deswegen hatte ich das so modular zusammengesetzt...
 
ah nun hab ich es auch kapiert :D
 
man wird mit einem benutzernamen und passwort abgefragt.

ich nehme doch stark an, dass es der admin login sein wird, oder?

weil er mich nicht reinlässt...:confused:
 
man wird mit einem benutzernamen und passwort abgefragt.

ich nehme doch stark an, dass es der admin login sein wird, oder?

weil er mich nicht reinlässt...:confused:

Passwort -> admin (und drin sofort ändern)


Gruss sixpack12
 
danke...

sieht ganz gut aus, nur es ist alles etwas beengt.

lässt sich das fenster irgendwie erweitern?
 
wie habe ich zugriff auf weitere verzeichnisse, wie z.b. etc, usr...?
 
lesen hilft ;)

Kleiner 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 im Artikel 3rd-party-apps - Anleitung beschrieben.
 
habe ich zufällig gelesen, bei mir existiert kein /web... verzeichnis
 
Das Verzeichnis "web" wird angelegt, sobald Du die Web Station aktivierst.
 
ich muss erst die webstation aktivieren um auf andere vezeichnisse zu gelangen?

was hat denn die webstation mit zugriffsrechte zu tun? :confused:
 
Normalerweise wird der eXtplorer auf einem ganz normalem Webroot benutzt, dafür ist der User-Apache zuständig. Mit der Integration in den Diskstationmanager als 3rd-party-App ist nun der System-Apache dafür zuständig. Wenn du zuvor noch keine eigenen Webseiten benutzt hast, sprich - den Webdienst noch nicht aktiviert hattest, dann existiert noch kein Verzeichnis /var/services/web. Damit du auch mit dem System-Apache den eXtplorer vernüftig nutzen kannst, solltest und müsstest du in der Datei /usr/syno/etc/php.ini open_basedir anpassen, damit PHP auch in andere Verzeichnisse darf. Standardmäßig darf PHP aus Sicherheitsgründen nicht überall hin. Also ändere in deiner php.ini den Eintrag open_basedir, so dass kein Verzeichnis mehr dahinter angegeben ist.
Code:
open_basedir =
Danach den System-Apache mit
Code:
/usr/syno/etc/rc.d/S97apache-sys.sh restart
neustarten.
Anschließend den eXtplorer aufrufen und über den Punkt Administration - Benutzer - Username wählen - Homedir - Ändern den Rootpfad in z.B: / ändern, damit du auf deine gesamte Diskstation zugreifen darfst.
 
hi drago,

du hast gefragt:
habe ich zufällig gelesen, bei mir existiert kein /web... verzeichnis
Das Verzeichnis "web" wird angelegt, sobald Du die Web Station aktivierst.
Und nun stellst die Fragen:
ich muss erst die webstation aktivieren um auf andere vezeichnisse zu gelangen?
was hat denn die webstation mit zugriffsrechte zu tun?

Kannst du mir mal sagen, was das soll? Liest du das nicht, was man dir schreibt, oder was willst wissen?

itari
 
Normalerweise wird der eXtplorer auf einem ganz normalem Webroot benutzt, dafür ist der User-Apache zuständig. Mit der Integration in den Diskstationmanager als 3rd-party-App ist nun der System-Apache dafür zuständig. Wenn du zuvor noch keine eigenen Webseiten benutzt hast, sprich - den Webdienst noch nicht aktiviert hattest, dann existiert noch kein Verzeichnis /var/services/web. Damit du auch mit dem System-Apache den eXtplorer vernüftig nutzen kannst, solltest und müsstest du in der Datei /usr/syno/etc/php.ini open_basedir anpassen, damit PHP auch in andere Verzeichnisse darf. Standardmäßig darf PHP aus Sicherheitsgründen nicht überall hin. Also ändere in deiner php.ini den Eintrag open_basedir, so dass kein Verzeichnis mehr dahinter angegeben ist.
Code:
open_basedir =
Danach den System-Apache mit
Code:
/usr/syno/etc/rc.d/S97apache-sys.sh restart
neustarten.
Anschließend den eXtplorer aufrufen und über den Punkt Administration - Benutzer - Username wählen - Homedir - Ändern den Rootpfad in z.B: / ändern, damit du auf deine gesamte Diskstation zugreifen darfst.
danke, die php.ini ist bereits dementsprechend angepasst...
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat