Moin!
nun habe ich jeden Hinweis verfolgt und drei Tage lang google und Fireball gequält. Aber nix rührt sich. Das ist doch demotivierend!
Mir fällt eigentlich nur ein, dass du dein Perl-Skript vielleicht einfach mal in das Verzeichnis packen solltest, was dafür vorgesehen ist laut httpd.conf-Default:
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /perl/ "/home/thomas/public_html/perl/"
<Directory "/home/thomas/public_html/perl/">
AllowOverride None
Options Indexes ExecCGI
Order allow,deny
Allow from all
</Directory>
/var/www/cgi-bin ist der Standard. Du sollst laut Anweisung diese Angabe ändern auf dein CGI-Verzeichnis.
Wenn man den Standard und deine Hinzufügung vergleicht, fällt eigentlich nur auf, dass normal "Options None" ist, und du "Options Indexes ExecCGI" hast.
Dumme Frage: Warum hast du ExecCGI, wenn es laut Standard nicht notwendig ist?
Weitere Möglichkeit: Dein Apache läuft chrooted und findet z.B. Perl nicht.
Weitere Möglichkeit: Du hast unabsichtlich einen Virtual Host angelegt. Für den gilt die CGI-BIN-Definition des Hauptservers nicht, sondern muß extra angelegt werden (Nebenbei: Entweder hat man exakt genau eine Domain für seinen Apache - dann kann man die Config dafür im gesamten httpd.conf verstreuen, was ich schrecklich finde. Oder man wird virtuelle Hosts einsetzen, dann läßt man das mit dem Verstreuen und sammelt alle Einstellungen in einem <VirtualHost>-Container. Auch die für CGI-BIN.)
Weitere Testmöglichkeit: Apache bringt normalerweise irgendein printenv-Script mit, was mit der Bash läuft, also kein Perl verwendet. Geht das?
- Sven Rautenberg