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

From ArchWiki
< Apache HTTP Server (Español)
Jump to navigation Jump to search
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, o
- #En un subdirectorio.

#### 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:

- http://perlwebtest para #Utilizando hosts virtuales, o
- http://localhost/perlwebtest para #En un subdirectorio.

Category:

- Web server (Español)