perl in cgi-bin läuft nicht

Elbo

Nur so...
ID: 51218
L
7 Mai 2006
713
21
Hi,

ich habe ein problem mit einem PERL-Skript im cgi-bin Ordner.

Wenn das Script ausgeführt werden soll, dann öffnet er ein Downloadfenster. Zudem habe ich einen 500 SERVER-FEHLER als Ausgabe.

Perl läuft und wenn ich whereis PERL ausführe kommt:

perl: /usr/bin/perl /etc/perl /usr/lib/perl /usr/X11R6/bin/perl /usr/bin/X11/perl /usr/local/lib/perl /usr/share/perl

Im Script ist das auf /usr/bin/perl verlinkt, also sollte passen.

Hat einer eine Idee?
Google kann oder will mir nicht helfen ;)
 
Ja, hab ich vergessen zu schreiben... chmod ist natürlich auf 755.

War das erste was ich geschaut habe.

Vielleicht noch eine Angabe zu meinem Server:
Debian Etch und Confixx sind drauf
 
Ja... steht ja oben bei "whereis perl"... da steht ja drin:
perl: /usr/bin/perl /etc/perl /usr/lib/perl /usr/X11R6/bin/perl /usr/bin/X11/perl /usr/local/lib/perl /usr/share/perl

was den angegebenen Pfad auch impliziert ;)
 
Hi,

ist denn in der Server-Konfig (Apache?) die ScriptAlias-Direktive korrekt gesetzt?
Sollte in etwa so aussehen:

Code:
ScriptAlias /cgi-bin/ /pfad/zum/cgi-bin/

Hat das cgi-bin ebenfalls den richtigen CHMOD (755)?

Wurde das Script korrekt im ASCII-Mode hochgeladen?

Funktionieren denn andere Scripts in dem Verzeichnis?
 
chmod ist 755

in der config steht folgendes :
ScriptAlias /cgi-bin/ /var/www/web0/html/cgi-bin/
<Directory "/var/www/web0/html/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

richtig hochgeladen... ich bearbeite das immer auf dem Server selber über putty... denke das passt dann ;)

andere scripte habe ich noch nicht getestet, mach ich aber gleich mal...
 
Das sieht ja eigentlich alles ganz in Ordnung und richtig aus...
Evtl. sendet das Script auch korrupte oder falsche Header an den Browser. Das wäre jetzt noch das Einzige, was mir so spontan einfallen würde.

Was mir gerade so auffällt, hat aber nix mit diesem Thema zu tun:
Aufgrund deiner Pfadangabe zum cgi-bin nehme ich mal an, es handelt sich um ein Confixx-System? Falls du den Server produktiv einsetzt, solltest du niemals die automatisch angelegten Systemuser res0 und web0 verwenden. Wie gesagt, das sind Systemuser, welche auch gesonderte Rechte haben (mehr Rechte auf bestimmte Verzeichnisse und Dateien im System). Jedenfalls könnte das eine ziemliche Sicherheitslücke werden, je nach Anwendung.

Am besten einen neuen Reseller, bzw. Endkunden anlegen (res1 und web1) und dann diese verwenden...
 
Das sieht ja eigentlich alles ganz in Ordnung und richtig aus...
Evtl. sendet das Script auch korrupte oder falsche Header an den Browser. Das wäre jetzt noch das Einzige, was mir so spontan einfallen würde.

Was mir gerade so auffällt, hat aber nix mit diesem Thema zu tun:
Aufgrund deiner Pfadangabe zum cgi-bin nehme ich mal an, es handelt sich um ein Confixx-System? Falls du den Server produktiv einsetzt, solltest du niemals die automatisch angelegten Systemuser res0 und web0 verwenden. Wie gesagt, das sind Systemuser, welche auch gesonderte Rechte haben (mehr Rechte auf bestimmte Verzeichnisse und Dateien im System). Jedenfalls könnte das eine ziemliche Sicherheitslücke werden, je nach Anwendung.

Am besten einen neuen Reseller, bzw. Endkunden anlegen (res1 und web1) und dann diese verwenden...
iwie stimmt das alles.. lade doch mal nen anderes Perl Script hoch weil vllt. hat das jetzige ja nen progg fehler
 
Also es lief nicht mit einem anderen Perl-Script :(

Ich setze das ganze jetzt mal neu auf... mal sehen ob das was bringt...

Danke für den Tip mit dem Reseller und dem Kunden... werde das dann mal umbauen ;)
 
Meine Neugier quält mich: warum hast Du nicht einfach nachgesehen was im ErrorLog steht? ;) Da hätte man sich das philosophieren doch sparen können.
 
Meine Neugier quält mich: warum hast Du nicht einfach nachgesehen was im ErrorLog steht? ;) Da hätte man sich das philosophieren doch sparen können.

Naja, bei nem 500er findet man nicht wirklich echte Hinweise auf die tatsächliche Fehlerquelle im Error-Log. Natürlich schadet es nie, einen Blick da reinzuwerfen.

Aber deswegen gleich den kompletten Server neu aufzusetzen, halte ich für eine etwas sehr drastische Massnahme....

Nachdem der Fehler aber offensichtlich bei allen Scripts auftritt, kann hier eigentlich nur irgendwo ein kleiner aber bedeutender Fehler in der Konfiguration vorliegen.
 
also ich habe den 500er-fehler nun weg, aber ich bekomme das perl immernoch nicht zum laufen...
der fehler lag in den safemode-restrictions :(
 
Was für eine Confixx-Version ist das?
Welches Betriebssystem (und Version) setzt du ein?

In Punkto suexec solltest du vielleicht die gepatchte suexec von SWSoft installieren. Gibts bei denen im Download-Bereich, wo man sich allerdings vorher registrieren muss.

Und was läuft jetzt noch nicht?
Werden die Scripts immer noch zum Download angeboten?

Hast du suidperl installiert?

Hier ein paar Hilfestellungen von SWSoft zum Thema Perl:
https://kb.swsoft.com/en/575
https://kb.swsoft.com/en/605
 
Zuletzt bearbeitet: