Perl 5.28 unter Arch Linux mit Apache oder Nginx installieren und einrichten
Voraussetzungen
- Ein Server mit aktueller Arch Linux-Installation.
- Ein funktionierender Webserver (Apache oder Nginx).
- Sudo-Rechte:
- Befehle, die als Root ausgeführt werden müssen, sind mit
#
gekennzeichnet. - Es wird empfohlen, diese Befehle als regulärer Benutzer mit
sudo
vorzupenden.
- Befehle, die als Root ausgeführt werden müssen, sind mit
- Ein installierter Texteditor wie vi, vim, nano, emacs oder ein vergleichbares Tool, das du beherrschst.
Perl 5.28 auf dem Webserver installieren
Perl ist Bestandteil der Arch-Basisinstallation und wird somit automatisch mitinstalliert.
Perl mit Apache einrichten
- Installiere das mod_perl-Paket aus dem Arch User Repository (AUR). Verwende dazu die offizielle Anleitung zum Bauen von AUR-Paketen.
- Aktiviere das Perl-Modul in Apache, indem du die Datei
/etc/httpd/conf/httpd.conf
bearbeitest und am Ende derLoadModule
-Anweisungen folgende Zeile ergänzt:
LoadModule perl_module modules/mod_perl.so
- Füge in jedem
<Directory>
-Block, in dem Perl-Skripte erlaubt sein sollen, diese Konfiguration ein:
<Directory "/srv/http/cgi-bin">
AllowOverride None
Require all granted
AddHandler perl-script .pl
AddHandler perl-script .cgi
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlOptions +ParseHeaders
</Directory>
Falls der Block bereits Options None
enthält, muss diese Zeile entfernt oder auskommentiert werden.
- Wenn du mehrere virtuelle Hosts betreibst, musst du in
/etc/httpd/conf/httpd.conf
die AnweisungScriptAlias
auskommentieren, um zu verhindern, dass alle/cgi-bin/
-Anfragen auf/srv/http/cgi-bin/
umgeleitet werden:
<IfModule alias_module>
...
#ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
</IfModule>
- Starte Apache neu zur Übernahme der Änderungen:
# systemctl restart httpd
- Erstelle das notwendige Verzeichnis:
# mkdir /srv/http/cgi-bin
Perl mit Nginx einrichten
- Installiere FCGI Wrap:
# pacman -S fcgiwrap
- Aktiviere FCGI Wrap und sorge dafür, dass es beim Systemstart automatisch mitgeladen wird:
# systemctl enable --now fcgiwrap.socket
- Damit Nginx mit FCGI Wrap kommunizieren kann, füge in jede Server-Definition in
/etc/nginx/nginx.conf
oder in die jeweiligen Konfigurationsdateien der virtuellen Hosts den folgenden Block ein:
location ~ /cgi-bin/.*\.(cgi|pl)$ {
root /usr/share/nginx/html/;
fastcgi_pass unix:/run/fcgiwrap.sock;
include fastcgi.conf;
}
- Erstelle auch hier das benötigte Verzeichnis:
# mkdir /usr/share/nginx/html/cgi-bin/
Perl-Funktionalität überprüfen
- Lege im jeweiligen CGI-Verzeichnis eine Datei mit dem Namen
test.cgi
an, die folgendes Skript enthält:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "perl works\n";
- Stelle sicher, dass das Skript ausführbar ist:
# chmod +x test.cgi
- Rufe in deinem Webbrowser die Adresse
http://DEINE-SERVER-ADRESSE-ODER-IP/test.cgi
auf. Wenn alles korrekt eingerichtet wurde, erscheint die Meldung perl works. - Vergiss nicht, die Datei
test.cgi
nach dem Test wieder zu löschen.
Fazit
Mit dieser Anleitung hast du Perl 5.28 erfolgreich auf einem Arch-Linux-Webserver mit Apache oder Nginx integriert. Egal ob du dich für mod_perl oder FCGI Wrap entschieden hast – dein Server ist jetzt in der Lage, Perl-Skripte auszuführen und kann auch komplexere CGI-Anwendungen verarbeiten. Achte darauf, Testdateien zu entfernen und auf produktiven Systemen die Rechte und Konfigurationen sorgfältig abzusichern.