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.
  • 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

  1. Installiere das mod_perl-Paket aus dem Arch User Repository (AUR). Verwende dazu die offizielle Anleitung zum Bauen von AUR-Paketen.
  2. Aktiviere das Perl-Modul in Apache, indem du die Datei /etc/httpd/conf/httpd.conf bearbeitest und am Ende der LoadModule-Anweisungen folgende Zeile ergänzt:

LoadModule perl_module modules/mod_perl.so  

  1. 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.

  1. Wenn du mehrere virtuelle Hosts betreibst, musst du in /etc/httpd/conf/httpd.conf die Anweisung ScriptAlias 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>  

  1. Starte Apache neu zur Übernahme der Änderungen:
  1. Erstelle das notwendige Verzeichnis:

Perl mit Nginx einrichten

  1. Installiere FCGI Wrap:
  1. Aktiviere FCGI Wrap und sorge dafür, dass es beim Systemstart automatisch mitgeladen wird:

# systemctl enable --now fcgiwrap.socket  

  1. 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;  
}  

  1. Erstelle auch hier das benötigte Verzeichnis:

# mkdir /usr/share/nginx/html/cgi-bin/  

Perl-Funktionalität überprüfen

  1. 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";  

  1. Stelle sicher, dass das Skript ausführbar ist:
  1. 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.
  2. 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.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: