Requisits previs
Instal·leu Perl 5.28 al vostre servidor web
Prova Perl
Requisits previs
- Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article ).
- Un servidor web en funcionament, ja sigui Apache o Nginx
- Accés Sudo:
- Les ordres que cal executar com a root tenen el prefix
#. La manera recomanada d'executar ordres com a root és, com a usuari normal, posar-hi el prefix a cadascuna d'ellessudo
- Tenir un editor de text instal·lat i familiaritzar-se amb ell, com ara vi, vim, nano, emacs o un editor similar
Instal·leu Perl 5.28 al vostre servidor web
Perl forma part del grup de base Arch, per la qual cosa es va instal·lar juntament amb la resta d'Arch.
Per a Apache
Instal·leu el paquet AUR (Arch User Repository) mod_perl. Vegeu Creació de paquets a Arch Linux (inclòs l'AUR) .
Habiliteu el mòdul Apache Perl editant /etc/httpd/conf/httpd.conf, i al final de la llista d' LoadModuleordres, afegiu el següent:
LoadModule perl_module modules/mod_perl.so
Feu que cada Directorysecció que vulgueu per poder executar scripts Perl contingui aquestes opcions les opcions següents.
<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>
Tingueu en compte que si esteu editant una Directorysecció existent i ja conté Options None, comenta aquesta línia o elimina-la.
Si esteu executant diversos directoris d'amfitrió, també heu d'editar /etc/httpd/conf/httpd.confi comentar l' ScriptAliasordre tal com es mostra, o totes les sol·licituds web "/cgi-bin/" es serviran des de l' /srv/http/cgi-bin/amfitrió que sigui:
<IfModule alias_module>
...
#ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
</IfModule>
Reinicieu Apache:
# systemctl restart httpd
Creeu el directori adequat:
# mkdir /srv/http/cgi-bin
Per a Nginx
Instal·leu FCGI Wrap:
# pacman -S fcgiwrap
Inicieu FCGI Wrap i feu que comenci després de cada arrencada:
# systemctl enable --now fcgiwrap.socket
Permeteu que Nginx utilitzi FCGI Wrap editant /etc/nginx/nginx.conf, i a cada bloc de servidor que vulgueu utilitzar Perl, afegiu el següent: Alternativament, si feu servir amfitrions virtuals, editeu el fitxer de configuració de cada amfitrió:
location ~ /cgi-bin/.*\.(cgi|pl)$ {
root /usr/share/nginx/html/;
fastcgi_pass unix:/run/fcgiwrap.sock;
include fastcgi.conf;
}
Creeu el directori adequat:
# mkdir /usr/share/nginx/html/cgi-bin/
Prova Perl
Dins del directori adequat, creeu test.cgiamb continguts:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "perl works\n";
Feu que sigui executable, (necessari per als scripts perl):
# chmod +x test.cgi
En un navegador web, visiteu http://YOUR-SERVER-WEB-ADDRESS-OR-IP/test.cgi, i veureu perl works.
Assegureu-vos d'eliminar el test.cgifitxer de prova que acabeu de crear.