Esta semana precisei compilar o apache a partir dos fontes. Foi uma experiência interessante, já que sempre utilizei a versão empacotada no meu server debian etch.

Decidi aceitar o desafio mais por uma questão didática, acho a experiência de compilar pacotes grandes e com variadas dependências essencial para conhecer profundamente determinado software.

O ambiente foi montado sobre um servidor Debian Etch e não utilizei as versões empacotadas dos respectivos softwares instalados. Antes de mais nada quero salientar que não tenho nada contra os pacotes deb muito pelo contrário. O debian possui excelentes ferramentas para gerenciamento de pacotes. Tive apenas a necessidade de utilizar versões mais atuais do apache e do subversion para poder utilizar o Trac e trabalhar em meus projetos em python

Softwares necessários

Apache 2.2.9
http://www.apache.org/dist/httpd/httpd-2.2.9.tar.gz

HTTP Server propriamente dito em sua última versão

Mod_Python 3.3.1

http://www.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz
Módulo do apache que permite utilizemos a linguagem python para desenvolver para web.

APR 1.3.2

http://www.apache.org/dist/apr/apr-1.3.2.tar.gz

Biblioteca utilizado tanto pelo apache como pelo subversion que provê uma API que assegura que o código desenvolvido tenha o mesmo comportamento em plataformas específicas.

APR-Util 1.3.2

http://www.apache.org/dist/apr/apr-util-1.3.2.tar.gz

Mais bibliotecas utilizadas pelo APR

Subversion 1.4.6

http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz

Sistema de controle de versões.

SWIG 1.3.35

http://ufpr.dl.sourceforge.net/sourceforge/swig/swig-1.3.35.tar.gz

Ferramenta de desenvolvimento que conecta programas escritos em c/c++ com uma enorme variedade de linguagens de alto nível.

Instalando

Para facilitar vou citar apenas o processo de compilação dos softwares. O processo de descompactação está bem explicado em outros tutoriais pela internet e os pacotes foram descompactado em /usr/src e a instalação será feita como root.

Instalação das bibliotecas apr e apr-util

O Pacote apr e apr-util serão instalados em /usr/local/apr

Para compilar o apr

# ./configure

# make

# install

Entre nos diretórios dos fontes do apr-util e execute:

#./configure -with-apr=/usr/local/apr/

# make

# make install

Instalação do Apache

Os pacotes foram instalados com os comandos abaixo. As opções utilizadas em ./configure serão detalhadas em outro artigo. A instalação padrão será no diretório /usr/local/apache2

# ./configure –enable-rewrite=shared –enable-speling=shared –enable-so –enable-dav –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr/bin/apu-1-config –enable-proxy –enable-proxy-connect –enable-proxy-ftp –enable-proxy-http –enable-ssl –enable-http –enable-info –enable-dav –enable-suexec –enable-cgi –enable-dav-fs –enable-dav-lock –enable-vhost-alias # make

# make install

Instalação Mod_Python# ./configure –with-apxs=/usr/local/apache2/bin/apxs -with-python=/usr/bin/python

# make

# make install

Acesse o arquivo de configuração do apache em:

# /usr/local/apache2/conf/httpd.conf

Descomente a linha ServerName e adicione o nome do seu servidor, ex.

ServerName server.exemplo.com.br

Vamos iniciar o apache com o comando:

# /usr/local/apache2/bin/apachectl start

Agora já temos um servidor http instalado e configurado com os módulos dav e mod_python.

Voltaremos a configuração do servidor em um próximo post, contendo a instalação do subversion e o trac.

Referências:

Apache – www.apache.org

Mod_Python – www.modpython.org

Python – www.python.org

Subversion – subversion.tigris.org

Trac – trac.edgewall.org/