Abend Jean-Max und Tom
Da ein wirklich ausführlicher Bericht "How to install a apache-server on an ubuntu-system with full ssi- cgi- perl- and shtml- support" diesen ehe schon viel zu langen thread sprengen würde, hier die grobe Zusammenfassung.
Vorweg: Ich habe zunächst wieder den Urzustand hergestellt (apache und alle mods deinstalliert + Restart).....
1. apache2 neu installiert
2. index.html in var/www/ abgelegt
3. ssi-test.shtml in var/www/ abgelegt
4. Perl-Test.pl in usr/lib/cgi-bin abgelegt
5. Ordnerrechte auf 0755 eingestellt
6. group auf www-data gesetzt
7. mich mit aduser grp hinzugefügt
8. apache restart
9. sudo a2enmod include ausgefürt
10. etc/apache2/sites-available/default +includes eingesetzt
11. etc/apache2/sites-available/default AddType text/html .shtml
12. etc/apache2/sites-available/default AddOutputFilter INCLUDES .shtml
13. etc/apache2/sites-available/default AddHandler cgi-script .cgi .pl
Die etc/apache2/sites-available/default wie folgt abgeändert:
----------------------------------------------------------------
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride None
Order allow,deny
allow from all
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script .cgi .pl
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
----------------------------------------------------------------
Nachdem es dann immer noch nicht funktionierte, nahm ich mir die Testprogramme vor. Nachdem die aber im Standalone-Betrieb gingen, blieb mir nur noch eine Möglichkeit--> Das Error-Logfile!
Un dort stand dann drin:
--------------------------------------------------------------
malformed header from script. Bad header=<html>: Perl-Test.pl
--------------------------------------------------------------
D.h., wenn der apache eine generierte Homepage nicht genau 100% Fehlerfrei serviert bekommt, streikt er einfach "wortlos". Was lernen wir daraus? Ein Error-Logfile ist nicht einfachh wachsender Ballast in einem System, nein - es kann auch eine Hilfe sein, wenn man mal nicht weiter weis!
Wer übrigens Testprogramme braucht für solche Zwecke-> Hier mal meine treuen Informanten...
Server-Test - ob Html erkannt und ausgeliefert wird:
-----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<p>Ich liege im Verzeichnis var/www und bin ein ganz normales HTML-Dokument!</p>
</body>
</html>
-----------------------------------------------------------------
Server-Test - ob ssi korrekt arbeitet:
-----------------------------------------------------------------
<html>
<head>
<title>SSI Test Page</title>
</head>
<body>
<!--#echo var="DATE_LOCAL" -->
</body>
</html>
-----------------------------------------------------------------
Und hier wohl das kürzeste shtml-Dokument der Welt um Perlaktivierung zu testen:
-----------------------------------------------------------------
<!--#exec cgi="/cgi-bin/Perl-Test.pl" -->
-----------------------------------------------------------------
Und zu letzt noch ein kleines PerlScript, das dem Browser sagt, wenn es funktioniert:
-----------------------------------------------------------------
#!/usr/bin/perl -w
use strict;
use CGI -no_xhtml;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print CGI->header('text/html');
print qq(<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">),"\n";
print qq(<meta http-equiv="Content-Language" content="de">),"\n";
print qq(<meta http-equiv="Content-Type" content="text/html; charset=utf-8">),"\n";
print qq(<html>),"\n";
print qq(<head>),"\n";
print qq(</head>),"\n";
print qq(<body>),"\n";
print qq(<title>Perl-Tester</title>),"\n";
print qq(<p>Wenn sie das lesen können, hat SSI und CGI korrekt funktioniert!</p>),"\n";
print qq(</body>),"\n";
print qq(</html>),"\n";
-----------------------------------------------------------------
Mist, jetzt ist die kurze Erklärung doch noch etwas länger geworden *g*
Hoffe das es einem Zukünftigem Leser mit gleichem Problem weiter hilft. Man lernt auf jedenfall in welchem Verzeichnis was zu liegen hat...
Grüße und Dank
Gary