PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache cgi-bin & Zugriffsrechte



ortega
02.08.02, 01:24
Hallo Zusammen,

habe folgendes Problem:

Ich habe mir einen apache installiert und alles ist soweit ok. Als ich allerdings eine Homepage ins htdocs Verzeichnis abgelegt habe und über einen Browser eines anderen Rechners im Netz auf ein cgi-Script im CGI-BIN Verzeichnis (das CGI-Verzeichnis ist im htdocs-verzeichnis, habe es aber auch im cgi-bin verzeichnis oberhalb des htdocs verzeichnisses probiert) zugreifen wollte, bekam ich Code 403-forbidden. Ich habe alle chmod und chgrp rechte korrekt gesetzt und wunder mich jetzt über diese Meldung.

woran liegt das und wie kann ich das Problem beheben (Einstellungen in der httpd.conf ? ) ???? :confused: :confused: :confused:

Vielen Dank!!

stefaan
02.08.02, 10:03
Servus!

-) Das cgi-bin gehört unter die htdocs, das passt schon so-
-) Du solltest nicht direkt in das cgi-bin Verzeichnis hineinschauen können, sondern nur das Script firekt aufrufen können.
-) Welche Rechte hat das Script (755?)

Grüße, Stefan

ortega
02.08.02, 11:00
Vielen Dank erstmal für die Antwort.

Die Rechte für das Script sind auf 755, wie es auch in der Installationsanleitung stand. Ich habe aber das Problem folgendermaßen eingrenzen können:

Ich habe das Script in das Verzeichnis "/usr/local/httpd/cgi-bin/" kopiert und es kam immer noch der Fehlercode 403. Als ich aber in die Zeile "#/usr/bin/perl" die Parameter "-T -U" anhängte liefen die Scripts wenigstens bis zu einer gewissen Stelle an. Ich habe mal die Fehlermeldung von Newspro, die stellvertretend für fast alle anderen Scripts, die bei mir nicht laufen, steht, hier angehangen:

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

An error has occurred. The exact description of the error is: Untrapped Error: Can't locate npconfig.pl in @INC (@INC contains: /usr/lib/perl5/5.6.1/i586-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i586-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl) at /usr/local/httpd/cgi-bin/newspro/newspro.cgi line 215.

If this error indicates a problem that you don't know how to solve, see the NewsPro documentation, FAQ, and forum.


--------------------------------------------------------------------------------
USEFUL INFORMATION
Perl may have generated the following error: No such file or directory
Perl Version: 5.006001
Script Version: 3.8
Script Build: 34
Script URL:
Script Location (Method 1): /usr/local/httpd/cgi-bin/newspro/newspro.cgi
Script Location (Method 2): /usr/local/httpd/cgi-bin/newspro
@INC:
/usr/local/httpd/cgi-bin/newspro
/usr/lib/perl5/5.6.1/i586-linux
/usr/lib/perl5/5.6.1
/usr/lib/perl5/site_perl/5.6.1/i586-linux
/usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl

ENVIRONMENT VARIABLES
QUERY_STRING:
SERVER_ADDR: 192.168.0.3
HTTP_ACCEPT_LANGUAGE: de
SERVER_PROTOCOL: HTTP/1.1
HTTP_CONNECTION: Keep-Alive
SERVER_SIGNATURE:
Apache/1.3.20 Server at ortega3.zimmer1 Port 80

REMOTE_PORT: 1135
HTTP_ACCEPT: */*
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
GATEWAY_INTERFACE: CGI/1.1
HTTP_HOST: 192.168.0.3
SERVER_SOFTWARE: Apache/1.3.20 (Linux/SuSE) PHP/4.0.6 mod_perl/1.26
SERVER_ADMIN: root@ortega3.zimmer1
REMOTE_ADDR: 192.168.0.50
SCRIPT_NAME: /cgi-bin/newspro/newspro.cgi
HTTP_ACCEPT_ENCODING: gzip, deflate
SERVER_NAME: ortega3.zimmer1
DOCUMENT_ROOT: /usr/local/httpd/htdocs
REQUEST_URI: /cgi-bin/newspro/newspro.cgi
UNIQUE_ID: PUpIgMCoAAMAAAJMITM
REQUEST_METHOD: GET
SCRIPT_FILENAME: /usr/local/httpd/cgi-bin/newspro/newspro.cgi
PATH: /sbin:/bin:/usr/sbin:/usr/bin
SERVER_PORT: 80

MESSAGE: Untrapped Error: Can't locate npconfig.pl in @INC (@INC contains: /usr/lib/perl5/5.6.1/i586-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i586-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl) at /usr/local/httpd/cgi-bin/newspro/newspro.cgi line 215.

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

Hoffe, dadurch kann mir weitergeholfen werden!
Danke im Voraus

Ortega

stefaan
02.08.02, 12:08
Servus!

Ich habs mit Perl auch nicht so, aber es schaut aus, als könnte er einen Include-Path nicht finden.
Was steht in der Code-Zeile?

Grüße, Stefan

ortega
02.08.02, 14:19
...

209 #Server problem workaround #1
210 if ($abaspath) {
211 push(@INC, $abaspath);
212 }
213
214 # Requiere npconfig.pl
215 require "npconfig.pl";
...

Das ist ein Auszug der Zeilen 209-215 aus dem Quellcode der "newspro.cgi". ´

Gruß
Ortega

stefaan
02.08.02, 14:28
Servus!

Unter PHP würde ich es so probieren (vorausgesetzt die Datei liegt im selben Verzeichnis):

215 require "./npconfig.pl";

Ob das in Perl auch so geht.. *hm*

Grüße, Stefan

ortega
02.08.02, 15:02
hi,

ich habe Deine Anweisung befolgt und es hat zunächst geklappt aber jetzt gibt er mir folgende Fehlermeldung aus:

"An error has occurred. The exact description of the error is: Untrapped Error: Illegal division by zero at /usr/local/httpd/cgi-bin/newspro/newspro.cgi line 816. "


Die codezeile lautet:


816 : require $ndislpaypl;

ich habe es auch mit ./ndisplaypl und ndisplay.pl ... probiert aber der Fehler bliebt gleich.

Kann es eventuell an einer Fehlerhaften Linux installation liegen (ich wundere mich, warum ich immer in der ersten Zeile der CGIs den perl Befehl mit den Parametern -T und -U angeben muss.

Vielen Dank bis hierhin!!!

Ortega

stefaan
02.08.02, 15:27
Servus!

*puh* schön langsam wirds für mich auch ein bisserl eng :rolleyes:

Frag doch einfach mal unter http://mrunix.de nach, das sind die Programmiererforen zu den Linuxforen.

Grüße, Stefan

ortega
02.08.02, 20:52
@ Stefan

Hi,

Du wirst es nicht glauben aber es lag daran, dass am Ende der ersten Codezeile ein Controllzeichen für einen Absatz (Enter, wird als M angezeigt) stand. Ich habe es weggemacht und alle probleme sind verschwunden!


Gruß und danke nochmal für die Vorschläge

Ortega