Apache2 akzeptiert kein Perl

N

naked_chef

Jungspund
Hallo Community,

google und die Boardsuche konnten mir keine befriedigenden Antworten bieten, daher hoffe ich, dass ihr einen Lösungsansatz habt...

Seit gestern versuche ich , Apache2 Perl beizubringen.
Die Module sind installiert und a2enmod Perl liefert :

This module is already enabled!

Meine /etc/apache2/sites-available/default sieht wie folgt aus:
Code:
NameVirtualHost *
<VirtualHost *>
	ServerAdmin webmaster@localhost
	
	DocumentRoot /var/www/
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
		# This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                #RedirectMatch ^/$ /apache2-default/
	</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
	</Directory>

	<Directory "/var/www/twiki/">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		AddHandler cgi-script .cgi .pl
		Order allow,deny
		Allow from all
	</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
	ServerSignature On

    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>

In dem Verzeichnis /var/www liegen 2 Ordner, einmal mediawiki und einmal twiki. Da twiki in Perl geschrieben ist muss dafür Perl mit Apache2 verbunden werden.

Wenn ich im Browser das Perlskript aufrufe, bekomme ich das Skript angezeigt, aber es wird nicht ausgeführt.

Habt ihr vielleicht eine Idee ?

Danke
Chef
 
Hallo,

ich hatte vor längerer Zeit ein ähnliches Problem wie du und konnte es folgender Maßen lösen...

NameVirtualHost *:80 # ÄNDERN!
<VirtualHost *:80> # ÄNDERN!
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews ExecCGI # ÄNDERN!


config ist noch länger... aber nichts weiter ändern...


sollte das nicht funktionieren dann probier folgende Pakete zu installieren...

libapache2-mod-python perl perl-base perl-modules libdbi-perl libdbd-mysql-perl libnet-ssleay-perl libio-stringy-perl libdata-showtable-perl libxml-perl


meld dich mal obs geklappt hat...
gruß aeson
 
Zuletzt bearbeitet:
hast du mal in:
/var/log/apache2/
reingeschau? Vielleicht sthet ja da was?
 
steht was interessantes in der loadmodule.conf?

Ich hab nicht die neueste Apache-Version, aber:
Code:
~> cat loadmodule.conf
[color=gray][... snip ...][/color]
LoadModule perl_module                    /usr/lib/apache2/mod_perl.so

Geht Perl außerhalb von vhosts?

Was immer a2enmod sagt... es ist nicht geladen oder Apache weiß nicht, was es mit .pl machen soll und zeigt es dann als Text an.

Ich kriege bei laufendem Perl sowas nur hin, wenn ein Script außerhalb ScriptAlias liegt (eben in der DocumentRoot irgend wo), deiner ist "ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/", aber das Zeug liegt in "/var/www" ... vielleicht ist es das?

Perl ist CGI und sollte eigentlich für einen Request unerreichbar sein, um es als Text runter zu laden. Wenn das passiert, ist irgend was oberfaul, das müßte einen "internal server error" (500) liefern, wenn apache Perl nicht erreichen kann, aber nicht das Script als Text anbieten...

So wenig wie ich davon verstehe (Wiki), aber das sollte doch nur passieren, wenn Apache Perl nicht kennt und dann das Script in der DocumentRoot liegt und damit erreichbar ist...
 

Ähnliche Themen

NGINX bietet intern abgerufene Seiten nur zum Download an, extern geht's

Nginx als Reverse Proxy für Nextcloud und Emby

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Probleme mit virtual hosts

Apache2 mod_proxy

Zurück
Oben