Qual é a maneira mais fácil de obter mod_perl e mod_dav_svn integrados ao Apache no Solaris 10?

3

Eu escrevi alguns softwares que usam código Perl rodando dentro do Apache (usando mod_perl) para trabalhar com (entre outras coisas) o subversion (usando o módulo mod_dav_svn).

Atualmente, estou escrevendo alguns documentos com instruções sobre como configurar e executar em vários sistemas operacionais e tive problemas com o Solaris.

  • O servidor Apache2 que vem com o Solaris10 tem o mod_perl mas não o mod_dav_svn - não consigo encontrar um pacote svn binário construído contra esse apache.
  • O Sunfreeware possui pacotes subversion e apache 2.2 que funcionam juntos, mas não mod_perl.
  • Vários pacotes de subversão binários (por exemplo, Collabnet) incluem o apache, mas não o mod_perl.

Parece que minha opção é criar o mod_perl ou o subversion a partir do código-fonte, o que é algo que eu realmente queria evitar, já que estou tentando tornar as instruções de instalação o menos técnicas possível. .

Então, existe um pacote binário disponível que me permite executar mod_perl e mod_dav_svn no mesmo Apache no Solaris 10 que perdi?

Caso isso aconteça, se houver alguém que tenha feito isso antes, eles gostariam de comentar sobre qual edifício svn ou a construção de mod_perl será a menor dor de cabeça.

    
por AndrewR 09.07.2010 / 14:34

4 respostas

2

A criação de pacotes a partir do código-fonte em geral é penosa, mas, uma vez feito, você pode usá-lo para criar um pacote e fornecer binários e salvar os outros o trabalho de fazer isso em seu projeto.

Eu só fiz o subversion em vez de mod_perl, mas dei uma olhada no script de construção que usamos para o mod_perl (infelizmente é muito específico para o nosso ambiente e não seria muito útil para você) e Parece que mod_perl será a opção mais fácil, pois tem menos dependências (apenas perl e apache).

Criar mod_perl parece ser tão simples quanto perl Makefile.PL MP_APXS=/path/to/your/apache/bin/apxs; make; make install .

O Subversion, por outro lado, requer pelo menos apr e apru, e dependendo de suas necessidades, outras dependências (por exemplo, construímos com ligações de python para o trac). Se você decidir compilar a subversão, provavelmente desejará desabilitar o máximo de dependências possíveis (por exemplo, se não precisar de suporte a berkely db, passe --without-berkley-db para configurar). Se o configure reclamar sobre uma dependência ausente, decida se você precisa dela e apenas adicione --without-featurex se você não precisar dela.

Você precisará ter o apr e o apru construídos primeiro (ou os pacotes binários instalados) e passar as opções --with-apr=/some/path e --with-apr-util=/some/path (ambos são caminhos para o arquivo apr / apu-1-config, localizado no diretório bin).

O suporte ao suporte a SSL pode levar algum trabalho também, já que as bibliotecas ssl do solaris estão em um local que normalmente não é detectado. Certifique-se de ter -I/usr/sfw/include em sua variável de ambiente CFLAGS e -L/usr/sfw/lib -R/usr/sfw/lib (ou / usr / sfw / lib / amd64 ou sparcv9 se você quiser 64 bits) em sua variável de ambiente LDFLAGS. Ambas as variáveis precisam ser definidas antes de executar o configure. Se você estiver criando 32 bits, talvez seja possível usar apenas --with-ssl=/usr/sfw , mas não é provável que o subversion encontre as bibliotecas de 64 bits corretamente se você precisar de uma versão de 64 bits sem definir CFLAGS / LDFLAGS corretamente.

Assim como na construção de mod_perl, você precisará informar ao subversion onde as apxs estão, apenas passe --with-apxs=/path/to/apache/bin/apxs para configurar.

Esta última dica é provavelmente óbvia, mas apenas no caso: faça as instruções de construção em um script (ou Makefile) para que você possa facilmente repeti-las em novas máquinas ou com opções de configuração ligeiramente diferentes.

    
por 13.07.2010 / 06:03
1

Apenas respondendo aqui para registrar o que funcionou para mim, seguindo a resposta muito útil de Mark.

Como compilar o mod_perl parecia menos complicado do que compilar o Subversion, eu instalei o Subversion 1.6 e suas dependências (que incluem o Apache 2.2.15) de sunfreeware.com .

Então baixei e criei mod_perl conforme as instruções.

Eu tive que editar /usr/local/apache2/bin/apxs porque assumiu que o perl estava em /usr/local/bin em vez de /usr/bin mas depois ele compilou tudo e colocou mod_perl.so no lugar certo.

A outra pequena pegadinha com a instalação de módulos Perl no padrão Perl 5.8 incluído no Solaris é que ele foi compilado usando o compilador Sun, não o gcc e você tem menos problemas se você download e use isso (verifique se o diretório bin está antes do gcc em seu caminho).

    
por 13.07.2010 / 11:38
0

Acabei de perceber que os pacotes do OpenCSW podem ser outra solução. Eles parecem ter pacotes binários apache, mod_perl e subversion. Eu ainda não os experimentei.

    
por 25.07.2010 / 08:13
-1

Basta usar o Web Stack, a compilação integrada da Sun desses produtos (você pode instalar seletivamente o que precisa):

The Web Stack software includes the following software:

  1. Server Software - Apache Web Server, Apache Tomcat, Squid Proxy Server, lighttpd.
  2. DB Software - MySQL Server.
  3. Programming Environment - PHP, Perl, Ruby, and Python.
  4. Caching Software - memcached.

Preencha as instruções aqui: link

    
por 09.07.2010 / 15:26