Auteur Topic: 3rd party apps handleiding  (gelezen 30635 keer)

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
3rd party apps handleiding
« Gepost op: 04 oktober 2008, 20:07:25 »
@ allen,

Onderstaand een uit het Duits vertaalde handleiding; leek me wel handig :mrgreen:

Nu er een aantal voorbeelden gegeven zijn is het wellicht ook goed om eens even een moment stil te staan bij het toepassen van 3rd party 'gadgets'.
Onder andere een aantal zaken die gewoon standaard zijn bij 3rd party toepassingen en dus niet iede post herhaald hoeven te worden

1) De user dient zich altijd over https aan te melden; via poort 5001 dus.

2) Het is mogelijk om zonder authenticatie via https://jouwip:5001/phpsrc/applicatie/a ... ienaam.php een php (of cgi) script aan te roepen. Beveilig via .htaccess en .htpasswd!

3) Als je poorten 5000 en 5001 openzet via de router betekent dit altijd een zeker risico. Bedenk je dat goed!

4) De configuratiebestanden voor 3rd party apps worden altijd geplaatst in de directory /usr/syno/synoman/webman/3rdparty/applicatienaam. Voor iedere applicatie is er zodoende een eigen directory. In deze directory staat tenminste het bestand application.cfg: het configuratiebestand. Daarnaast kunnen hier nog andere bestanden staan zoals plaatjes, cgi bestanden etc. Een precieze handleiding staat hier.
Een minimale inhoud van application.cfg zou er zo uit kunnen zien:

test = Mijn applicatie
description = Dit is mijn applicatie
type = embedded
path = /phpsrc/my_app/index.php

Opmerking: Met de aanmaak van het eerste application.cfg bestand verschijnt automatisch het 3rd party menu in de Disk Station Manager (wel vernieuwen).

Er zijn geen bijzondere dingen voor nodig, behalve Firmware 637.

5) De 3rd party app draait in een HTML-iframe; (/usr/syno/synoman/webman/modules/appebd.html)

6) Via script programma's kan je interactief met de web-(-Apache-)applicaties omgaan. Wat Apache allemaal begrijpt leer je hem in zijn configuratiebestand: /usr/syno/apache/conf/httpd.conf-sys. Wat je daar verandert dient hij wel te leren, door te herstarten via /usr/syno/etc/rc.d/S97apache-sys.sh restart.

7) Om te zorgen dat sys-Apache ook PHP-Scripts kan begrijpen moeten er in /usr/syno/apache/conf/httpd.conf-sys twee regels worden toegevoegd:

AddType application/x-httpd-php .php
LoadModule php5_module /lib/libphp5.so

8. Om te zorgen dat sys-Apache ook alle Linux-systeemcommando's en alle paden kan begrijpen en zien, zijn verdere veranderingen in  /usr/syno/apache/conf/httpd.conf-sys nodig (VERGELIJK DE REGELS GOED):

<Directory />
Options ExecCGI FollowSymLinks MultiViews Indexes
AllowOverride All
</Directory>

<Directory "/usr/syno/synoman">
Options ExecCGI FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<IfModule dir_module>
DirectoryIndex index.html index.htm index.cgi index.php
</IfModule>

<IfModule mime_module>
...
AddHandler cgi-script .cgi
...
</IfModule>

Omdat een fout zo gemaakt is, kan het gebeuren dat Apache niet meer herstart. Daarom het advies altijd eerst een kopie van httpd.conf-sys te maken, voordat je ook maar iets doet.

(9) .cgi-bestanden (common gateway interface) worden door Apache in een  zgn. Sub-Shell gestart, wat inhoudt dat binair-gecompileerde programma's (C-programma's), of scripts (shell, Perl enz.) kunnen worden uitgevoerd. Alle CGI-programma's eindigen op .cgi. In scripts is in de eerste regels als commentaar de geldende Interpreter op te geven, die door de Sub-Shell voor de verdere verwerking geladen wordt:

#!/bin/ash

