Quelle est la manière la plus simple d'get mod_perl et mod_dav_svn embedded dans Apache sur Solaris 10

J'ai écrit un logiciel qui utilise le code Perl exécuté dans Apache (utilisant mod_perl) pour travailler avec (entre autres) subversion (en utilisant le module mod_dav_svn).

Je rédige actuellement des conseils pratiques sur la façon de mettre en place cette fonctionnalité sur différents systèmes d'exploitation et j'ai rencontré des problèmes sur Solaris.

  • Le server Apache2 livré avec Solaris10 a mod_perl mais pas mod_dav_svn – Je ne peux pas find un package svn binary construit contre cet apache.
  • Sunfreeware a des packageages subversion et apache 2.2 qui fonctionnent set mais pas mod_perl.
  • Différents packageages de subversion binary (par exemple Collabnet) incluent apache mais pas mod_perl.

Il semble que mon option soit de build soit mod_perl soit subversion de source, ce que j'espérais vraiment éviter car j'essaie de rendre les instructions d'installation aussi non techniques que possible.

Alors, y a-t-il un package binary disponible qui me permet de configurer mod_perl et mod_dav_svn dans le même Apache sur Solaris 10 que j'ai manqué?

À défaut, s'il y a quelqu'un qui a dû faire cela auparavant, aimeriez-vous commenter de build svn ou build mod_perl qui sera le plus petit mal de tête.

Le fait de créer des packageages à partir de la source en général est une douleur, mais une fois qu'il est terminé, vous pouvez l'utiliser pour créer un package et fournir des files binarys vous-même et sauver les autres problèmes pour votre projet.

Je n'ai fait que subversion moi-même plutôt que mod_perl, mais j'ai jeté un coup d'oeil au script de construction que nous utilisons pour mod_perl (malheureusement, c'est très spécifique à notre environnement et ne serait pas très utile pour vous) et il semble mod_perl sera l'option la plus simple, car elle a less de dependencies (juste perl et apache).

Construire mod_perl semble être aussi simple que perl Makefile.PL MP_APXS=/path/to/your/apache/bin/apxs; make; make install perl Makefile.PL MP_APXS=/path/to/your/apache/bin/apxs; make; make install perl Makefile.PL MP_APXS=/path/to/your/apache/bin/apxs; make; make install .

Subversion, d'autre part nécessite au less apr et apru, et selon vos besoins, d'autres dependencies (par exemple, nous construisons avec des bindings python pour trac). Si vous décidez de comstackr la subversion, vous souhaitez probablement désactiver autant de dependencies que possible (p. Ex., Si vous n'avez pas besoin de support berbely db, passez --without-berkley-db à configurer). Si configure se plaint d'une dépendance manquante, décidez si vous en avez besoin, et ajoutez simplement --without-featurex si vous n'en avez pas besoin.

Vous devrez avoir apr et apru construit en premier (ou des packages binarys installés) et passer les options --with-apr=/some/path et --with-apr-util=/some/path (les deux sont des paths vers le file apr / apu-1-config, situé dans le directory bin).

L'utilisation du support SSL fonctionne peut-être aussi, car les bibliothèques satellites Solaris se trouvent dans un location qui n'est normalement pas détecté. Assurez-vous d'avoir -I/usr/sfw/include dans votre variable d'environnement CFLAGS et -L/usr/sfw/lib -R/usr/sfw/lib (ou / usr / sfw / lib / amd64 ou sparcv9 si vous voulez 64 bit) dans votre variable d'environnement LDFLAGS. Les deux variables doivent être définies avant d'exécuter configure. Si vous construisez 32 bits, vous pourriez être en mesure de vous en sortir simplement --with-ssl=/usr/sfw , mais il est probable que la subversion finda correctement les bibliothèques 64 bits si vous avez besoin d'une version 64 bits sans que vous définissiez correctement les CFLAGS / LDFLAGS.

Comme pour la construction de mod_perl, vous devrez laisser la subversion savoir où est apxs, passez simplement --with-apxs=/path/to/apache/bin/apxs pour configurer.

Ce dernier conseil est probablement évident, mais au cas où: faites les instructions de construction dans un script (ou Makefile) afin que vous puissiez les répéter facilement sur de nouvelles machines ou avec des options de configuration légèrement différentes.

Je réponds ici pour save ce qui a fonctionné pour moi, suite à la réponse très utile de Mark.

Étant donné que la compilation de mod_perl ressemblait less à un problème que la compilation de Subversion, j'ai installé Subversion 1.6 et ses dependencies (dont Apache 2.2.15) de sunfreeware.com .

Ensuite, j'ai téléchargé et construit mod_perl selon les instructions.

J'ai dû éditer /usr/local/apache2/bin/apxs car il a supposé que perl était dans /usr/local/bin au lieu de /usr/bin mais ensuite il a compilé tout et a mis le mod_perl.so au bon endroit.

L'autre petite acquisition avec l'installation des modules Perl par rapport au standard Perl 5.8 inclus avec Solaris est qu'il a été compilé à l'aide du compilateur Sun, et non de la gcc et vous rencontrez less d'ennuis si vous le téléchargez et utilisez à la place (assurez-vous que c'est le directory bin avant gcc sur votre path).

Je viens de prendre conscience que les packageages OpenCSW pourraient être une autre solution. Ils semblent avoir des packages binarys apache, mod_perl et subversion. Je ne les ai pas encore essayé.

Il suffit d'utiliser Web Stack, la compilation embeddede de Sun de ces produits (vous pouvez installer ce dont vous avez besoin):

Le logiciel Web Stack comprend le logiciel suivant:

  1. Logiciel Serveur – Serveur Web Apache, Apache Tomcat, server proxy Squid, lighttpd.
  2. Logiciel DB – server MySQL.
  3. Environnement de programmation – PHP, Perl, Ruby et Python.
  4. Logiciel de caching – memcached.

Complétez ici: http://wikis.sun.com/display/WebStack/Web+Stack+Getting+Started+Guide