0 votos

Ejecutando mod_perl en El capitan

Estoy intentando ejecutar mod_perl en El capitan.

Proceso

  1. Tras http://blog.n42designs.com/blog/2014/10/23/compiling-mod-perl-for-apache-2-dot-4-on-os-x-10-dot-10-yosemite/ un https://stackoverflow.com/questions/34240610/how-to-install-mod-perl-2-0-10-in-apache-2-4-on-os-x-el-capitan

  2. El repositorio correcto es diferente para El capitan, así que use svn co https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_9/

    2. perl Makefile.PL MP_CCOPTS=-std=gnu89 ; make ; sudo make install Podría conseguir /usr/libexec/apache2/mod_perl.so

  3. En /etc/apache2/other añadí cgi.conf con el siguiente contenido.


LoadModule perl_module libexec/apache2/mod_perl.so
#PerlModule ModPerl::Registry

<Location "/Library/WebServer/Documents/cgi/">
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options ExecCGI
    PerlSendHeader On
    Order allow,deny
    Allow from all
</Location>

He copiado el simple perl cgi script en el /Library/WebServer/Documents/cgi/ pero en lugar de ejecutar el perl script, se muestra el código perl.

¿Qué puede estar mal?

AÑADIDO

Después de añadir estas líneas en el archivo conf:

<Files ~ "\.(pl|cgi)$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::PerlRun
    Options +ExecCGI
    PerlSendHeader On
</Files>

En cambio, tengo errores:

[perl:error] [pid 26307] [client ::1:60248] failed to resolve handler `ModPerl::PerlRun': Can't locate ModPerl/PerlRun.pm in @INC (you may need to install the ModPerl::PerlRun module) (@INC contains: /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 ...

0voto

Bill Puntos 7824

Para Mac OS X, /Library/WebServer/CGI-Executables ya está configurado, por lo que no debería haber ninguna configuración. Por lo tanto, basta con copiar echo.pl en el directorio, y utilizar el perl script con localhost/cgi-bin/echo.pl .

Para que funcione de todos modos

Necesitamos un ModPerl::PerlRun para instalar el módulo CPAN antes de la compilación.

sudo cpan ModPerl::PerlRun

Esto también crea e instala el perl_mod.so pero esto rompe el apache, así que tenemos que reconstruir el módulo. Esta es la configuración de trabajo.

LoadModule perl_module libexec/apache2/mod_perl.so

<Location "/Library/WebServer/Documents/cgi/">
    Options ExecCGI
    Order allow,deny
    Allow from all
</Location>

<Files ~ "\.(pl|cgi)$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::PerlRun
    Options +ExecCGI
    PerlSendHeader On
</Files>

Ahora localhost/cgi/echo.pl es la dirección a la que hay que acceder.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X