10) .cgi-scipts/programma's kunnen zo ongeveer alles bevatten wat anders via de shell of Perl loopt. Je dient alleen, om te zorgen dat het door Apache uitgevoerd wordt, als eerste een geldige header moeten geven. Dat ziet er in een .cgi-shell-script zo uit:

echo "Content-type: text/html"
echo ""

of zo:

cat <<EOT
Content-type: text/html

EOT

Apache heeft de lege regels na de text header nodig, anders doet 'ie niks. Het script dient dan op zijn beurt weer geldige HTML code terug te geven.

************* EDIT *************
.cgi bestanden moeten met een chmod 755 bestandsnaam.cgi uitvoerbaar worden geflagged.

*********************************

11) Voor PHP-scripts moet een bestand worden aangepast: /usr/syno/etc/php.ini. Omdat je hiermee ingrijpt op de algemene werking van PHP dien je hiermee heel voorzichtig om te gaan. Maak een reservekopie! Ook hier geldt dat bij een wijziging Apache weer herstart moet worden (zie punt 6). De volgende veranderingen in php.ini zijn nodig om goed met Linux te kunnen werken/Linux commando's te kunnen uitvoeren:

safe_mode = Off
safe_mode_exec_dir =
open_basedir =
doc_root =
allow_url_fopen = On
register_globals = On

Er zullen een aantal instellingen waarschijnlijk al wel goed staan

Tot zover eerst maar even.... Genoeg om even op te broeden.... :mrgreen:

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: 3rd party apps handleiding
« Reactie #1 Gepost op: 19 oktober 2008, 13:16:26 »
Het is zelfs mij gelukt om SABnzbd en SSODS als "3rd party apps" te integreren in DSM2.0.
Nu nog moed verzamelen om hetgeen jij hier beschrijft te gaan uitvoeren, want het smaakt naar meer. :P
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: 3rd party apps handleiding
« Reactie #2 Gepost op: 19 oktober 2008, 13:41:16 »
wowo,

Dat het naar meer smaakt kan ik niet ontkennen :mrgreen: Succes! Als je maar zorgt voor backups kun je nog een heel eind experimenteren hiermee en wellicht zelfs met aanvullingen / verbeteringen /nieuw spul komen! Wordt tijd, want het lijkt er bijna op dat ik deze sectie in m'n eentje zit te vullen :mrgreen:

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline Valith

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 30
Re: 3rd party apps handleiding
« Reactie #3 Gepost op: 19 oktober 2008, 18:30:13 »
Ik kreeg dit helaas niet voor elkaar... SABnzbd ging me makkelijker af.
Is het niet te doen om er een spk-file/package van te maken, zoals bijvoorbeeld: ServiceSwitch
Dit maakt (de)installeren een stuk makkelijker.
Synology DS-207 128MB (RAID1, PowerPC CPU)
2x 500GB 7200rpm 16MB SATA2 Seagate Disks (ST3500830AS)
Firmware Version: DSM 2.0-0722 + SABnzbdPlus (0.4.4)

Popcornhour A-110 + WN-100
1TB Western Digital GreenPower (WD10EACS)
XBOX360 premium + wifi

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: 3rd party apps handleiding
« Reactie #4 Gepost op: 19 oktober 2008, 20:55:44 »
Eeeh, Valith,

Wát kreeg je niet voor elkaar? Als je dat even kunt laten weten, misschien dat ik/men dan iets specifiekere hulp kan bieden...

Overigens kun je via de 3rd Party Manager heel makkelijk dit soort zaken installeren, backuppen(!) en de-installeren :mrgreen:

Ik kan ergens  wel een .spk package van maken, maar je zal voor php instellingen, apache instellingen e.d. tóch de in dit topic beschreven zaken grotendeels handmatig in orde moeten maken...

