Page 1 of 1
Debian+Perl
Posted: 2003-03-13 09:08
by mrn
Seit Umstellung auf Debian funktionieren bei mir keine CGI-Skripte (Perl) mehr. Selbst ein einfaches Hello-World-Programm gibt nur einen 500er Error. Es wird kein Error-Log erstellt. Wenn ich das Skript in der Shell ausführe, funktioniert es ohne Probleme.
Als Perlpfad gebe ich "#!/usr/bin/perl" an.
Kann mir bitte jemand helfen, was ich machen muss, damit Perl-Skripte funktionieren?
Re: Debian+Perl
Posted: 2003-03-13 09:10
by captaincrunch
Hast du das Paket libapache-mod-perl installiert ?
Re: Debian+Perl
Posted: 2003-03-13 09:49
by mrn
Hallo,
danke für die Antwort.
So viel wie ich bis jetzt herausgefunden habe, ist es ein Problem von suexec.
Im suexec.log steht folgendes:
[2003-03-13 08:34:08]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: hallo.pl
[2003-03-13 08:34:08]: error: command not in docroot (/home/www/web1/html/cgi-bin/hallo.pl)
Wie kann ich den docroot in suexec ändern?
Re: Debian+Perl
Posted: 2003-03-13 12:15
by [tom]
MrN wrote:
Wie kann ich den docroot in suexec ändern?
Wenn Du noch nicht hast, dann die Sourcen holen und in ./src/suexec.h den Pfad anpassen und neu kompilieren. Ist fix gemacht.
[TOM]
Re: Debian+Perl
Posted: 2003-06-07 23:52
by vratislav
Hallo,
ich stehe vor dem selben Problem.
Wo bekomme ich den die Sourcen her ? Oder hat es schon jemand entsprechend kompeliert ?
Danke,
Björn
Re: Debian+Perl
Posted: 2003-06-08 00:00
by jamesb
Die Sourcen sind bei den Apache-Sourcen dabei, brauchst dafür nix extra.
JamesB
Debian - Docroot /home/www - suexec ändern
Posted: 2003-06-08 12:05
by vratislav
Hallo!
Ich habe den apache mittels 'apt-get install'iert. Da Debian zur Zeit noch neuland für mich ist, würde ich die Konfiguration eigentlich auch der dortigen Paketverwaltung überlassen.
Im Prinzip läuft auch alles, bis auf den für mich falschen Docroot bei suexec, der /home/www lauten sollte.
Die Sourcen habe ich, da ich sie nicht fand, mittels 'apt-get source apache' besorgen lassen. Nachdem ich ein neues "suexec" kompiliert habe, startet apache mit der Meldung
Starting web server: apacheERROR: User directive in <VirtualHost> requires SUEXEC wrapper.
failed
nicht mehr.
Ein
/usr/lib/apache/suexec -V zeigt mir folgendes an:
Code: Select all
--suexec-docroot=/home/www
-D DOC_ROOT="/home/www"
-D GID_MID=100
-D HTTPD_USER="www-data"
-D LOG_EXEC="/usr/local/apache/logs/suexec_log"
-D SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D UID_MID=100
-D USERDIR_SUFFIX="public_html"
Nach Austauchen mit dem ursprünglichen 'suexec' läuft es wieder, jedoch mit DOCROOT /var/www. Die Ausgabe von
/usr/lib/apache/suexec -V ist bis auf den DOCROOT identisch.
Für Denkanstösse wäre ich dankbar,
Björn