Recientemente tuve que instalar un servidor de desarrollo con Subversion. Sin embargo, una de las exigencias era mantener las mismas versiones del software del servidor de producción. No podía seguir la guía oficial de Centos para la instalación de SVN con su famoso:
# yum install mod_dav_svn subversion
Así que me toco compilar todas y cada una de las aplicaciones (menos MySQL porque conseguí los paquetes RPM de la versión que necesitaba en la pagina oficial del software).
Fue bastante sencillo, lo que me quito más tiempo fue la integración con el OpenLDAP (la cual no pude hacer de forma directa como quería) por un error en la compilación de los módulos de apache 2.2.n que no pude resolver.
Manos a la obra...
Pre-requisitos:
Debemos instalar determinados módulos para que Subversion pueda funcionar correctamente con apache.
Si estas compilando apache desde 0 seguramente querrás incorporar a tu ./configure las siguientes opciones:
--enable-dav --enable-dav-fs --enable-dav-lock --enable-ssl
Si ya esta compilado entonces debes ingresar en tu directorio fuente (en mi caso /usr/src/http-2.n.n) especificamente en el directorio module y debes compilar uno por uno de los módulos necesarios. Para esto utiliza apxs.
# /usr/local/apache2/bin/apxs -cia -n dav mod_dav.c liveprop.c props.c providers.c std_liveprop.c util.c util_lock.c # /usr/local/apache2/bin/apxs -cia -n davfs mod_dav_fs.c dbm.c lock.c repos.c # /usr/local/apache2/bin/apxs -cia -n davlock mod_dav_lock.c locks.c # /usr/local/apache2/bin/apxs -cia -n ssl mod_ssl.c ssl_engine_init.c ssl_engine_log.c ssl_engine_rand.c ssl_expr_eval.c ssl_scache.c ssl_scache_shmcb.c ssl_engine_config.c ssl_engine_io.c ssl_engine_mutex.c ssl_engine_vars.c ssl_expr_parse.c ssl_scache_dbm.c ssl_util.c ssl_engine_dh.c
Instalación de serf:
http://serf.googlecode.com/files/serf-1.0.0.tar.bz2
Descomprime, entra en el directorio y compilamos
# ./configure --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 # make # make install
Instalación de Neon:
http://www.webdav.org/neon/neon-0.29.6.tar.gz
Descomprime, entra en el directorio y compilamos
1 2 3 |
# ./configure # make # make install |
Instalación de SQLite Amalgametion:
wget -c http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
Descomprime y copia el archivo sqlite3.c en el directorio /usr/src/svn-1.7.1/sqlite-
El directorio sqlite-
Como comente en la introducción, a pesar de que le dedique 1 día de trabajo, no pude compilar los módulos ldap / ldap-auth para la versión apache2. que estaba utulizando Así que decidi autenticar Subversion a través de los usuarios del sistema operativo, que ya estaba tomando los usuarios y grupos del OpenLdap.
Esto lo hice a través de un módulo de apache2 llamado: mod_authnz_external
http://mod-auth-external.googlecode.com/files/mod_authnz_external-3.2.6.tar.gz
Descomprime, entra en el directorio y compilamos
# /usr/local/apache2/bin/apxs -cia -n authnz_external mod_authnz_external.c
Listo, ahora si podemos compilar Subversión:
# ./autogen.sh # ./configure --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-openssl --enable-mod-activation --with-httpd # make
# make install
Con --with-httpd se activa mod_dav_svn
Ya esta listo, ahora a trabajar...



Google
Facebook
Twitter
Del.icoi.us
Blogger
Rain Concert