Comment utiliser un fournisseur Apache avec un Perl et un mod_perl auto-compilés?

StackOverflow https://stackoverflow.com/questions/79493

  •  09-06-2019
  •  | 
  •  

Question

Je souhaite utiliser Apache intégré à Apple ou RedHat, mais je souhaite utiliser Perl 5.10 et mod_perl. Quel est le moyen le moins intrusif pour y parvenir? Je souhaite bénéficier de l'application gratuite de correctifs de sécurité pour les fournisseurs Apache, dav, php, etc. du fournisseur, mais je me soucie beaucoup de la version de Perl que j'utilise et du contenu de mon chemin @INC. Cela ne me dérange pas de compiler mon propre mod_perl.

Était-ce utile?

La solution

  1. Construisez votre version de Perl 5.10 en suivant les instructions spéciales de la documentation de mod_perl. Demandez au configurateur Perl de l'installer à un endroit non standard, comme /usr/local/perl/5.10.0

  2. Utilisez les instructions pour créer une bibliothèque partagée (ou dynamique, ou .so) mod_perl avec Apache de votre distribution, mais assurez-vous que vous exécutez le fichier Makefile.PL en utilisant votre version de perl:

    /usr/local/perl/5.10.0/bin/perl Makefile.PL APXS = / usr / bin / apxs

  3. Installez et configurez mod_perl comme d'habitude.

Il peut être utile, après la première étape, de modifier votre chemin afin d'éviter toute confusion accidentelle quant à la version de Perl que vous utilisez:

export PATH=/usr/local/perl/5.10.0/bin:$PATH

Autres conseils

Vous voudrez vous renseigner sur mod_so

Je l'ai déjà fait auparavant. Ce n’était pas joli, mais cela a fonctionné, d’autant plus que les vendeurs Perl ont généralement entre 2 et 3 ans.

J'ai commencé par créer mon propre RPM Perl qui l'a installé à un emplacement différent, tel que / opt / . C'était assez simple. J'ai principalement commencé avec cela parce que je ne voulais pas que les utilitaires système qui utilisaient perl soient interrompus lors de la mise à niveau / installation de nouveaux modules. Je devais modifier tous mes scripts pour spécifier #! / Opt / bin / perl en haut et parfois même jouer avec le chemin pour m'assurer que mon perl venait en premier.

Ensuite, j'ai saisi un RPM source mod_perl et l'ai modifié pour qu'il utilise mon / opt / bin / perl au lieu de / usr / bin / perl . Je n'ai pas accès aux modifications que j'ai apportées, car c'était à un autre concert. Il m'a fallu un peu de jeu pour l'obtenir.

Cela a fonctionné, mais je ne suis pas un assistant RPM, la vérification de la dépendance n'a donc pas si bien fonctionné. Par exemple, je pourrais désinstaller mon RPM personnalisé et tout casser. Ce n'était pas un gros problème pour moi, alors je suis passé à autre chose.

Je mélangeais également des modules RPM avec des installations de modules CPAN (ai-je déjà dit que nous avions créé notre propre miroir CPAN personnalisé avec notre propre code?). C'était un peu fragile aussi. Encore une fois, je n’avais pas les ressources (c’est-à-dire le temps) pour savoir comment plier cpan2rpm utiliser mon perl et ne pas causer de conflits RPM.

Si je devais tout refaire, je créerais un RPM 5.10 perl personnalisé et remplacerais simplement le système Perl. Ensuite, j'utiliserais cpan2rpm pour créer les packages RPM dont j'avais besoin pour mon logiciel et compiler mon propre RPM mod_perl.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top