Instalación de Subversion + Trac at blog de gin

blog de gin

Just another Geek weblog

Instalación de Subversion + Trac

View Comments

Esta anotación es para recordar como crear un repositorio de control de versiones con Subversion y Trac(como sistema de seguimiento de errores y gestión de proyectos), siempre normalmente uso Debian para estos menesteres.

sudo apt-get install -y trac apache2 libapache2-mod-python \
	libapache2-svn python-setuptools subversion-tools \
	python-subversion python-dev build-essential graphviz \
	htmldoc enscript;

La ubicación esta a criterio de donde ocupen donde este.

sudo mkdir /var/lib/trac;
sudo mkdir /var/lib/svn;

El esqueleto del proyecto.

sudo mkdir /tmp/project;
sudo mkdir /tmp/project/branches;
sudo mkdir /tmp/project/tags;
sudo mkdir /tmp/project/trunk;

Se crean el/los proyectos, se hace el import inicial.

sudo svnadmin create /var/lib/svn/project_1 --fs-type fsfs;
sudo svn import /tmp/project file:///var/lib/svn/project_1 -m "initial import";
rm -Rf /tmp/project;

Se crean los usuarios.

sudo htpasswd -cm /etc/apache2/dav_svn.passwd admin;

sudo htpasswd -m /etc/apache2/dav_svn.passwd user1;
sudo htpasswd -m /etc/apache2/dav_svn.passwd user2;
sudo htpasswd -m /etc/apache2/dav_svn.passwd user3;

Se asignan permisos para la lista de usuarios.

sudo chown www-data:www-data /etc/apache2/dav_svn.passwd;

Se procede a la configuración mínima del proyecto con Trac.

/usr/bin/trac-admin /var/lib/trac/project_1 initenv;

Se asignan permisos a el/los repositorios.

sudo find /var/lib/svn/project_1 -type f -exec chmod 660 {} \;
sudo find /var/lib/svn/project_1 -type d -exec chmod 2770 {} \;

sudo find /var/lib/trac/project_1 -type f -exec chmod 660 {} \;
sudo find /var/lib/trac/project_1 -type d -exec chmod 2770 {} \;

sudo chown -R root:www-data /var/lib/trac;
sudo chown -R root:www-data /var/lib/svn;

Este seria la configuración del VirtualHost usando Apache: /etc/apache2/sites-enabled/trac (que debería ser un enlace simbólico apuntando a /etc/apache2/sites-available/trac).

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName localhost
	DocumentRoot /var/www
	ErrorLog /var/log/apache2/error.trac.log
	CustomLog /var/log/apache2/access.trac.log combined

	<LocationMatch /trac>
		SetHandler mod_python
		PythonInterpreter main_interpreter
		PythonHandler trac.web.modpython_frontend
		PythonOption TracEnvParentDir /var/lib/trac/
		PythonOption TracUriRoot /trac/
		PythonOption PYTHON_EGG_CACHE /tmp/
	</LocationMatch>

	<LocationMatch "/trac/[^/]+/login">
		AuthType Basic
		AuthName "Trac"
		AuthUserFile /etc/apache2/dav_svn.passwd
		Require valid-user
	</LocationMatch>
</VirtualHost>

Para la autenticación.

/etc/apache2/mods-available/dav_svn.conf
<Location /svn>
	DAV svn
	SVNParentPath /var/lib/svn
	SVNListParentPath On
	AuthType Basic
	AuthName "Repositorio subversion"
	AuthUserFile /etc/apache2/dav_svn.passwd
	SVNAutoversioning on
	Require valid-user
</Location>

Habilitamos módulos necesarios para Apache.

sudo a2enmod dav;
sudo a2enmod dav_fs;
sudo a2enmod python;
sudo a2dissite default;
sudo a2ensite trac;

Reiniciamos Apache si es necesario.

sudo /etc/init.d/apache2 reload;

o

sudo /etc/init.d/apache2 force-reload;

en última instancia :(.

sudo /etc/init.d/apache2 restart;

También te puede interesar:

Written by gin

June 2nd, 2010 at 10:23 pm

View Comments to 'Instalación de Subversion + Trac'

Subscribe to comments with RSS or TrackBack to 'Instalación de Subversion + Trac'.

  1. Muy interesante, en lo personal me gustaría probar Trac con Git.

Leave a Reply

blog comments powered by Disqus