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
Comments
Thanks.Your blog is useful.
Thanks.Your blog is useful.
Una svista probabilmente
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
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
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
Grazie per la correzione
Pages
Add new comment