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 sudovorzupenden.
 
- 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.confbearbeitest 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.confdie AnweisungScriptAliasauskommentieren, 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.confoder 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.cgian, 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.cgiauf. Wenn alles korrekt eingerichtet wurde, erscheint die Meldung perl works.
- Vergiss nicht, die Datei test.cginach 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.


