PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl Probleme mit openSuSE 10.3



Carlo
01.01.08, 20:56
Hallo,

habe mir einen kleinen Linux Server für zu Hause aufgesetzt um meine Daten zentral zu lagern. Dazu habe ich noch Apachen am Laufen um mir ein wenig PHP anzueignen.
Leider laufen keine Perl Skripte. Woran liegt das? Perl habe ich eigentlich mitinstalliert.

asi_dkn
01.01.08, 23:09
was heisst "eigentlich mitinstalliert"? hast du's installiert oder nicht? Und was für eine Fehlermeldung bekommst du wenn du Perl Scripts ausführen willst?

marce
02.01.08, 08:39
und "wo" laufen sie nicht? An der Konsole oder im Webserver?

Carlo
02.01.08, 08:43
Vielen Dank für die schnelle Antwort. Also ich habe Perl installiert. Das Skript perltest.pl konnte ich schon mal ausführen. Wie es nunmal so ist, wenn man rumexperimentiert (rumpfuscht), klappt es jetzt nicht mehr!
Ich habe mir eine Domain "homi.local" erstellt. Deren Inhalt liegt unter:
/srv/www/vhosts/homi.local/htdocs

Im gleichen Verzeichnis liegt das Skript. Die Domain ist im Netz erreichbar, das Skript will aber nur noch runtergeladen werden!?
Ich habe in meiner vhosts.conf folgendes eingetragen:



ScriptAlias /cgi-bin/ "/srv/www/vhosts/homi.local/htdocs/"
<Directory "/srv/www/vhosts/homi.local/htdocs/">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>


Was mache ich falsch?

marce
02.01.08, 08:46
http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addhandler

Ansonsten - es wäre nett, wenn Du die Fragen, die man Dir stellt auch noch beantworten würdest - und bitte nicht nur mit "geht nicht" oder sonstiges Prosa...

Carlo
02.01.08, 11:00
Ja. Sorry. Auf dem Webserver laufen die Skripte nicht. Mit der Konsole kenn ich mich nicht aus. Der Browser will immer nur die Datei "perltest.pl" downloaden.

marce
02.01.08, 11:02
Den von mir geposteten Link hast Du verfolgt?

Carlo
02.01.08, 11:12
Ja. Dem Link bin ich gefolgt. Verstanden habe ich den Inhalt aber nicht ganz.

marce
02.01.08, 11:15
Schade für Dich. Da liegt vermutlich nämlich die Lösung begraben. Jedenfalls solange Du auch an den SheBang und die Dateirechte gedacht hast, aber das kommt erst hinterher...

Evtl. verrätst Du uns aber auch noch, _was_ konkret Du nicht verstanden hast...

Carlo
02.01.08, 11:20
Heißt das, dass ich dem Server sagen soll, wie die Datei behandelt werden soll, die aufgerufen wird?
Dateirechte sind 777

Ist die Syntax denn falsch, die ich in der vhost.conf eingetragen habe?

marce
02.01.08, 11:24
(1) Ja
(2) 777 ist für Testsysteme, die nicht im Internet sind, "tragbar"
(3) Falsch nicht - nur unvollständig.

Carlo
02.01.08, 11:47
Hab es jetzt umgeschrieben:


ScriptAlias /cgi-bin/ "/srv/www/vhosts/homer.local/htdocs/"
<Directory "/srv/www/vhosts/homer.local/htdocs/">
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>


Die Rechte habe ich auf 755 gesetzt. Jetzt funzt es.
Habe ich das richtig umgesetzt?
Gibt es keine Möglichkeit dies global festzulegen, anstatt dies bei jedem VHOST einzutragen?
Muss ich jetzt jedes Perl-Skript ins Hauptverzeichnis kopieren oder kann ich sie auch in diversen Unterverzeichnissen belassen?

marce
02.01.08, 11:57
Du solltest Dir ernsthaft mal die Apache-Doku durchlesen.

Du könntest die Direktive z.B. ausserhalb der Directory-Anweisung setzen oder gar ausserhalb des VHosts - je nach Bedarf...

Carlo
02.01.08, 12:06
Ich bestreite es auf gar keinen Fall. Natürlich muss und werde ich sie lesen. Das ist aber ein umfangreiches Thema.