Cintillo Institucional

Montaje del servidor de pruebas de la platafoma de software libre:

Se instaló Debian lenny (sistema operativo y entorno de escritorio)

posteriormente se instaló la herramienta que facilita la instalación de componentes creados para python:

easy_install

1. como superusuario se obtuvo el codigo fuente o scritp desde:

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

luego se ejecutó:

 python ez_setup.py

con lo cual se descarga la herramienta setuptools

Para instalar trac se verifica la version de Python:

 python -V

en el servidor esta instalado la version Python 2.5.2

luego se instalo Genshi (Libreria de python que integra un conjunto de componentes para parsear, generar y procesar HTML, XML u otro contenido textual para generar salidas en la web)

 easy_install_pygments
 easy_install Genshi

Se instalo la libreria Clearsilver

 aptitude install python-clearsilver

o

 wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz

 tar -xzvf clearsilver-0.10.5.tar.gz

 cd clearsilver-0.10.5
 aptitude install gcc
 aptitude install make
 ./configure --disable-compresion --disable-perl
 make
 make install

Se instala el manejador de las bases de datos en este caso Mysql y el control de versiones Subversion

 aptitude install mysql-server-5.0

Se creo un usuario nuevo (accesa como superusuario y crea al usuario asignando los permisos correspondientes):
 mysql --user=root mysql

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'administrador'@'localhost'
     ->     IDENTIFIED BY 'clave' WITH GRANT OPTION;

 mysql> \q

Se comprueba el usuario y password creado:

 mysql -u administrador -p

Se cambio el password del root

 mysqladmin -u root -h localhost password '123456'

opcionalmente se instala el phpmyadmin (para facilitar la adminsitracion via web de las bases de datos)

 aptitude install phpmyadmin

 cd /var/www
 ln -s /usr/share/phpmyadmin phpmyadmin

se comprueba con: http://localhost/phpmyadmin o de foma remota http://dir.ecc.ion.ip/phpmyadmin
Se crea una nueva base de datos para nuestro caso: plataforma

Se instala en control de versiones y se crea un nuevo repositorio:

 aptitude install subversion
 aptitude install python-subversion
 svnadmin create /home/usuario/svn

Se configura los usuarios:
Añadir al archivo passwd una linea por usuario

 vim /home/usuario/svn/conf/passwd

 i nsertar

 administrador = clave

Esc + wq! para guardarlo

en el archivo:

 nano /home/usuario/svn/conf/svnserver.conf

Descomentar las lineas:

anon-access = read
auth-access = write

y

password-db = passwd

para que se inicie el servicio de svn y este escuchando permanentemente verificar las lineas:

En el archivo /etc/inetd.conf

#habilita el servicio subversion
svn stream tcp nowait root /usr/bin/svnserve svnserve -i

y que exista un puerto escuchando en

 nano /etc/services

buscar svn

Salir y comprobar desde otro pc que este en la red (esta operación se puede realizar luego de instalado el trac):

svn co  svn://direccion.ip/home/usuario/svn/ --username administrador

cd svn
vim prueba.txt
i nsertar

Prueba
Esc + wq!

svn add prueba.txt

svn commit -m "mensaje" --username administrador


Posteriormente se descargo los fuentes del Trac

 wget http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz

 tar -xzvf trac-0.10.4.tar.gz

Se ejecuto el comando que se indica en la documentación de Trac:

 python ./setup.py install

Se crea el directorio donde se almacenan los proyectos

 mkdir /home/usuario/proyectos

y se ejcuta el comando de inicio de ambientes de proyectos:

 trac-admin /home/usuario/proyectos/pdsl initenv

se Escribe un nombre del proyecto:

 Plataforma para el Desarrollo de Software Libre

luego se le indica la cadena para la conexion a la base de datos:

 mysql://administrador:clave@localhost:3306/plataforma

Esta se puede modificar luego en el trac.ini del proyecto que esta en /home/usuario/proyectos/pdsl/conf/

se indico la ruta del repositorio

 /home/usuario/svn

Se deja por defecto el directorio de templates

Posteriormente
Y este ejecuta el comando de crear la base de datos y el proyecto
para activarlo se indica el siguiente comando:

 tracd --port 8000 /home/usuario/proyectos/pdsl

y se ejecuta desde un navegador la siguiente linea:

 http://localhost:8000/pdsl

