Forutsetninger
Installer Perl 5.28 på din webserver
Test Perl
Forutsetninger
- En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen .)
- En kjørende webserver, enten Apache eller Nginx
- Sudo-tilgang:
- Kommandoer som kreves for å kjøres som root, er prefikset av
#. Den anbefalte måten å kjøre kommandoer som root er å, som en vanlig bruker, prefiksere hver av dem medsudo
- Ha et tekstredigeringsprogram installert, og bli kjent med det, for eksempel vi, vim, nano, emacs eller en lignende editor
Installer Perl 5.28 på din webserver
Perl er en del av Arch-basegruppen, så den ble installert sammen med resten av Arch.
For Apache
Installer AUR-pakken (Arch User Repository) mod_perl. Se Bygge pakker på Arch Linux (inkludert AUR) .
Aktiver Apache Perl-modulen ved å redigere /etc/httpd/conf/httpd.conf, og på slutten av listen over LoadModulekommandoer legger du til følgende:
LoadModule perl_module modules/mod_perl.so
La hver Directoryseksjon du ønsker skal kunne kjøre Perl-skript inneholde disse alternativene følgende alternativer.
<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>
Legg merke til at hvis du redigerer en eksisterende Directoryseksjon, og den allerede inneholder Options None, kommenter linjen eller slett den.
Hvis du kjører flere vertskataloger, må du også redigere /etc/httpd/conf/httpd.confog kommentere ScriptAliaskommandoen som vist, ellers vil alle "/cgi-bin/" nettforespørsler bli servert /srv/http/cgi-bin/uavhengig av hvilken vert det er:
<IfModule alias_module>
...
#ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
</IfModule>
Start Apache på nytt:
# systemctl restart httpd
Lag riktig katalog:
# mkdir /srv/http/cgi-bin
For Nginx
Installer FCGI Wrap:
# pacman -S fcgiwrap
Start FCGI Wrap, og få den til å starte etter hver oppstart:
# systemctl enable --now fcgiwrap.socket
Tillat Nginx å bruke FCGI Wrap ved å redigere /etc/nginx/nginx.conf, og til hver serverblokk du vil bruke Perl, legg til følgende: Alternativt, hvis du bruker virtuelle verter, rediger hver verts konfigurasjonsfil:
location ~ /cgi-bin/.*\.(cgi|pl)$ {
root /usr/share/nginx/html/;
fastcgi_pass unix:/run/fcgiwrap.sock;
include fastcgi.conf;
}
Lag riktig katalog:
# mkdir /usr/share/nginx/html/cgi-bin/
Test Perl
Opprett test.cgimed innhold i den aktuelle katalogen :
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "perl works\n";
Gjør den kjørbar (påkrevd for perl-skript):
# chmod +x test.cgi
I en nettleser, besøk http://YOUR-SERVER-WEB-ADDRESS-OR-IP/test.cgi, og du vil se perl works.
Sørg for å slette test.cgitestfilen du nettopp opprettet.