0 votes

Exécution de mod_perl sur El capitan

J'essaie d'exécuter mod_perl sur El capitan.

Processus

  1. Suivant 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. Le dépôt correct est différent pour El capitan, donc utilisez 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 Je pourrais obtenir /usr/libexec/apache2/mod_perl.so

  3. Sur /etc/apache2/other j'ai ajouté cgi.conf avec le contenu suivant.


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>

J'ai copié le simple cgi perl script dans le fichier /Library/WebServer/Documents/cgi/ mais au lieu d'exécuter le perl script, le code perl est affiché.

Qu'est-ce qui peut bien se passer ?

ADDED

Après avoir ajouté ces lignes dans le fichier conf :

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

J'ai des erreurs à la place :

[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 Points 7824

Pour Mac OS X, /Library/WebServer/CGI-Executables est déjà installé, il ne devrait donc pas y avoir de configuration. Donc, il suffit de copier echo.pl dans le répertoire, et utiliser le perl script avec localhost/cgi-bin/echo.pl .

Pour que ça marche quand même

Nous avons besoin d'un ModPerl::PerlRun pour installer le module CPAN avant la compilation.

sudo cpan ModPerl::PerlRun

Cela crée et installe également le perl_mod.so mais cela casse l'apache, donc nous devons reconstruire le module. Voici la configuration de travail.

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>

Maintenant localhost/cgi/echo.pl est l'adresse à laquelle il faut accéder.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X