Configurer Apache pour PERL - Page 2

  1. Bon avec LoadModule ....... apache redémare? mais mon script perl ne fonctionne pas, l'extension .pl n'est pas reconnue, j'ai une fenêtr e me demandant si je veux l'ouvrir ou le télécharger;

    j'ai trouvé un fichier 75_mod_perl.conf qui est inclus dans le httpd.conf

    et là il y a des choses interessantes, notament le LoadModule tel que ci dessus mais dans une condition
    <IfDefine HAVE_PERL>

    J'ai aussi la possibilité de définir des Alias /perl/ qui pointent sur /var/www/perl/ que j'ai changé en /home/alain/sites/perl/ c'est la que j'ai mes sites d'essai

    Un autre Alias /cgi-perl/ idem

    Mais par contre ce sont toujours dans des
    <IfModule mod_perl.c>

    As tu une idée ?
    0
    1. Modérateur
      Salut,

      laisse tombé le fichier 75_mod_perl.conf
      mets la ligne avec include en commentaire
      #Include 75_mod_perl.conf 
      dans ton httpd.conf écrit
      Alias /perl /home/alain/sites/perl/
      SetHandler perl-script
      PerlHandler Apache::Registry
      
      Redémarre le serveur et fait un test
      0
      1. Merci,

        Je vais essayer mais seulement en fin de semaine, là je dois partir
        0
        1. Bonjour lami20j,

          Je viens de faire l'essai

          j'ai suprimé l'include du fichier 75_mod_perl.conf

          et rajouté dans http.conf:
          Alias /perl/ /home/alain/sites/perl/
          SetHandler perl-script
          PerlHandler Apache::Registry

          mais les deux lignes :
          SetHandler perl-script
          PerlHandler Apache::Registry

          empêchent le serveur de fonctionner, mes sites ne fonctionnent plus

          j'ai mis ces deux lignes entre
          <Location /perl/*.pl>

          </Location>

          Le serveur refonctionne mais mon fichier d'essai prog1.pl n'est toujours pas reconnu comme script perl.

          Aurais tu une idée ?

          merci
          0
          1. Modérateur
            Salut,

            empêchent le serveur de fonctionner, mes sites ne fonctionnent plus

            affiche les erreurs (voir les logs)
            0
            1. Lorsque je remet les deux lignes j'ai comme réponse:

              Internal Server Error

              The server encountered an internal error or misconfiguration and was unable to complete your request.

              et dans les logs:

              [Mon Jul 02 13:37:47 2007] [notice] Apache/2.2.3 (Mandriva Linux/PREFORK-1mdv2007.0) configured -- resuming normal operations
              [Mon Jul 02 13:37:48 2007] [error] [client 192.168.0.5] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i386-linux /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i386-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.7/i386-linux /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl . /etc/httpd) at (eval 2) line 3.\n
              [Mon Jul 02 13:37:48 2007] [error] [client 192.168.0.5] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i386-linux /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i386-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.7/i386-linux /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl . /etc/httpd) at (eval 3) line 3.\n

              unn find / -name 'Registry.pm' me le trouve en:

              /usr/lib/perl5/vendor_perl/5.8.8/i386-linux/ModPerl/Registry.pm

              il a-t-il une commande pour intégrer ce chemin dans @INC ???
              0
              1. Je n'ai pas trouvé de commande pour ajouter au @INC (un peu comme pour le PATH)

                Mais en fin de semaine, je vais essayer en faisant un lien symbolique entre le rep ou j'ai trouvé le fichier et un des rep de @INC

                J'avais fait l'installation par l'interface graphique mandriva.

                Je pense que par urpmi cela aurait été mieux ( dans les bons répertoires) ????
                0
                1. Salut Alain42,

                  J'ai suivi ton problème depuis le début (sans y avoir participé pour l'instant).
                  D'après ce que j'ai lu mod-perl est installé puisque tu as apache_mod_perl.
                  J'ai une mandriva spring 2007.1, j'ai testé un script perl ("hello.pl") pour voir si ça fonctionnait chez moi.
                  Sans toucher à aucun fichier de configuration et en plaçant mon script "hello.pl" dans /var/www/perl et cela fonctionne.

                  [redfox@localhost perl]$ cd /var/www/perl/
                  [redfox@localhost perl]$ ls -l
                  total 5
                  -rwxr-xr-x 1 root root 1075 avr 10 15:14 apache-mod_perl-testscript.pl*
                  -rwxr-xr-x 1 root root 73 jun 28 14:54 hello.pl*
                  -rwxr-xr-x 1 root root 1075 mar 10 18:34 test.pl*
                  [redfox@localhost perl]$

                  si ça peut t'aider ...

                  :-))
                  0
                2. Merci,

                  Je vais essayer sous var/www

                  Mais j'aurais voulu que cela fonctionne sous /home/alain/sites car j'utilse mon seveur Linux pour tester en local plusieurs sites et je les met sous ces rep en /home.

                  Mais j'ai l'impression que Apache-mod_perl n'a pas été installé correctement, les fichiers de config ne sont pas aux endroits ou les fichiers perls les "attendent".
                  0
              2. Modérateur
                Salut,

                alors fait une réinstallation d'apache et mod_perl

                si tu veux utiliser /home/alain/sites pour des tests tu peux :
                - si tu as un seul site à tester tu n'as qu'a modifier le fichier de configuration
                DocumentRoot "/home/alain/sites"
                
                <Directory "/home/alain/sites">
                  order allow,deny
                  allow from all
                </Directory>


                pour le même site tu peux utiliser le répertoire d'un utilisateur avec la directive UserDir

                Si tu as plusierus sites à tester alors regarde du côté hôtes virtuels
                0
                1. J'ai essaye en passant mon script de test sous var/www comme bob031, mais le résultat est le même.

                  Toujours la même erreur Apache/Registry.pm introuvable dans @INC

                  Avec un lien symbolique c'est idem.

                  Alors je vais faire comme préconisé par lami20j désinstaller Apache par urpme et réinstaller par urpmi.
                  Cette commande sera peut être plus conforme que lorsque l'install est faire par Mandriva.

                  A plus tard;

                  Et merci
                  0
                  1. Modérateur
                    Mais si j'installe par urpmi apache-mod_perl est ce que ça ne va pas entrer en conflit avec PHP ?

                    Non.
                    -1
                    Précédent
                    • 1
                    • 2