Ricompilare Apache 2.2 + PHP + PostgreSQL + Subversion + Trac su Debian GNU/Linux parte 1/2

Vediamo in dettaglio come ricompilare ed installare su una Debian GNU/Linux Apache 2.2, con supporto Subversion (dav_svn), PHP
con supporto PostgreSQL e Trac con beckend PostgreSQL per la gestione dei progetti, ho testato la configurazione anche su FreeBSD 7, ne evidenziero' le differenze dove necessario.

 

Prerequisiti:

Installare le librerie necessarie o ricompilarle direttamente dai sorgenti, come preferite

  • libxml2
  • expat
  • neon
  • swig
  • python con le seguenti librerie setuptool, clearsilver e mxDateTime

Installazione di PostgreSQL

E' stata utilizzata la versione 8.2.7, anche se gia' disponibile la nuova versione 8.3, a causa di alcune incompatibilita' con la versione 0.10 di Trac, con l'imminente versione 0.11 (al momento in fase beta) le incompatibilita' sono state corrette.

Per installare PostgreSQL potete far riferimento all'articolo "Installazione PostgreSQL 8.2 su Debian GNU/Linux".

 

Installazione di Apache 2.2

Scaricare i sorgenti dell'ulima versine disponibile, al momento 2.2.8, e scompattarli

$ wget http://apache.panu.it/httpd/httpd-2.2.8.tar.gz

$ tar xvfz httpd-2.2.8.tar.gz

entrare nell'albero dei sorgerti ed utilizzare il configure per costruire il makefile necessario alla ricompilazione

$ cd httpd-2.2.8

$ ./configure --prefix=/usr/local/apache22 --enable-mods-shared=most --enable-deflate \

                  --enable-ssl --enable-proxy   --enable-proxy-balancer --enable-proxy-http \

                  --enable-dav --enable-dav-fs --enable-vhost-alias --enable-rewrite \

                  --enable-so --enable-maintainer-mode --enable-headers

 se non ci sono problemi o librerie mancanti

$ make && make install

 

Installazione di Subversion 

Come per Apache, scaricare i sorgenti Subversion dell'ulima versine disponibile, al momento 1.4.6, e scompattarli

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

$ tar xvfz subversion-1.4.6.tar.gz

entrare nell'albero dei sorgerti ed utilizzare il configure per costruire il makefile necessario alla ricompilazione

$ cd subversion-1.4.6

$ ./configure --prefix=/usr/local/subversion  --with-apr=/usr/local/apache22/bin/apr-1-config \

                  --with-apr-util=/usr/local/apache22/bin/apu-1-config --with-zlib \

                  --with-apxs=/usr/local/apache22/bin/apxs \            

                  --enable-swig-bindings=perl,python --enable-maintainer-mode \

                  --with-httpd=/usr/local/apache22 --with-ssl

se non ci sono problemi o librerie mancanti

$ make && make install

ricompiliamo adesso le librerie swig-py necessarie a python  per accedere al file system di subversion

$ make swig-py
$ make install-swig-py

aggiungiamo il path delle nostre librerie alla configurazione di python

$ echo "/usr/local/subversion/lib/svn-python" > /usr/lib/python2.4/site-packages/subversion.pth

Subversion ha aggiunto per noi, nel file di configurazione di Apache /usr/local/apache22/conf/httpd.conf le righe per il caricamento dei moduli necessari per accedere al file system di Subversion, verifichiamo che siano tutti nell'ordine corretto, molto importante.

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

 

Installazione di mod_python

Scaricare i sorgenti di mod_python, al momento l'ultima versione disponibile per Apache 2.2 e' la 3.3.1

$ wget http://apache.fagioli.biz/httpd/modpython/mod_python-3.3.1.tgz

$ tar xvfz mod_python

entrare nell'albero dei sorgerti ed utilizzare il configure per costruire il makefile necessario alla ricompilazione

$ cd mod_python-3.3.1

$ ./configure --prefix=/usr/local/mod_python --with-apxs=/usr/local/apache22/bin/apxs

se non ci sono problemi o librerie mancanti

$ make && make install

Aggiungiamo poi la seguente riga sul file di configurazione di Apache /usr/loca/apache22/conf/httpd.conf

LoadModule python_module modules/mod_python.so

 

Installazione il PHP

Scaricare i sorgenti PHP, al momento l'ultima versione disponibile e' 5.2.5

$ wget http://www.php.net/get/php-5.2.5.tar.gz/from/it.php.net/mirror

$ tar xvz php-5.2.5.tar.gz

entrare nell'albero dei sorgerti ed utilizzare il configure per costruire il makefile necessario alla ricompilazione

$ cd php_5.2.5

$ ./configure  --prefix=/usr/local/apache22/php --with-zlib --enable-ftp --enable-mbstring \

                   --enable-mbregex --enable-sockets --with-curl \

                   --with-pgsql=/usr/local/pgsql --with-gd --with-jpeg-dir=/usr/lib \

                   --with-png-dir=/usr/lib --with-apxs2=/usr/local/apache22/bin/apxs

se non ci sono problemi o librerie mancanti

$ make && make install

copiamo il file di configurazione del php nella directoruy di installazione

$ cp php.ini-dist /usr/local/apache22/php/lib/php.ini

aggiungiamo nel file di configurazione di Apache /usr/loca/apache22/conf/httpd.conf  la direttiva per il PHP

AddType application/x-httpd-php .php

 

Installazione di psycopg2

e' il driver necessario al python per accedere a PostgreSQL, scarichiamo i sorgenti al momento l'ultima versione disponibile e' 2.0.6

$ wget http://initd.org/pub/software/psycopg2/psycopg2-2.0.6.tar.gz

$ tar xvz psycopg2-2.0.6

$ cd psycopg2-2.0.6

modificare il file setup.cfg per farlo puntare alla giusta directory di PostgreSQL

pg_config = /usr/local/pgsql/bin/pg_config

diciamo anche al linker di sistema dove trovare le librerie di PostgreSQL

$ ldconfig /usr/local/pgsql/lib

ricompiliamo poi il driver psycopg2

$ python setup.py build
$ python setup.py install

 

Installazione di Trac

Scaricare i sorgenti di Trac, al momento l'ultima versione disponibile e' la 0.10.4

$ wget http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz

scompattiamo i sorgenti e procediamo con l'installazione

$ tar xvfz trac-0.10.4.tar.gz

$ cd trac-0.10.4

$ python ./setup.py install

di default i file di installazione di trac andranno in /usr/local/share/trac 

 

 

parte 2

 

Comments

Thanks.Your blog is useful.

Una svista probabilmente bisogna cambiare cp php.ini-dist /usr/local/apache22/php/lib/php.ini in cp php.ini-dist /usr/local/apache22/lib/php/php.ini

Grazie per queste utilissime istruzioni. Ho provato oggi la parte Apache 2.2.8 + Subversion. Devo segnalare che non specificando "--with-included-apr" nel comando config per Apache la directory apu-1-config NON viene creata.

Grazie per la precisazione, a mente mi sembra che non serva, in settimana rifaccio tutto il percoso e verifico, anche perchè devo finire l'articolo :-)

Ciao
Osvaldo

Grazie per la correzione

Pages

Add new comment