Instalación de Subversion + Trac + Hudson (Parte Practica)

Pasos para instalar subversion, trac y hudson en Debian Lenny

Instalando apache con webDAV

1. Instalar los paquetes Apache2, Subversion y libApache2-svn como usuario root.

$ su
$ apt-get install apache2 subversion libapache2-svn

2. Creamos una carpeta que sera nuestro repositorio

$ sudo mkdir /var/svn-repos

3. A continuación le indicamos a Subversion que es un repositorio:

$ svnadmin create /var/svn-repos/practica1

4.Creamos un grupo y le agregamos un usuario

$ groupadd subversion
$ addgroup usuario subversion

5. Ponemos permisos para que el servidor web pueda modificar el repositorio:

$ chown -R www-data.subversion /var/svn-repos
$ chmod -R 770 /var/svn/repos/*

Configurar apache con soporte de webDAV y enlazarlo con subversion

6. Modificamos el archivo siguiente:

$ vim /etc/apache2/mods-available/dav_svn.conf

7. Le agregamos las siguientes lineas al final:

<Location /svn_p1>

DAV svn
SVNPath /var/svn-repos/practica1
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user

</Location>

8.  Creamos el archivo de autenticación:

$ htpasswd -c /etc/subversion/passwd usuario

9. Reiniciamos apache

$ /etc/init.d/apache2 restart

10. Abrimos el explorador e insertamos la direccion:

http://localhost/svn_p1

11. Nos muestra lo siguiente

svn – Revision 0: /

Creamos un proyecto nuevo en el repositorio

12. Lo primero es, en un directorio temporal, crear el directorio del proyecto:

~$ cd tmp/
~/tmp$ mkdir hola_mundo

Creación de un repositorio con la estructura básica (trunk,branches,tags)

13. Se acostumbra tener tres directorios dentro de un proyecto: branches donde están las ramas del proyecto, tags las diferentes versiones y trunk donde está la versión actual del proyecto. Para ello realizamos lo siguiente:

~/tmp$ cd hola_mundo/
~/tmp/hola_mundo$ mkdir branches tags trunk

14. A continuación importamos todo eso al repositorio:

~/tmp/hola_mundo$ cd ..
~/tmp$ svn import hola_mundo http://localhost/svn_p1 -m "Creando la estructura del proyecto"

Ya podemos borrar el archivo temporal.

16. El siguiente paso es obtener una copia de trabajo de los archivos:

$ svn checkout http://localhos/svn_p1/trunk practica1

Fijese que obtuvimos trunk, (no es necesario por ahora los otros directorio). El practica1 del final es una indicación del directorio donde se va a grabar la copia de trabajo.

Creación de un proyecto java, hola mundo, y ubicarlo en el trunk del respositorio

17. A continuación vamos a adicionar dos nuevos archivos al proyecto: hola_mundo.java. Lo primero es crear el archivo:

$ cd practica1/
$ vim hola_mundo.c

con el siguiente contenido:

public class HolaMundo {
public static void main(String[] args) {
System.out.println("Hola Mundo");
}
}

18. Lo adicionamos al proyecto:

$ svn add hola_mundo.java

19. Finalmente enviamos todos los cambios al repositorio:

$ svn commit -m "Se adicionó el programa hola_mundo.java"

snapshot3snapshot2

Modificar el aspecto utilizando un css elaborado para darle buen
aspecto al front-end web de subversion

20. Descargamos ReposStyle.zip aqui

21. Lo descomprimos en la carpeta root de apache

$ cd /var/www
$ unzip carpeta_donde_se_descargo/repos-style-2.0.zip

22. Agregamos la siguiente linea despues de SVNPath /var/svn-repos/practica1

SVNIndexXSLT "/repos-web/view/repos.xsl"

23. Cambiamos los permisos a la carpeta:

$ chown -R www-data.subversion /var/www
$ chmod -R 755 /var/www

24. Reiniciamos apache

$ /etc/init.d/apache2 restart

25. Verificamos la pagina

http://localhost/svn_p1

snapshot4

Listo!!!!

Instalando Trac

1. Primero instalamos algunos paquetes para que funcione trac con subversion

$ apt-get install trac python-setuptools libapache2-mod-python

2. Editamos un archivo de apache para integrar python

$ vim /etc/apache2/sites-available/default

3. La seccion Directory /var/www/ debe quedar asi
[...]

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

[...]

4. Creamos la base de datos de trac

$ mkdir /srv/trac

5. Inicializamos el proyecto

$ trac-admin /srv/trac/practica1 initenv

6. Dejamos todas las opciones por default menos “Path to repository [/path/to/repos]” que seria:

Path to repository [/path/to/repos]> /srv/svn-repos/practica1

7. Le cambiamos propietario a la carpeta

$ chown -R www-data.www-data /srv/trac/proyecto

8. Es el momento de comprobar que trac y su unión con el repositorio de subversion funcionan correctamente, para ello lanzaremos el servidor incluido en trac:

$ tracd -p 8080 /srv/trac/proyecto

9. Abriendo la URL http://localhost:8080/ deberíamos ver disponible nuestro proyecto, “practica1“.

snapshot5

10. Comprobamos que la función de “Browse Source” funciona correctamente.

snapshot6snapshot7

Configurar trac para que soporte el proyecto creado en subversion

11. Bien, ahora editamos la configuración para que Apache pase las peticiones que vayan a /trac a nuestro conjunto de proyectos en /srv/trac.
Editando el fichero /etc/apache2/conf.d/trac.conf añadimos antes del cierre de lo siguiente:

$ vim /etc/apache2/conf.d/trac.conf


SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption PYTHON_EGG_CACHE /tmp/python_egg_cache
PythonOption TracEnvParentDir /srv/trac

12. Reinciamos Apache:

$ /etc/init.d/apache2 restart

13. Probamos la pagina

http://localhost/trac

snapshot6

Listo!!!

Instalando Hudson

1. Antes de poder instalar Hudson debemos instalar java y tomcat, lo hacemos de la siguiente manera:

$ apt-get install sun-java6-jdk
$ apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps

2. Modificar el archivo para que tomcat deshabilitarle la seguridad ya que si no le agregamos esta linea nos muestra error

$ vim /etc/default/tomcat5.5

3. Agregar al final

TOMCAT5_SECURITY=no

4. Probamos si tomcat esta funcionando escribiendo en un browser: http://localhost:8180. Si todo anda bien deberemos crear un usuario administrador con un rol. Para eso editamos el archivo tomcat-users.xml y luego reiniciamos el servidor:

$ vim /var/lib/tomcat5.5/conf/tomcat-users.xml

<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
<role rolename="manager"/>
<role rolename="admin"/>
<user username="user" password="secreto" roles="manager"/>
<user username="hudson-admin" password="secreto" roles="admin"/>
</tomcat-users>

5. Abrimos el administrador de Tomcat, aquí nos pedira el usuario y contraseña que recien agregamos en tomcat-users.xml. Para esto escribimos la siguiente direccion en el browser: http://localhost:8180/manager/html. En la sección apropiada agregamos el archivo hudson.war para poder desplegarlo en el contenedor.

snapshot8

6. Creamos el directorio de trabajo de Hudson y le otorgamos permisos:

$ mkdir /home/hudson
chown -R tomcat55:nogroup /home/hudson/
chmod -R 755 /home/hudson/

7. En el archivo /etc/init.d/tomcat6 agregamos a la variable JAVA_OPTS la variable -DHUDSON_HOME con el valor del directorio de trabajo de hudson que definimos en el paso 6.

$ vim vim /etc/init.d/tomcat5.5

8. Debe quedar asi

JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$CATALINA_BASE/temp -DHUDSON_HOME=/home/hudson"

9. Reiniciamos Tomcat

$ /etc/init.d/tomcat5.5 restart

10. Bueno…ahora el ultimo paso es probar si hudson esta andando escribiendo en el browser la dirección: http://localhost:8180/hudson

snapshot9

Configurar hudson para que efectue al menos 3 construcciones exitosas a partir del repositorio web

11. Antes debemos enlazar nuestro repositorio con hudson. Para ello nos vamos a la opcion Manage Hudson –> Configure System

snapshot10

12. Tenemos que añadir el path del JDK

snapshot12

13. Tenemos que añadir el path de Ant

snapshot13

14. Guardamos con el boton Save

15. Ahora creamos un nuevo Job

snapshot11

16. Elegimos el nombre y elegimos la opcion “Build a free-style software project”y le damos Ok

snapshot14

17. Ahora hay que definir donde esta nuestro repositorio, en nuestro caso Subversion y colocamos la URL de nuetro Repositorio, click en Save.

snapshot15

Enlazar trac con la exploración de hudson mediange el plugin de
hudson y trac.

18. Para añadir el plugin hay que ir a la opcion Manage Hudson –> Manage Plugins y buscamos el plugin lo habilitamos y listo.

snapshot17

19. Ahora nos vamos al Job creado y nos vamos a la opcion Configure y ya esta habilitada la opcion Trac Website, escribimos la URL de trac y listo.

snapshot26

20. Para crear construcciones exitosas hay que darle la opcion Build Now y Listo

snapshot19snapshot21snapshot20

snapshot22

UID del disco

snapshot23snapshot24

Junio 14, 2009. Analisis 2.

Un Comentario

  1. L0rd5had0w respondidos:

    Mano que te puedo decir es un Post excelente bien explicado y bien detallado insisto te pasaste con este gran aporte solo un dato:

    A mi en particular en lugar de editar el archivo /etc/apache2/conf.d/trac.conf me funciono editando el fichero /etc/apache2/sites-available/default añadiendo antes del cierre de lo siguiente:

    SetHandler mod_python
    PythonInterpreter main_interpreter
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnvParentDir /srv/trac
    PythonOption TracUriRoot /trac

    Forzamos la recarga de la configuración de Apache:

    /etc/init.d/apache2 reload

    y todo excelente…!! XD lol

Escribe un comentario

Trackback URI