Overigens, ik bouw (nog) geen .spk's vanwege twee redenen:
1) .spk packages zijn best handig, maar naar mijn idee zou je als gebruiker eerst heel goed moeten weten wat een .spk package in zich draagt aan programmatuur... Je zal maar een lolbroek hebben die een .spk package maakt dat blijkt je Syno om zeep te helpen.... Alleen van bedrijven zou ik me kunnen voorstellen dat ik 'ongezien accoord' ga met een package. Al wat ik publiceer is 'kale' code, voor iedereen te lezen. Ik ga er dan ook een klein beetje van uit dat iemand die met 3rd party apps aan de slag gaat wél het een en ander zou moeten weten ten aanzien van Linux en de interne werking van de Syno...  :D
2) Ik kán ze nog niet maken omdat ik nog op een lagere versie van de DSM draai... (voorzichtig mens, kijk even de kat uit de boom voordat ik m'n firmware update....) :mrgreen:

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline Valith

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 30
Re: 3rd party apps handleiding
« Reactie #5 Gepost op: 19 oktober 2008, 23:53:01 »
Hi wizjos, je hebt idd gelijk vwb de code in zo'n package. Iemand kan wel een virus schrijven die heel je Syno om zeep helpt.
Het is goed om daar scherp op te blijven. Ik zal trouwens eens kijken met die 3rd Party Manager, dat ziet er goed uit...
Thanks voor je berichtje.
Synology DS-207 128MB (RAID1, PowerPC CPU)
2x 500GB 7200rpm 16MB SATA2 Seagate Disks (ST3500830AS)
Firmware Version: DSM 2.0-0722 + SABnzbdPlus (0.4.4)

Popcornhour A-110 + WN-100
1TB Western Digital GreenPower (WD10EACS)
XBOX360 premium + wifi

Offline m@rco

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 27
Re: 3rd party apps handleiding
« Reactie #6 Gepost op: 20 oktober 2008, 10:39:01 »
Citaat van: "wizjos"

11) Voor PHP-scripts moet een bestand worden aangepast: /usr/syno/etc/php.ini. Omdat je hiermee ingrijpt op de algemene werking van PHP dien je hiermee heel voorzichtig om te gaan. Maak een reservekopie! Ook hier geldt dat bij een wijziging Apache weer herstart moet worden (zie punt 6). De volgende veranderingen in php.ini zijn nodig om goed met Linux te kunnen werken/Linux commando's te kunnen uitvoeren:

safe_mode = Off
safe_mode_exec_dir =
open_basedir =
doc_root =
allow_url_fopen = On
register_globals = On

Hoi Wizjos,

Zet jer met "open_basedir =" niet alles wagenwijd open?
Want in de php.ini zijn alleen de volumes aangegeven.
Kun je niet alleen hetgene openzetten wat je nodig hebt.

Ik heb geen linux kennis dus het kan best zijn dat het goed is.
Ik vraag met het alleen af.

Groetjes Marco
DS 209+, 800mhz, 512 MB, 2x Samsung Spinpoint 320 GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: 3rd party apps handleiding
« Reactie #7 Gepost op: 20 oktober 2008, 17:10:32 »
M@rco,

Klopt, je zet alles open :mrgreen:  Vandaar ook de hele grote waarschuwingen ten aanzien van je beveiliging! Open_basedir geeft een restrictie aan ten aanzien van de paden die PHP mag 'bewandelen'... Aangezien je met diverse 3rd party scripts bepaalde Linux commando's in steeds weer andere dirs uitvoert moeten deze wel bereikbaar zijn voor PHP... (of wat te denken van extPlorer: die moet eigenlijk ook overal bij kunnen....)

Het heeft trouwens niets te maken met Linux of kennis daarvan  :D
Zorg er dus voor dat al je PHP code fool-proof is en je de toegang tot de 3rd party pagina's goed afschermt!

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline m@rco

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 27
Re: 3rd party apps handleiding
« Reactie #8 Gepost op: 20 oktober 2008, 20:35:23 »
Hoi Wizjos,

Maar moet ik nog meer dingen dicht timmeren?
Of moet je alleen de 3rd apps goed dicht timmeren?

