Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => 3rd party apps integratie in DSM => Topic gestart door: roeland op 23 november 2008, 10:00:37
-
Hi,
Mijn eerste stappen om 3rd party apps op mijn syno 508 (DSM 2.0-0722) te integreren gaan niet voorspoedig. Ik heb een fraai script gevonden op het duitse forum om mijn cronjobs inzichtelijk te krijgen maar als ik het oproep verschijnt de broncode ipv dat het script wordt uitgevoerd, zie (http://roeland.cshosting.nl/phpsource.gif).
Wat ik heb gedaan:- Ik log in via ssh als root en heb het php script cronjobs.php in de directory /usr/syno/synoman/phpsrc/cronjobs/ geplaatst (vi met :set noai en :set paste om eea netjes geformateerd te krijgen)
- execute rechten voor all gegeven aan file cronjobs.php
- alle stappen uitgevoerd zoals beschreven in http://synology.nl/forum/viewtopic.php?f=83&t=2182
- synology gerestart en opnieuw ingelogd
Het 3rd party menu verschijnt wel dus in ieder geval iets is er goed gegaan.
Waarschijnlijk zie ik iets over het hoofd, ik hoop dat iemand een tip heeft hoe ik verder kan komen.
Roeland
-
Zo te zien is de php-'apphandler' nog niet (goed?) geconfigureerd. (stap 7 uit genoemde link) :
AddType application/x-httpd-php .php
LoadModule php5_module /lib/libphp5.so
in de /usr/syno/apache/conf/httpd.conf-sys file.
Groeten,
Remco
-
en daarnaast nog als aanvullende opmerking dat deze code NIET beveligd is met de code van Merty. Dat zou er dan nl. zo uitzien:
<?php
putenv('HTTP_COOKIE='.$_SERVER['HTTP_COOKIE']);
putenv('REMOTE_ADDR='.$_SERVER['REMOTE_ADDR']);
$user=exec('/usr/syno/synoman/webman/modules/authenticate.cgi');
if($user != 'admin'){
header("HTTP/1.0 403 Forbidden");
exit;
}
if ($_REQUEST['action'] == 'reset')
{$fd=fopen('/var/log/cron.log','w');fclose($fd);}
elseif ($_REQUEST['action'] == 'save') {
$out='';
for($r=1;$r<=$_REQUEST['rows'];++$r)
if ($_REQUEST['r'.$r.'c0']!='') for($c=0;$c<7;++$c) $out.=$_REQUEST['r'.$r.'c'.$c].($c<6?chr(9):chr(10));
file_put_contents('/etc/crontab', stripslashes($out));
exec('killall crond;crond -l 8 -L /var/log/cron.log');
}
$filearray=file('/etc/crontab');
$_REQUEST['action'] == '';
$l=isset($_REQUEST['lines'])?$_REQUEST['lines']:20;
?>
enzovoorts :mrgreen:
Maar je kan 'm natuurlijk ook even opvissen uit: Cronjobs via DSM (http://synology.nl/forum/viewtopic.php?f=83&t=2181). :wink: Daar staat ook nog een verbeterde versie.... :mrgreen:
Groet,
Wizjos
-
@remco: thanks! ik had de aanpassingen in /usr/syno/apache/conf/httpd.conf gemaakt (zonder -sys). Alles werkt nu.
@ Wizjos: thanks! had ik eerder moeten zien, had ik niet door 7 pagina's duits forum heen gehoeven :)