Prerequisiti
- Un server Vultr in esecuzione su Arch Linux aggiornato (vedi questo articolo .)
- Un server web in esecuzione, Apache o Nginx
- Accesso al Sudo:
- I comandi che devono essere eseguiti come root sono preceduti da
#. Il modo raccomandato per eseguire i comandi come root è, come utente normale, aggiungere un prefisso a ciascuno di essisudo
- Avere un editor di testo installato e conoscerlo, come vi, vim, nano, emacs o un editor simile
Installa Perl 5.28 sul tuo server web
Perl fa parte del gruppo base Arch, quindi è stato installato insieme al resto dell'Arch.
Per Apache
Installa il pacchetto AUR (Arch User Repository) mod_perl. Vedi Creazione di pacchetti su Arch Linux (incluso AUR) .
Abilita il modulo Apache Perl modificando /etc/httpd/conf/httpd.confe alla fine dell'elenco dei LoadModulecomandi aggiungi quanto segue:
LoadModule perl_module modules/mod_perl.so
Rendere ogni Directorysezione che si desidera essere in grado di eseguire gli script Perl contengono queste opzioni le seguenti opzioni.
<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>
Nota se stai modificando una Directorysezione esistente e questa contiene già Options None, commenta quella linea o eliminala.
Se si eseguono più directory host, è inoltre necessario modificare /etc/httpd/conf/httpd.confe commentare il ScriptAliascomando come mostrato, oppure tutte le richieste Web "/ cgi-bin /" verranno soddisfatte /srv/http/cgi-bin/indipendentemente dall'host che è:
<IfModule alias_module>
...
#ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
</IfModule>
Riavvia Apache:
# systemctl restart httpd
Creare la directory appropriata:
# mkdir /srv/http/cgi-bin
Per Nginx
Installa FCGI Wrap:
# pacman -S fcgiwrap
Avvia FCGI Wrap e avvialo dopo ogni avvio:
# systemctl enable --now fcgiwrap.socket
Consenti a Nginx di utilizzare FCGI Wrap modificando /etc/nginx/nginx.confe per ogni blocco server che desideri utilizzare Perl, aggiungi quanto segue: In alternativa, se stai utilizzando host virtuali, modifica il file di configurazione di ciascun host:
location ~ /cgi-bin/.*\.(cgi|pl)$ {
root /usr/share/nginx/html/;
fastcgi_pass unix:/run/fcgiwrap.sock;
include fastcgi.conf;
}
Creare la directory appropriata:
# mkdir /usr/share/nginx/html/cgi-bin/
Test Perl
All'interno della directory appropriata, creare test.cgicon i contenuti:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "perl works\n";
Renderlo eseguibile, (richiesto per gli script perl):
# chmod +x test.cgi
In un browser Web, visita http://YOUR-SERVER-WEB-ADDRESS-OR-IP/test.cgie vedrai perl works.
Assicurati di eliminare il test.cgifile di test appena creato.