eXtplorer 3rd-party-apps

Status
Für weitere Antworten geschlossen.

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
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:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
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
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
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.
 

_TokTok_

Benutzer
Mitglied seit
18. Nov 2007
Beiträge
1.310
Punkte für Reaktionen
0
Punkte
0
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_
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
klar, mach ich....aber wohl erst morgen ;) Dann mach schonmal den Eintrag auf der Hauptseite, kann das ja nicht selber (oder doch?)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Du kannst und darfst :)
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
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...
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
ah nun hab ich es auch kapiert :D
 

drago

Benutzer
Mitglied seit
17. Jun 2008
Beiträge
328
Punkte für Reaktionen
0
Punkte
16
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:
 

sixpack12

Benutzer
Mitglied seit
04. Feb 2008
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
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
 

drago

Benutzer
Mitglied seit
17. Jun 2008
Beiträge
328
Punkte für Reaktionen
0
Punkte
16
danke...

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

lässt sich das fenster irgendwie erweitern?
 

drago

Benutzer
Mitglied seit
17. Jun 2008
Beiträge
328
Punkte für Reaktionen
0
Punkte
16
wie habe ich zugriff auf weitere verzeichnisse, wie z.b. etc, usr...?
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
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.
 

drago

Benutzer
Mitglied seit
17. Jun 2008
Beiträge
328
Punkte für Reaktionen
0
Punkte
16
habe ich zufällig gelesen, bei mir existiert kein /web... verzeichnis
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Das Verzeichnis "web" wird angelegt, sobald Du die Web Station aktivierst.
 

drago

Benutzer
Mitglied seit
17. Jun 2008
Beiträge
328
Punkte für Reaktionen
0
Punkte
16
ich muss erst die webstation aktivieren um auf andere vezeichnisse zu gelangen?

was hat denn die webstation mit zugriffsrechte zu tun? :confused:
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
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.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
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
 

drago

Benutzer
Mitglied seit
17. Jun 2008
Beiträge
328
Punkte für Reaktionen
0
Punkte
16
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