Apache HTTP Server (Español)/mod_perl (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Estado de la traducción: esta traducción de Apache HTTP Server/mod_perl fue revisada el 2020-12-02. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Traducido desde el projecto:

mod_perl junta el poder completo del lenguaje de programación Perl y el Servidor HTTP Apache. Puede usar Perl para administrar Apache, responder a peticiones de las paginas webs y mucho más.

Instalación

Instale en paquete mod_perlAUR.

Configuración

Cargue el modulo a través del archivo de configuración de Apache httpd.conf:

LoadModule perl_module modules/mod_perl.so

Permita a Perl ejecutar scripts en ciertos directorios

Hay dos maneras posibles para habilitar el modulo mod_perl:

Utilizando hosts virtuales

Añada un host virtual con la siguiente configuración. Por ejemplo:

/etc/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost perlwebtest:80>
	Servername perlwebtest
	DocumentRoot /srv/http/perlwebtest
	ErrorLog /var/log/httpd/perlwebtest-error.log
	CustomLog /var/log/httpd/perlwebtest-access.log combined
	<Directory /srv/http/perlwebtest>
		AddHandler perl-script .pl
		PerlResponseHandler ModPerl::Registry
		Options +ExecCGI
		PerlOptions +ParseHeaders
		AllowOverride All
		Order allow,deny
		Allow from all
	</Directory>
</VirtualHost>

Asegúrese que /etc/httpd/conf/httpd.conf incluya el host virtual creado:

Include conf/extra/httpd-vhosts.conf

Asegúrese que no tenga la opción Options Indexes FollowSymLinks.

Añada «perlwebtest» como host local en /etc/hosts, usando el hostname de la maquina en sunombredehost:

127.0.0.1  localhost sunombredehost perlwebtest

En un subdirectorio

Añada lo siguiente en su archivo de configuración principal:

/etc/httpd/conf/httpd.conf
Alias /perlwebtest/ /srv/http/perlwebtest/
<Location /perlwebtest/>
      AddHandler perl-script .pl
      AddHandler perl-script .cgi
      PerlResponseHandler ModPerl::Registry
      PerlOptions +ParseHeaders
      Options +ExecCGI
      Order allow,deny
      Allow from all
</Location>

Habilite Perl en los listados de directorios

Cree /etc/httpd/conf/extra/perl_module.conf:

# Módulos requeridos: dir_module, perl_module

<IfModule dir_module>
        <IfModule perl_module>
                DirectoryIndex index.pl index.html
        </IfModule>
</IfModule>

E incluyalo en /etc/httpd/conf/httpd.conf:

# Perl
Include conf/extra/perl_module.conf

Pruebelo

Cree index.pl en /srv/http/perlwebtest:

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "mod_perl now works\n";

Reinicie el servicio httpd.service de Apache y haga que recargue su configuración.

Finalmente, dependiendo en la configuración alternativa elegida, visite: