In esecuzione mod_perl su El capitan

0

Sto cercando di eseguire mod_perl su El capitan.

Processo

  1. seguenti link an collegamento

  2. Il repository corretto è diverso per El capitan, quindi usa 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 Potrei ottenere /usr/libexec/apache2/mod_perl.so

  3. Nella directory /etc/apache2/other , ho aggiunto cgi.conf con il seguente contenuto.

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>

Ho copiato lo script perl cgi semplice nella directory /Library/WebServer/Documents/cgi/ , ma invece di eseguire lo script perl, viene mostrato il codice perl.

Che cosa potrebbe essere sbagliato?

AGGIUNTO

Dopo aver aggiunto queste righe nel file conf:

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

Ho invece degli errori:

[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 ...
    
posta prosseek 30.01.2016 - 03:52
fonte

1 risposta

0

Per Mac OS X, /Library/WebServer/CGI-Executables è già stato configurato, quindi non dovrebbe esserci alcuna configurazione. Quindi, copia semplicemente echo.pl nella directory e usa lo script perl con localhost/cgi-bin/echo.pl .

Per farlo funzionare comunque

Abbiamo bisogno di un ModPerl::PerlRun per installare il modulo CPAN prima della compilazione.

sudo cpan ModPerl::PerlRun

Questo crea anche e installa perl_mod.so , ma questo rompe l'apache, quindi abbiamo bisogno di ricostruire il modulo. Questa è la configurazione di lavoro.

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>

Ora localhost/cgi/echo.pl è l'indirizzo per accedere.

    
risposta data 30.01.2016 - 05:42
fonte

Leggi altre domande sui tag