danke schonmal
@ hashy
apache2 mod_perl ist installiert
auch mit 0777 für das cgi-verzeichnis keine änderung
apache error-log
beim lesen:
[Wed Jul 11 13:14:40 2007] [error] cant open No such file or directory at /srv/www/vhosts/s11111111.onlinehome-server.info/httpdocs/cgi-local/test.pl line 9.\n
beim schreiben:
[Wed Jul 11 13:15:12 2007] [error] cant open Permission denied at /srv/www/vhosts/s11111111.onlinehome-server.info/httpdocs/cgi-local/test.pl line 13.\n
suexec-log:
keint eintrag, ausser ich setze
SuexecUserGroup root root
dann:
[2007-07-10 23:18:31]: uid: (0/root) gid: (0/0) cmd: test.pl
[2007-07-10 23:18:31]: crit: cannot run as forbidden uid (0/test.pl)
@ vmk
auch mit
LogLevel debug
krieg ich keine ausführlichere fehlermeldung
hier mal das mini-script, mit dem ich jetzt teste:
Code:
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
print "Content-Type: text/plain\n\n";
foreach $key (sort keys %ENV){
print"$key=$ENV{$key}\n";
}
#open I,"<1.txt" or die "cant open $!";
open I,"<1.txt";
print while <I>;
#open O,">2.txt" or die "cant open $!";
open O,">2.txt";
print O "hi\n";
close (I,O);
die env variablen werden ausgegeben aber die dateien einfach nicht geöffnet, in diesem fall ohne jegliche fehlermeldung
EDIT:
habe den fehler gefunden:
das script versucht, die dateien im root (/) verzeichnis zu öffnen - hä?
wie kann ich das grundsätzlich ändern, ohne den kompletten pfad angeben zu müssen, so dass immer im aktuellen verzeichnis gearbeitet wird??
apache config sieht diesbezüglich so aus:
Code:
ScriptAlias /cgi-local/ /srv/www/vhosts/s11111111.onlinehome-server.info/httpdocs/cgi-local/
<Directory /srv/www/vhosts/s11111111.onlinehome-server.info/httpdocs>
<IfModule mod_perl.c>
<Files ~ (\.(cgi|pl)$)>
SetHandler perl-script
PerlHandler ModPerl::Registry
Options ExecCGI FollowSymLinks
allow from all
PerlSendHeader On
</Files>
</IfModule>
</Directory>
und wo finde ich die config für proftpd unter plesk??