Perl/CGI geht nicht...?

Bluebase

Registered User
Also ich hab mal wieder ein Problem. Ich hab einen Counter für meine Seite und alles zur Installation befolgt. Also Dateien ins CGI-BIN Verzeichnis rein, über das Web die Admindatei aufgerufen. Jetzt will er die aber runterladen. Dann hab ich gegooglet was das sein kann. Eventuell muss die Dateiendung von .cgi auf .pl oder .plx geändert werden. Gesagt getan, Dateiendung geändert. Aufgerufen über Browser, jetzt bietet er mir wieder an die Datei runterzuladen.
Jetzt bin ich, weiß ich wieso, auf die Idee gekommen, dass bei mir kein Perl installiert ist, oder zumindest nicht aktiviert. Da wir aber den Server von nem "Profi" vor einiger Zeit sicher machen lassen haben, ist Visas jetzt abgeschaltet. Wie überprüf ich das per Putty/WinSCP oder sonst wie, ob Perl aktiviert ist? Und wie kann ich das gegebenenfalls nachholen?

edit: Ach ja hab einen Strato Power Server mit Suse 9.1 falls es hilft
 
Ich hab leider nur beschränkten Zugriff auf den Server. der Befehl Yast geht schonmal gar nicht.
Bei PHPInfo steht unter Loaded Modules steht:

core prefork http_core mod_so mod_access mod_actions mod_alias mod_auth mod_auth_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_suphp sapi_apache2

Wie bekomm ich das script zu Laufen?

edit:
hab jetzt raus bekommen, wie ich in Putty perlscripte aufrufe. perl dateiname.pl funktioniert einwandfrei, es werden diverse HTML-Codes dargestellt. Nur wie bekomm ich das jetzt im Browser hin?
 
Last edited by a moderator:
Bluebase said:
Also Dateien ins CGI-BIN Verzeichnis rein, über das Web die Admindatei aufgerufen. Jetzt will er die aber runterladen.
Wo genau liegt das cgi-bin-Verzeichnis? (Es sollte auf jedenfall klein geschrieben sein.)
Zum anderen können Berechtigungen falsch sein, bzw. die extension cgi & pl nicht mit einem CGI-Handler verbunden sein.

huschi.
 
also das CGI verzeichnis liegt in /home/b/bluebase-guide.net/public_html/cgi-bin/ und war da schon von Haus aus angelegt.
Berechtigungen hab ich schon alles mögliche probiert. Und mit Letzterem weiß ich nichts anzufangen... Wie finde ich das raus bzw. behebe ich das Problem?
 
Erstens solltest Du den Parameter '-i' in der Shebang-Zeile entfernen. Dann setzt die Rechte auf 775 und letztlich suchst Du in /etc/apache2/ nach 'AddHandler cgi-script .pl' und nach allen Directory-Einträgen, die irgendwo in diese Richtung gehen: /home/b/bluebase-guide.net/...
Dort muß irgendwo noch ein 'Options +ExecCGI' gesetzt werden.

Ein globaler cgi-bin-Alias, wie er sonst üblich ist, ist wohl nicht gesetzt.
Welche Admin-Software nutzt Du?

huschi.
 
Ersteres kann ich leider erst Morgen tun, denn wie gesagt hab ich keinen vollen Zugriff und komm nur auf mein Web-Verzeichnis. Das mit dem -i aus der Shebang Zeile ist bereits getan. Rechte sind auf 775.

Admin Software war Visas im Einsatz, aber aufgrund unseres Sicherheitsfetischistischen Admins wurde diese entfernt(wie auch phpmyadmin). Also tuen wir alles per Hand. Ist zwar Umständlich aber man kommt auch ans Ziel.
 
Also irgendwie steht in der httpd.conf nur einmal das Wort Handler, nämlich
Code:
<IfModule mod_php4.c>
suPHP_Engine on
php_admin_flag engine off
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
[B]AddHandler x-httpd-php .php[/B]
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.php4
</IfModule>
Auch bluebase-guide.net ist nur wenig erwähnt:
Code:
[b]ScriptAlias /cgi-bin/ /home/b/bluebase-guide.net/public_html/cgi-bin/[/b]
Das sieht schon irgendwie danach aus, aber in meinem Windowsapache steht danach der CGI Handler.
Code:
ScriptAlias /cgi-bin/ "C://cgi-bin/"
<Directory "C://cgi-bin">
    AllowOverride None
    Options Includes ExecCGI
        AddHandler server-parsed .shtml
        AddHandler cgi-script .cgi .pl
    Order allow,deny
    Allow from all
</Directory>
Langsam weiß ich nicht mehr weiter... Ich hab 2 Scripte die ich einbauen will...^^

MfG
MHumann
 
Bluebase said:
Das sieht schon irgendwie danach aus, aber in meinem Windowsapache steht danach der CGI Handler.
Da hast Du doch eine schöne Vorlage, welche Du fast genauso innerhalb der entsprechenden VirtualHost einbauen kannst.

huschi.
 
Verdammt es will irgendwie net. Hab die neue httpd.conf für die alte drauf kopiert, Apache neu gestartet, kommt immernoch nix neues. Außer dass ich nen ganzen Codehaufen bekomme wenn ich die Datei als CGI aufrufe. Da wird an den Browser das weitergegeben, was beim editieren der Datei drinne stehen würde.
.pl Dateien werden immernoch zum Download angeboten. ich poste mal den veränderten ausschnitt aus der httpd.conf:
Code:
#VHOST bluebase-guide.net
<VirtualHost *:80>
php_admin_value open_basedir /home/b/bluebase-guide.net/public_html/:/usr/local/lib/php:/tmp
DocumentRoot /home/b/bluebase-guide.net/public_html/
ServerName www.bluebase-guide.net
IndexOptions
DirectoryIndex index.htm index.html index.shtml start.htm start.html start.shtml index.php index.php3
ServerAlias bluebase-guide.net bluebaseguidenet.h126067.serverkompetenz.net www.bluebase-gude.net www.bluebase-guide.net www.bluebase-guide.de bluebase-guide.de
CustomLog "|/usr/local/visas/cronolog/cronolog --symlink=/usr/local/visas/logfiles/bluebase-guide.net/access_log --prev-symlink=/usr/local/visas/logfiles/bluebase-guide.net/current_access_log /usr/local/visas/logfiles/bluebase-guide.net/%Y/%m/%d/access_log" combined
SuexecUserGroup bluebaseguidenet www
ScriptAlias /cgi-bin/ /home/b/bluebase-guide.net/public_html/cgi-bin/
<Directory "/home/b/bluebase-guide.net/public_html/cgi-bin/">
    AllowOverride None
    Options None
	AddHandler server-parsed .shtml
	AddHandler cgi-script .cgi .pl .plx
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>
#/VHOST
Hab ich da was falsch gemacht oder warum geht das nicht?
 
Back
Top