Want betekent open_basedir = nu dat alles open staat of alleen open staat voor PHP?

Oftewel kunnen ze nu al overal bij of alleen als je onbeveiligde 3rd app heb gebruikt?

Groetjes Marco.

Ps nog wat gehoord over de Wiki :?:
DS 209+, 800mhz, 512 MB, 2x Samsung Spinpoint 320 GB

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.999
Re: 3rd party apps handleiding
« Reactie #9 Gepost op: 21 oktober 2008, 08:53:17 »
M@rco,

Je zal er voor moeten zorgen dat je 3rd party apps niet zonder meer benaderbaar zijn... Dat betekent dat je met .htaccess je pagina's moet beveiligen (omdat ze via https:/jouwsynoexternip:5001/phpsrc/padnaarapp/app.php benaderbaar zijn. Zelfs al ben je niet ingelogd op de DSM!)
Daarnaast zal je er voor moeten zorgen dat eventuele php code niet 'injectiegevoelig' is, zoals je dat wel ziet bij slechte php inlogschermpjes e.d..

Met open_basedir geef je aan tot welke paden php toegang heeft. zie ook http://nl.php.net/manual/en/features.safe-mode.php. Niet meer en niet minder. Zonder php kan je nergens bij; het is dus niet zo dat iemand ineens https:/jouwsynoexternip:5001/bin/sh zou kunnen uitvoeren om maar wat geks te noemen. Echter, áls je php code bouwt en via je server beschikbaar stelt dien je je er van te vergewissen dat je de hele zaak goed beveiligt d.m.v. login en passwords en/of .htaccess.
Ik hoop dat ik zo wat duidelijkheid heb kunnen geven :D

Enne, nee over een wiki niets gehoord :(

Groet,

Wizjos
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline wowo

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 152
Re: 3rd party apps handleiding
« Reactie #10 Gepost op: 27 oktober 2008, 20:05:23 »
Citaat van: "Valith"
Ik kreeg dit helaas niet voor elkaar... SABnzbd ging me makkelijker af.
Is het niet te doen om er een spk-file/package van te maken, zoals bijvoorbeeld: ServiceSwitch
Dit maakt (de)installeren een stuk makkelijker.
Er is op het duitse synology-forum http://www.synology-forum.de uiteindelijk ook een spk-pakkage van gemaakt genaamd:     Init_3rdparty.spk
Ik heb daar nu ook gebruik van gemaakt omdat gemak toch soms de mens dient.  :lol:
Misschien hebben andere durfallen er ook wat aan.
DS-107+ / DSM 2.2-0959 / WDC WD5000AAJS-0 (500GB) / eSATA WDC WD10EACS-00D (1TB) / USB-backup 500GB

Anonymous

  • Gast
Re: 3rd party apps handleiding
« Reactie #11 Gepost op: 16 februari 2009, 11:44:42 »
Edit: gefixed na de laatste code


 

RaspberryPi 3 met Android 6 en Synology Apps

Gestart door aliazzzBoard Overige mods

Reacties: 1
Gelezen: 2936
Laatste bericht 16 juni 2016, 18:33:52
door aliazzz
Start/stop command apps in crontab

Gestart door JuupkeBoard Algemeen

Reacties: 5
Gelezen: 5631
Laatste bericht 05 februari 2013, 10:40:02
door redneck eyeball
Ontwikkelaar gezocht voor Synology Apps

Gestart door Telesys BVBABoard 3rd party apps integratie in DSM

Reacties: 0
Gelezen: 2754
Laatste bericht 03 november 2011, 09:14:41
door Telesys BVBA
Aanmelden op apps

Gestart door MrLeeBoard Officiële Packages

Reacties: 0
Gelezen: 2439
Laatste bericht 21 augustus 2014, 21:47:45
door MrLee
Links van sites die 3th party packages aanbieden.

Gestart door BrioletBoard 3rd party Packages

Reacties: 1
Gelezen: 5892
Laatste bericht 26 augustus 2019, 15:49:46
door Birdy