o la cambiar la direccion ip por el localhost dentro de la intranet.


Para ejecutarlo desde apache

 aptitude install libapache2-mod-python

 a2enmod mod_python

 se modifica el archivo: /etc/apache2/httpd.conf

<Location /mpinfo>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler mod_python.testhandler
</Location>

<Location /pdsl>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnv  /home/usuario/proyectos/pdsl
   PythonOption TracUriRoot /pdsl
</Location>

<Location /pdsl/login>
  AuthType Basic
  AuthName "pdsl"
  AuthUserFile /home/usuario/proyectos/pdsl/conf/trac.htpasswd
  Require valid-user
</Location>

Se crear el arcchivo de autenticación:

   htpasswd -c trac.htpasswd administrador

Se coloca la clave

 y se mueve a la dirección que se indico en el httpd.conf

 mv /root/trac.htpasswd /home/usuario/proyectos/pdsl/conf/

Se reinicia el apache

 /etc/init.d/apache2 force-reload

y se ejcuta desde el navegador

 http://localhost/pdsl

Se logea con administrador y clave

se puede observar los permisos que tiene el "administrador"

 trac-admin /home/usuario/proyectos/pdsl/ permission list administrador

allí se observa que permisos tiene y cuales no.

 podemos asignar el permiso de TRAC_ADMIN

 trac-admin /home/usuario/proyectos/pdsl/ permission add administrador TRAC_ADMIN

Para la version <= 0.10.4 debemos instalar el plugins WebAdmin

 cd /home/usuario/proyectos/pdsl/plugins
 svn export http://svn.edgewall.com/repos/trac/sandbox/webadmin/

Se añade las lineas al archivo trac.ini

 vim /home/usuario/proyectos/pdsl/conf/trac.ini

 [components]
 webadmin.* = enabled

Se guardan los cambios y se ejecuta el componente:

 cd webadmin
 python setup.py bdist_egg
 cp /home/usuario/proyectos/pdsl/plugins/webadmin/dist/TracWebAdmin-0.1.2dev-py2.5.egg /home/usuario/proyectos/pdsl/plugins
 chown www-data.www-data TracWebAdmin-0.1.2dev-py2.5.egg
 easy_install TracWebAdmin-0.1.2dev-py2.5.egg
 /etc/init.d/apache2 force-reload

Al entrar en el trac se debe tener activado el webadmin.

Plugins TracGantt

Se descarga de la dirección y descomprime:

 wget http://willbarton.com/files/TracGantt-0.3.2a.tar.gz
 tar -xzvf TracGantt-0.3.2a.tar.gz

 cd TracGantt-0.3.2a
 python setup.py bdist_egg

 cp dist/TracGantt-0.3.2a-py2.5.egg /home/usuario/proyectos/pdsl/plugins
 cd /home/usuario/proyectos/pdsl/plugins
 chown www-data: TracGantt-0.3.2a-py2.5.egg

Se edita el trac.ini

 nano /home/usuario/proyectos/pdsl/conf/trac.ini

[ticket-custom]
due_assign = text
due_assign.label = Due to assign
due_assign.value = DD/MM/YYYY

dependencies = text
dependencies.label = Dependencies
dependencies.value =

due_close= text
due_close.label = Due to close
due_close.value = DD/MM/YYYY

include_gantt = checkbox
include_gantt.label = Include in GanttChart
include_gantt.value =

[gantt-charts]
        # The format of dates entered by humans in the above ticket fields
        date_format = %m/%d/%Y

        # Include the ticket summary in the gantt chart display
        include_summary = true

        # Trim the included summary to the given number of characters
        summary_length = 16

        # Use the creation date of a ticket as the "due assign" date if no
        # assignment date is given
        use_creation_date = true

        # Show on the gantt chart the date the ticket was opened, to contrast
        # with the assignment date.
        show_opened = true


[components]
tracgantt.* = enabled

Se modifica el archivo httpd.conf y se agrega nueva directiva:

 nano /etc/apache2/httpd.conf

<Location /pdsl>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnv  /home/usuario/proyectos/pdsl
   PythonOption TracUriRoot /pdsl

   SetEnv PYTHON_EGG_CACHE /home/usuario/proyectos/pdsl

</Location>

y se recarga apache

 /etc/init.d/apache2 force-reload






pdslinstrac (última edición 2008-08-12 13:24:01 efectuada por eparedes)