Re: Re[2]: CGI wird nicht ausgef�hrt, sondern gedownloaded
On Thu, 4 Jul 2002 22:35:57 +0200
Stefan Schilling
Guten Tag Bernd Obermayr, Hallo!
Ok, erstmal vorneweg: uid: vbox = 504 stefan = 500 wwwrun = 30 root = 0
gid: vbox = 102 root = 0 schilling = 101 users = 100
Am Donnerstag, 4. Juli 2002 um 21:51 schrieb Bernd Obermayr:
On Thu, 4 Jul 2002 11:36:07 +0200 Stefan Schilling
wrote: Guten Tag Bernd Obermayr,
Am Donnerstag, 4. Juli 2002 um 07:08 schrieb Bernd Obermayr:
On Wed, 3 Jul 2002 23:22:27 +0200 Stefan Schilling
wrote: Guten Tag Bernd Obermayr,
Am Mittwoch, 3. Juli 2002 um 17:40 schrieb Bernd Obermayr:
On Wed, 26 Jun 2002 20:31:56 +0200 Stefan Schilling
wrote: [...]
> [Wed Jun 26 20:25:04 2002] [error] [client 192.168.100.2] Premature end of script headers: /home/vbox/public_html/cgi-bin/vbox.pl
So, ja ich hab mir da nochmal Gedanken drueber gemacht, obiges heisst ja wohl: Es ist ein Fehler im Html-Header
Aus einer frueheren Mail.. ----8<---------- print <
<HTML> <HEAD> <TITLE>$ruser $vboxtitle</TITLE> </HEAD> ----8<----------
Hier ist also mal zu suchen. Woher kommt $ruser und $vboxtitle?
---/home/vbox/public_html/cgi-bin/vbox.pl--Beginn:
require "vbox.variables";
# # WICHTIG: "REMOTE_USER" macht die Authentifizierung des Users # gegen"uber dem HTTP-Server erforderlich
Schockschwerenot ;) Wie kann man nur so blind sein? Wichtige Frage: Du hast die Userauthentifizierung aktiv, also via .htaccess oder Directiven in der httpd.conf? Stichworte: Authconfig, .htaccess Denn sonst wird der folgende Codeteil sicher scheitern...
#
$ruser = $ENV{'REMOTE_USER'}; $ruser =~ tr/a-z/A-Z/; if (substr($ruser,-1,1) eq "S") { $ruser = join ("",$ruser,"\`"); } else { $ruser = join ("",$ruser,"s"); }
REMOTE_USER ist nur zum Zeitpunkt waehrend der Ausfuehrung als CGI im Environment vorhanden und das aber auch nur dann, wenn eine Authentifizierung durchgefuehrt wurde. Sollte das nicht der Fall sein, weisst Du, was als naechstes zu tun ist. [...]
?? Was ist mit env?
Meldung: linuxserver:~ # su wwwrun linuxserver:/root # env /home/vbox/public_html/cgi-bin/vbox.pl
seufz.. Nein. Schreib: ---------8<----------- su wwwrun env ---------8<----------- Sonst nichts! -- so long... bernd ------------------------------------------------------------------------
Guten Tag Bernd Obermayr, Am Samstag, 6. Juli 2002 um 16:19 schrieb Bernd Obermayr:
On Thu, 4 Jul 2002 22:35:57 +0200 Stefan Schilling
wrote:
Guten Tag Bernd Obermayr, Hallo!
Ok, erstmal vorneweg: uid: vbox = 504 stefan = 500 wwwrun = 30 root = 0
gid: vbox = 102 root = 0 schilling = 101 users = 100
Am Donnerstag, 4. Juli 2002 um 21:51 schrieb Bernd Obermayr:
On Thu, 4 Jul 2002 11:36:07 +0200 Stefan Schilling
wrote: Guten Tag Bernd Obermayr,
Am Donnerstag, 4. Juli 2002 um 07:08 schrieb Bernd Obermayr:
On Wed, 3 Jul 2002 23:22:27 +0200 Stefan Schilling
wrote: Guten Tag Bernd Obermayr,
Am Mittwoch, 3. Juli 2002 um 17:40 schrieb Bernd Obermayr:
> On Wed, 26 Jun 2002 20:31:56 +0200 > Stefan Schilling
wrote: [...]
>> [Wed Jun 26 20:25:04 2002] [error] [client 192.168.100.2] Premature end of script headers: /home/vbox/public_html/cgi-bin/vbox.pl
So, ja ich hab mir da nochmal Gedanken drueber gemacht, obiges heisst ja wohl: Es ist ein Fehler im Html-Header
Aus einer frueheren Mail.. ----8<---------- print <
<HTML> <HEAD> <TITLE>$ruser $vboxtitle</TITLE> </HEAD> ----8<----------
Hier ist also mal zu suchen. Woher kommt $ruser und $vboxtitle?
---/home/vbox/public_html/cgi-bin/vbox.pl--Beginn:
require "vbox.variables";
# # WICHTIG: "REMOTE_USER" macht die Authentifizierung des Users # gegen"uber dem HTTP-Server erforderlich
Schockschwerenot ;) Wie kann man nur so blind sein? Wichtige Frage: Du hast die Userauthentifizierung aktiv, also via .htaccess oder Directiven in der httpd.conf? Stichworte: Authconfig, .htaccess
ich denke, dass du den folgenden Teil aus /etc/httpd/httpd.conf
meinst, es ist das, was bei mir für den Kram eingetragen ist:
---/etc/httpd/httpd.conf---
Denn sonst wird der folgende Codeteil sicher scheitern...
#
$ruser = $ENV{'REMOTE_USER'}; $ruser =~ tr/a-z/A-Z/; if (substr($ruser,-1,1) eq "S") { $ruser = join ("",$ruser,"\`"); } else { $ruser = join ("",$ruser,"s"); }
REMOTE_USER ist nur zum Zeitpunkt waehrend der Ausfuehrung als CGI im Environment vorhanden und das aber auch nur dann, wenn eine Authentifizierung durchgefuehrt wurde.
Also, Fakt ist, dass ich nach Name und Password gefragt werde; /home/vbox/vbox/htpasswd.vbox ist vorhanden und enthält die Daten; sie werden akzeptiert. eine .htaccess existiert bei mir im gesamten System nicht. Ich habs mit dem mc versucht: eine .jazz findet er, die .htaccess nicht.
Sollte das nicht der Fall sein, weisst Du, was als naechstes zu tun ist. tja, leider nein.
[...]
?? Was ist mit env?
linuxserver:/home/vbox/public_html/icons # su wwwrun linuxserver:/home/vbox/public_html/icons # env PWD=/home/vbox/public_html/icons PAGER=less GLX_NO_DIRECT=t HOSTNAME=linuxserver LESSCLOSE=lessclose.sh %s %s RC_LANG=de_DE@euro LS_OPTIONS=-a -N --color=tty -T 0 ignoreeof=0 LESSKEY=/etc/lesskey.bin LESSOPEN=lessopen.sh %s MANPATH=/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/gnome/man:/usr/man:/usr/openwin/man PS1=\h:\w # PS2=> GNOME_PATH=:/opt/gnome:/usr NNTPSERVER=news LESS=-M -S -I USER=wwwrun LS_COLORS=no=00:fi=00:di=01;34:ln=01:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:ex=01;31:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.png=01;35: HISTCONTROL=ignoredups MACHTYPE=i386-suse-linux XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB RC_LC_COLLATE=POSIX MAIL=/var/mail/root GNOMEDIR=/opt/gnome COLORTERM=1 INFOPATH=/usr/local/info:/usr/share/info:/usr/info LOGNAME=wwwrun SHLVL=2 TEXINPUTS=:~/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX LC_CTYPE=de_DE@euro MINICOM=-c on INFODIR=/usr/local/info:/usr/share/info:/usr/info _=/usr/bin/env SHELL=/bin/bash HOSTTYPE=i386 OSTYPE=linux WINDOWMANAGER=/usr/X11R6/bin/kde HOME=/var/lib/wwwrun TERM=xterm XNLSPATH=/usr/X11R6/lib/X11/nls no_proxy=localhost PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin FROM_HEADER=YAST_ASK SSH_TTY=/dev/pts/4 linuxserver:/home/vbox/public_html/icons # wirst du da etwa schlau draus? ach ja, ich wollte eigentlich gar kein X haben; ich wurde von Yast1 dazu gezwungen... Übrigens geht das auch als Nutzer "vbox", aber das war nur so eine kleine Anmerkung. Ciao und bis dann Stefan
On Sat, 6 Jul 2002 19:20:13 +0200
Stefan Schilling
Guten Tag Bernd Obermayr,
Am Samstag, 6. Juli 2002 um 16:19 schrieb Bernd Obermayr:
On Thu, 4 Jul 2002 22:35:57 +0200 Stefan Schilling
wrote: Guten Tag Bernd Obermayr, [...] # WICHTIG: "REMOTE_USER" macht die Authentifizierung des Users # gegen"uber dem HTTP-Server erforderlich
Schockschwerenot ;) Wie kann man nur so blind sein? Wichtige Frage: Du hast die Userauthentifizierung aktiv, also via .htaccess oder Directiven in der httpd.conf? Stichworte: Authconfig, .htaccess
ich denke, dass du den folgenden Teil aus /etc/httpd/httpd.conf meinst, es ist das, was bei mir für den Kram eingetragen ist:
---/etc/httpd/httpd.conf---
NameVirtualHost 192.168.100.1 DocumentRoot /home/vbox/public_html ServerName vbox.linuxserver ErrorLog /home/vbox/public_html/log/error_log CustomLog /home/vbox/public_html/log/custom_log common ScriptAlias /cgi-bin "/home/vbox/public_html/cgi-bin"
AllowOverride AuthConfig AuthType Basic AuthName "vbox" AuthUserFile /home/vbox/vbox/htpasswd.vbox Options ExecCGI +FollowSymLinks require user vbox Order deny,allow </Directory> </VirtualHost> ---/etc/httpd/httpd.conf---
[..]
Also, Fakt ist, dass ich nach Name und Password gefragt werde; /home/vbox/vbox/htpasswd.vbox ist vorhanden und enthält die Daten; sie werden akzeptiert. eine .htaccess existiert bei mir im gesamten System nicht. Ich habs mit dem mc versucht: eine .jazz findet er, die .htaccess nicht.
Ok, das ist gut so.
Sollte das nicht der Fall sein, weisst Du, was als naechstes zu tun ist. tja, leider nein.
;)
[...]
?? Was ist mit env?
linuxserver:/home/vbox/public_html/icons # su wwwrun linuxserver:/home/vbox/public_html/icons # env PWD=/home/vbox/public_html/icons
[...]
wirst du da etwa schlau draus? ach ja, ich wollte eigentlich gar kein X haben; ich wurde von Yast1 dazu gezwungen... Übrigens geht das auch als Nutzer "vbox", aber das war nur so eine kleine Anmerkung.
Ja, wwwrun hat das normale Environment, ich bin mir im Moment nicht sicher,
ob er das sollte ;)
Ich habe mir mal die Scripte angesehen, die Du mir geschickt hast.
Erstmal habe ich in vbox.pl mittels "$ruser = bernd" den REMOTE_USER
auf bernd gesetzt.
Dann das Script ausgefuehrt. Es scheint alles ok zu sein.
Aber: Als ich dann mal
perl -w vbox.pl
ausfuehrte, gab es eine Reihe Warnungen wie:
Name "main::vboxbody" used only once: possible typo at ./vbox.pl line 50.
Name "main::vboxformdesc" used only once: possible typo at ./vbox.pl line 50.
Name "main::vboxicalls" used only once: possible typo at ./vbox.pl line 50.
[...]
#!/usr/bin/perl -w
use strict;
an den Anfang des Scriptes geschrieben habe, hagelte es Fehlermeldungen
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 37.
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 38.
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 39.
[..]
Execution of ./vbox.pl aborted due to compilation errors.
So, ich habe nun wirklich nicht die grosse Ahnung von perl.
-w und use strict; habe ich hier aus der Liste, es wird von den Perl-Gurus
immer als MUSS gepredigt ;)
Mir scheint aber, dass es sich bei dem Script um eines jener handelt,
die halt bei dem, der es erstellt hat, mal (mehr aus Zufall) laufen, woanders
aber dann Aerger machen.
Die Meldung
[Fri Jun 28 17:28:05 2002] [error] syntax error at
/home/vbox/public_html/cgi-bin/vbox.pl line 50, near "vbox
bedeutet wohl, dass in dem Block ab Zeile 50..
print <
Moin, Bernd Obermayr:
#!/usr/bin/perl -w use strict;
an den Anfang des Scriptes geschrieben habe, hagelte es Fehlermeldungen
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 37.
Das ist nicht unbedingt bedenkenswert. Ich selbst benutze -w und strict erst seit kurzem, mehr aus akademischem Interesse. Alle Programme, die ich bisher geschrieben habe, würden ebenso Fehlermeldungen raushauen, wenn du "strict" reinhängen würdest. Trotzdem laufen die meisten, telweise unter reichlich Last. ;-) Beispiel: #!/usr/bin/perl print $x; Läuft prima. Gibt nix aus, denn perl initialisiert alle Variablen bei Programmstart als leer. Wenn du das auf strict änderst: #!/usr/bin/perl -w use strict; print $x; ...dann geht die große Hupe an. Das Programm ist nicht "falscher" als vorher,perl möchte nur vorher wissen, ob $x wirklich eine definierte Variable ist. Also tut man ihm den Gefallen: #!/usr/bin/perl -w use strict; my $x; print $x; Jetzt bekommt man gute Haltungsnoten. Trotzdem ist der Programmablauf und das Resultat nicht anders als vorher. Gruß, Ratti -- http://www.gesindel.de | Fontlinge | Die Schriftenverwaltung für Windows
On 07 Jul 2002 00:21:34 +0200
ratti
Moin,
Bernd Obermayr:
#!/usr/bin/perl -w use strict;
an den Anfang des Scriptes geschrieben habe, hagelte es Fehlermeldungen
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 37.
Das ist nicht unbedingt bedenkenswert. Ich selbst benutze -w und strict erst seit kurzem, mehr aus akademischem Interesse. Alle Programme, die ich bisher geschrieben habe, würden ebenso Fehlermeldungen raushauen, wenn du "strict" reinhängen würdest. Trotzdem laufen die meisten, telweise unter reichlich Last. ;-)
Beispiel:
#!/usr/bin/perl print $x;
Läuft prima. Gibt nix aus, denn perl initialisiert alle Variablen bei Programmstart als leer.
Wenn du das auf strict änderst:
#!/usr/bin/perl -w use strict; print $x;
...dann geht die große Hupe an. Das Programm ist nicht "falscher" als vorher,perl möchte nur vorher wissen, ob $x wirklich eine definierte Variable ist. Also tut man ihm den Gefallen:
#!/usr/bin/perl -w use strict; my $x; print $x;
Hi, fein, da hast Du fast recht. Ich hab das mal ausprobiert. Es stimmt, wenn ich vor alle Definitionen aus vbox.variables my schreibe und sie direkt in vbox.pl importiere. Wenn aber, wie in dem Script vorgesen vbox.variables via require "vbox.variables"; eingebunden wird, krachts wieder.
Jetzt bekommt man gute Haltungsnoten. Trotzdem ist der Programmablauf und das Resultat nicht anders als vorher.
Wie gesagt, im vorliegenden Fall stimmt das nicht ganz ;) Aus meiner Erfahrung mit anderen Programmiersprachen, wuerde ich sowas wie use strict immer benutzen. Es zwingt einen dazu sauber zu programmieren, was zugegeben, Zeit kostet, die man aber auf der anderen Seite locker wieder reinholt, weil man keine Zeit auf Fehlersuche wegen undefinierten, falsch typisierten, usw. Variablen verschwendet. Gut bei perl kann ich da nicht richtig mitreden, ich kann Scripte einigermassen lesen, das wars dann aber schon. -- so long... bernd ------------------------------------------------------------------------
Guten Tag Bernd Obermayr, Am Sonntag, 7. Juli 2002 um 08:09 schrieb Bernd Obermayr:
On 07 Jul 2002 00:21:34 +0200 ratti
wrote:
Moin,
Bernd Obermayr:
#!/usr/bin/perl -w use strict;
an den Anfang des Scriptes geschrieben habe, hagelte es Fehlermeldungen
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 37.
Das ist nicht unbedingt bedenkenswert. Ich selbst benutze -w und strict erst seit kurzem, mehr aus akademischem Interesse. Alle Programme, die ich bisher geschrieben habe, würden ebenso Fehlermeldungen raushauen, wenn du "strict" reinhängen würdest. Trotzdem laufen die meisten, telweise unter reichlich Last. ;-)
Beispiel:
#!/usr/bin/perl print $x;
Läuft prima. Gibt nix aus, denn perl initialisiert alle Variablen bei Programmstart als leer.
Wenn du das auf strict änderst:
#!/usr/bin/perl -w use strict; print $x;
...dann geht die große Hupe an. Das Programm ist nicht "falscher" als vorher,perl möchte nur vorher wissen, ob $x wirklich eine definierte Variable ist. Also tut man ihm den Gefallen:
#!/usr/bin/perl -w use strict; my $x; print $x;
Hi, fein, da hast Du fast recht. Ich hab das mal ausprobiert. Es stimmt, wenn ich vor alle Definitionen aus vbox.variables my schreibe und sie direkt in vbox.pl importiere.
Wenn aber, wie in dem Script vorgesen vbox.variables via require "vbox.variables"; eingebunden wird, krachts wieder.
Jetzt bekommt man gute Haltungsnoten. Trotzdem ist der Programmablauf und das Resultat nicht anders als vorher.
Wie gesagt, im vorliegenden Fall stimmt das nicht ganz ;)
Aus meiner Erfahrung mit anderen Programmiersprachen, wuerde ich sowas wie use strict immer benutzen. Es zwingt einen dazu sauber zu programmieren, was zugegeben, Zeit kostet, die man aber auf der anderen Seite locker wieder reinholt, weil man keine Zeit auf Fehlersuche wegen undefinierten, falsch typisierten, usw. Variablen verschwendet.
Gut bei perl kann ich da nicht richtig mitreden, ich kann Scripte einigermassen lesen, das wars dann aber schon.
Hi! wie wärs denn, wenn man die Einstellungen aus vbox.variables in die beiden .cgis eintragen würde? Dann hätte er doch alle Einstellungen direkt in der Datei. Das Einzige, was ich nicht genau weiss ist, welchen Eintrag muss ich deaktivieren, damit´s läuft? Immerhin sucht das Cgi ja die Einstellungen - aber in vbox.variables... Ciao und schönes Wochenende, Stefan -- Mit freundlichen Grüssen Stefan Schilling mailto:mail.suse@gmx.de
Moin, Bernd Obermayr:
Wie gesagt, im vorliegenden Fall stimmt das nicht ganz ;)
Aus meiner Erfahrung mit anderen Programmiersprachen, wuerde ich sowas wie use strict immer benutzen. Es zwingt einen dazu sauber zu programmieren, was zugegeben, Zeit kostet, die man aber auf der anderen Seite locker wieder reinholt, weil man keine Zeit auf Fehlersuche wegen undefinierten, falsch typisierten, usw. Variablen verschwendet.
Gut bei perl kann ich da nicht richtig mitreden, ich kann Scripte einigermassen lesen, das wars dann aber schon.
Schon klar. Ich wollte ja auch nicht sagen, daß alles, was durch "strict" ausgegeben wird, völlig egal sei und kein Fehler. Das wäre der (falsche) Umkehrschluß. Es ist nur nicht so, daß man einfach "strict" drüberschreibt und sieht dann all die Fehler, die Perl sonst geheim hält. Ein Programm, daß nicht mit "strict" geschrieben wurde wird wohl fast immer Meldungen werfen, wenn man es mal eben in die strengere Umgebung versetzt. Ich nutze "strict" inzwischen auch, allerdings geht mir diese Variableninitialisiererei ziemlich auf den Sender. :-) Gruß, Ratti -- http://www.gesindel.de | Fontlinge | Die Schriftenverwaltung für Windows
Guten Tag ratti, Am Sonntag, 7. Juli 2002 um 16:49 schrieb ratti:
Moin,
Bernd Obermayr:
Wie gesagt, im vorliegenden Fall stimmt das nicht ganz ;)
Aus meiner Erfahrung mit anderen Programmiersprachen, wuerde ich sowas wie use strict immer benutzen. Es zwingt einen dazu sauber zu programmieren, was zugegeben, Zeit kostet, die man aber auf der anderen Seite locker wieder reinholt, weil man keine Zeit auf Fehlersuche wegen undefinierten, falsch typisierten, usw. Variablen verschwendet.
Gut bei perl kann ich da nicht richtig mitreden, ich kann Scripte einigermassen lesen, das wars dann aber schon.
Schon klar.
Ich wollte ja auch nicht sagen, daß alles, was durch "strict" ausgegeben wird, völlig egal sei und kein Fehler. Das wäre der (falsche) Umkehrschluß.
Es ist nur nicht so, daß man einfach "strict" drüberschreibt und sieht dann all die Fehler, die Perl sonst geheim hält. Ein Programm, daß nicht mit "strict" geschrieben wurde wird wohl fast immer Meldungen werfen, wenn man es mal eben in die strengere Umgebung versetzt.
Ich nutze "strict" inzwischen auch, allerdings geht mir diese Variableninitialisiererei ziemlich auf den Sender. :-)
Gruß, Ratti
Hallo! Habt ihr noch ne Idee, wie´s weitergehen könnte? Muss was am Skript ändern? In der vbox.variables? Sonst wo? Ciao, Stefan -- Mit freundlichen Grüssen Stefan Schilling mailto:mail.suse@gmx.de
Hallo! Das hier schreibe ich ganz bewusst hier -oben- hin, damits eine schnellere Übersicht gibt. Bernd Obermeyer hat u.a. folgendes angeregt: --- Tja, vielleicht kann einer der perl-Spezialisten sich des Problems mal annehmen, ich kann da, glaube ich, nicht mehr soviel helfen. Wenn Du irgendwo Webspace oder einen FTP Server hast leg mal die Scripte dorthin und poste die URL, damit auch Andere die Scripte begutachten koennen. --- Deswegen hier der Link: http://www.bjoern.net/vbox2www/ hier findet man die CGI-Skripte, auf die sich der ganze Ärger bezieht. Ach ja, falls ich, d.h. wir, d.h. ihr das ans Laufen bekommen, werde ich vielleicht bei einem Freund ein bischen Webspace anbandeln und eine "vernünftige" Anleitung formulieren. Dann bleibt ein solcher Ärger demnächst aus... Ciao, Stefan Am Samstag, 6. Juli 2002 um 23:14 schrieb Bernd Obermayr:
On Sat, 6 Jul 2002 19:20:13 +0200 Stefan Schilling
wrote:
Guten Tag Bernd Obermayr,
Am Samstag, 6. Juli 2002 um 16:19 schrieb Bernd Obermayr:
On Thu, 4 Jul 2002 22:35:57 +0200 Stefan Schilling
wrote: Guten Tag Bernd Obermayr, [...] # WICHTIG: "REMOTE_USER" macht die Authentifizierung des Users # gegen"uber dem HTTP-Server erforderlich
Schockschwerenot ;) Wie kann man nur so blind sein? Wichtige Frage: Du hast die Userauthentifizierung aktiv, also via .htaccess oder Directiven in der httpd.conf? Stichworte: Authconfig, .htaccess
ich denke, dass du den folgenden Teil aus /etc/httpd/httpd.conf meinst, es ist das, was bei mir für den Kram eingetragen ist:
---/etc/httpd/httpd.conf---
NameVirtualHost 192.168.100.1 DocumentRoot /home/vbox/public_html ServerName vbox.linuxserver ErrorLog /home/vbox/public_html/log/error_log CustomLog /home/vbox/public_html/log/custom_log common ScriptAlias /cgi-bin "/home/vbox/public_html/cgi-bin"
AllowOverride AuthConfig AuthType Basic AuthName "vbox" AuthUserFile /home/vbox/vbox/htpasswd.vbox Options ExecCGI +FollowSymLinks require user vbox Order deny,allow </Directory> </VirtualHost> ---/etc/httpd/httpd.conf---
[..]
Also, Fakt ist, dass ich nach Name und Password gefragt werde; /home/vbox/vbox/htpasswd.vbox ist vorhanden und enthält die Daten; sie werden akzeptiert. eine .htaccess existiert bei mir im gesamten System nicht. Ich habs mit dem mc versucht: eine .jazz findet er, die .htaccess nicht.
Ok, das ist gut so.
Sollte das nicht der Fall sein, weisst Du, was als naechstes zu tun ist. tja, leider nein.
;)
[...]
?? Was ist mit env?
linuxserver:/home/vbox/public_html/icons # su wwwrun linuxserver:/home/vbox/public_html/icons # env PWD=/home/vbox/public_html/icons
[...]
wirst du da etwa schlau draus? ach ja, ich wollte eigentlich gar kein X haben; ich wurde von Yast1 dazu gezwungen... Übrigens geht das auch als Nutzer "vbox", aber das war nur so eine kleine Anmerkung.
Ja, wwwrun hat das normale Environment, ich bin mir im Moment nicht sicher, ob er das sollte ;)
Ich habe mir mal die Scripte angesehen, die Du mir geschickt hast.
Erstmal habe ich in vbox.pl mittels "$ruser = bernd" den REMOTE_USER auf bernd gesetzt. Dann das Script ausgefuehrt. Es scheint alles ok zu sein. Aber: Als ich dann mal
perl -w vbox.pl
ausfuehrte, gab es eine Reihe Warnungen wie:
Name "main::vboxbody" used only once: possible typo at ./vbox.pl line 50. Name "main::vboxformdesc" used only once: possible typo at ./vbox.pl line 50. Name "main::vboxicalls" used only once: possible typo at ./vbox.pl line 50. [...]
#!/usr/bin/perl -w use strict;
an den Anfang des Scriptes geschrieben habe, hagelte es Fehlermeldungen
Global symbol "$ruser" requires explicit package name at ./vbox.pl line 37. Global symbol "$ruser" requires explicit package name at ./vbox.pl line 38. Global symbol "$ruser" requires explicit package name at ./vbox.pl line 39. [..] Execution of ./vbox.pl aborted due to compilation errors.
So, ich habe nun wirklich nicht die grosse Ahnung von perl. -w und use strict; habe ich hier aus der Liste, es wird von den Perl-Gurus immer als MUSS gepredigt ;)
Mir scheint aber, dass es sich bei dem Script um eines jener handelt, die halt bei dem, der es erstellt hat, mal (mehr aus Zufall) laufen, woanders aber dann Aerger machen.
Die Meldung [Fri Jun 28 17:28:05 2002] [error] syntax error at /home/vbox/public_html/cgi-bin/vbox.pl line 50, near "vbox
bedeutet wohl, dass in dem Block ab Zeile 50.. print <
Tja, vielleicht kann einer der perl-Spezialisten sich des Problems mal annehmen, ich kann da, glaube ich, nicht mehr soviel helfen.
Wenn Du irgendwo Webspace oder einen FTP Server hast leg mal die Scripte dorthin und poste die URL, damit auch Andere die Scripte begutachten koennen.
-- Mit freundlichen Grüssen Stefan Schilling mailto:mail.suse@gmx.de
participants (3)
-
Bernd Obermayr
-
ratti
-
Stefan Schilling