Instalar TRAC en CentOS 5

http://www.edgewall.org/gfx/trac_logo.png

Guía breve para instalación básica de TRAC. ¿Qué es TRAC? Yo lo definiría como un “documentador” :P pero la definición más técnica sería una wiki con sistema de seguimiento de errores para proyectos de desarrollo de software. Incorpora una interfaz para Subversion, una línea de tiempo que muestra los eventos actuales y pasados del proyecto en orden, etc. Más info en Trac.

Esta pequeña guía ha funcionado para CentOS 5.
Entorno a instalar

  • Apache 2 utilizando mod_dav_svn
  • Trac mediante Apache 2 con mod_python
  • Repositorios de SVN en /srv/svn, accesible por http://server/svn/proyecto
  • Proyectos de TRAC en /srv/trac, accesible por http://server/trac/proyecto

Requisitos

  • Python >= 2.3
  • Para sistemas RPM: python-devel 7 python-xml
  • setuptools
  • Base de datos: SQLite, PostgreSQL o MySQL (escogemos SQLite por recomendación de Trac Wiki)
  • ClearSilver: opcional para algunos plugins que lo requieren Si queremos control de versiones necesitamos Subversion (versions recommended: 1.2.4, 1.3.2 or 1.4.2)

1. Instalamos subversion y el mod de SVN para Apache

# yum install subversion mod_dav_svn

Si las siguientes dos líneas no están presentes, añadelas (revisar subversion.conf en conf.d, porque puede que estén ahí)

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

2. Instalamos el mod para python, algunos paquetes necesarios a posteriori y ClearSilver del repositorio de Dag

# yum install mod_python
# yum install neon neon-devel python-devel swig

# wget Dag.Wieers.com/ClearSilver
# rpm -i clearsilver-0.10.4-1.el5.rf.i386.rpm
# wget Python ClearSilver
# rpm -i python-clearsilver-0.10.4-1.el5.rf.i386.rpm

3.  Algo que no aparece en ninguna de las guías es la instalación de SetupTools. Nada más alejado de la realidad que yo quiera o pretenda entender que significa y que hace SetupTools. Sólo sé que es necesario para instalar luego el Trac. No sé si soy el único, pero cada vez que entro en esa web me dan ganas de suicidarme. En fin, cosas que tiene uno. Para instalar SetupTools hacemos:

# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py

4. Instalar Trac

# wget http://ftp.edgewall.com/pub/trac/Trac-0.11.2.1.tar.gz
# tar xfz Trac-0.11.2.1.tar.gz
# cd Trac-0.11.2.1

# python ./setup.py install

Ahora nos pregunta una serie de cosas: nombre de nuestro proyecto, tipo de base de datos(por defecto y recomendación, lo dejamos en default que es SQLite), path hacia los repositorios, path al proyecto, etc.

Creamos nuestro repositorio de SVN

# svnadmin create –fs-type fsfs /srv/svn/proyecto

Inicializamos un proyecto de TRAC

# mkdir /srv/trac/
# trac-admin /srv/trac/proyecto initenv

El path para el repositorio es /srv/svn/proyecto
Damos permisos a Apache sobre los directorios que requerimos.

# chown -R apache.apache /srv/svn/
# chown -R apache.apache /srv/trac/

Le decimos a Apache donde está el repositorio de SVN, creando configuración adicional para Apache

# vim /etc/httpd/conf.d/subversion.conf

<Location /svn/proyecto>
DAV svn
SVNPath /srv/svn/
AuthType Basic
AuthName “Repositorio de SVN”
AuthzSVNAccessFile /srv/svn/svn-acl-conf
AuthUserFile /srv/svn/.htpasswd
Require valid-user
</Location>

Creamos un fichero .htpasswd, donde añadimos los usuarios y su password con acceso al repositorio

# touch /srv/svn/proyecto.htpasswd
# htpasswd -m /srv/svn/proyecto.htpasswd

Creamos una Lista de Control de Acceso (ACL) para el repositorio

# vim /srv/svn/svn-acl-conf

Y añadimos las siguientes directivas

[proyecto:/]
= rw

Le decimos a Apache donde está el TRAC, añadiendo otro archivo de configuración

# vim /etc/httpd/conf.d/trac.conf

<Location /trac/proyecto>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /srv/trac/proyecto
PythonOption TracUriRoot /trac/proyecto
<Location>

<Location /trac/proyecto/login>
AuthType Basic
AuthName “trac”
AuthUserFile /srv/trac/proyecto.htpasswd
Require valid-user
<Location>

Añadimos un usuario de TRAC

# touch /srv/trac/proyecto.htpasswd
# htpasswd -m /srv/trac/proyecto.htpasswd usuario

Le damos permisos de admin

# trac-admin /srv/trac/ permission add TRAC_ADMIN

Reiniciamos Apache

# service httpd restart

NOTA1: el WebAdmin Plugin no hace falta en la versión 0.11, ya viene por defecto. Sólo hay que dar permisos de TRAC_ADMIN por consola a un usuario y la pestaña de “Admin” aparecerá.

Links

Monitorizar logs del sistema con Logwatch en Ubuntu

Una práctica recomendable como buen administrador de sistemas es revisar los logs del sistema para comprobar el buen funcionamiento del mismo. Esta tarea es bastante pesada porque en un sistema servidor habrá mucha actividad y estos ficheros pueden llegar a crecer bastante día a día. Como no podía ser menos alguien creó una herramienta que nos facilitara enórmemente esa tediosa labor. LogWatch es una analizador de logs que se ejecuta cada noche y te envía un correo con los resultados.

http://www.nrgglobal.com/images/products/logwatch/lw_homepage.png

Instalación:

sudo aptitude install logwatch

Configuracion:

El fichero de configuración esta en,  /usr/share/logwatch/default.conf/logwatch.conf. Abre el fichero y podras ver algunos parametros pra su correcto funcionamientoque deberas rellenar, el correo donde enviar los avisos:

sudo gedit  /usr/share/logwatch/default.conf/logwatch.conf

MailTo = root updates to MailTo = user.name@domain.tld

ClusterSSH – Administración de servidores de “una sola tacada”

Los administradores de sistemas que disponen de una gran cantidad de servidores Linux/Unix que administrar, o bien disponen de máquinas que tiene una configuración similar pueden utilizar una herramienta llamada OpenSSH. Herramienta que permite administrar vía SSH varios servidores a la vez.

Se instala con un simple sudo apt-get install clusterssh (en sistemas debian)

Os dejo un video para que veais la instalación, configuración y uso de esta mágnifica herramienta «OpenSSH»

Información:

  • Software: ClusterSSH
  • Duración: 2 minutos y 54 segundos
  • Fuente: http://www.screencasts.es