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;

Muy interesante, en lo personal me gustaría probar Trac con Git.
alucardni
3 Jun 10 at %H:%M 03Thu, 03 Jun 2010 03:23:43 +000043.