Mostrando entradas con la etiqueta svn. Mostrar todas las entradas
Mostrando entradas con la etiqueta svn. Mostrar todas las entradas

jueves, 28 de abril de 2011

Cómo instalar y configurar trac 0.11.7 en Debian Squeeze

Pasos para realizar la instalación y configuración básica del servicio trac:
Suposiciones:
  • Ya se tiene instalado postgresql
  • Ya se tiene instalado apache2
  • Ya se tiene instalado subversion
  1. Instalación del trac "a lo Debian":
    # apt-get update
    # apt-get install trac
  1. Trabajo previo:
    2.1 Agregar un usuario al postgres para el trac:
(por supuesto, ejecutar esto en una ventana de sql del pgadmin o en un prompt de psql)

create user trac_admin ENCRYPTED PASSWORD 'tu_clave';
2.2 Agregar una bd para el trac:
create database db_cala_trac owner = trac_admin; 
2.3 En el proceso de configuración se pedirá los siguientes datos, adaptar a vuestra instalación: 
* Nombre del proyecto:
Administracion de Proyectos de Desarrollo de Software

* Cadena de conexion para el trac-admin
postgres://trac_admin:tu_clave@localhost:5432/db_cala_trac?schema=trac_calabaza

* Tipo de Repositorio:
svn

* Ruta al repositorio:
/var/svn_repositorio
  1. Configurar el entorno como usuario www-data:
    (Esto por cuestiones de seguridad y para que el apache pueda tener control del entorno)
     
    # su www-data
    $ trac-admin /var/trac_calabaza initenv
    Luego contestar las preguntas del asistente con los datos del punto 2.3
  1. Crear y Agregar usuario al fichero de claves con htpasswd:
# htpasswd -cs /etc/apache2/tu_fichero_de_usuarios.passwd calabaza
  1. Crear y Agregar permisos al fichero authz:
    # vim /etc/apache2/tu_fichero_de_permisos.authz
Agregamos esto, según nuestro repositorio svn:
### Archivo de configuración de accesos creado a partir
### de lo indicado en: zless /usr/share/doc/libapache2-svn/INSTALL.authz.gz
### Fecha: 2010-jul-27
### Autor: Calabaza
### Licencia: GNU GPL v3
### OJO : No dejar espacios en blanco ANTES del nombre del usuario en la
###       asignación de permisos!!!

[groups]
admin = calabaza

[svn_repositorio:/]
* =
@admin = rw
  1. Crear y Agregar fichero para definir un site en site-available:
     
    # vim /etc/apache2/sites-available/trac_calabaza
Agregar esto, según vuestra configuración:
### Configuracion básica insegura si no se usa https!!!:

  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonInterpreter main_interpreter
  PythonOption TracEnv /var/trac_calabaza
  PythonOption TracUriRoot /calatrac
#  PythonOption TracEnvIndexTemplate /var/trac/plantillas
  SetEnv PYTHON_EGG_CACHE /tmp

  AuthType Basic
  AuthName "Autentiquese para ingresar - CalaTrac"
  AuthUserFile /etc/apache2/tu_fichero_de_usuarios.passwd
  Require valid-user
6.1 Habilitamos el sitio:
# a2ensite trac_calabaza
  1. Asignar permisos de administrador a un usuario para utilizar la interfaz web de administración:
    Referencia:  http://trac.edgewall.org/wiki/WebAdmin
     
    # su www-data
    $ trac-admin /var/trac_calabaza/ permission add calabaza TRAC_ADMIN
  1. Reiniciar el apache2 para que se apliquen los cambios:
# invoke-rc.d apache2 restart
10. Ver si se puede acceder al trac, poniendo lo siguiente en la barra de dirección del browser: 
 
http://localhost/calatrac/
Bueno, espero que lo hayan disfrutado.

miércoles, 26 de agosto de 2009

Usando e instalando subversion en Debian

Apuntes acerca de la utilización e instalación de Subversion accediendo por svn:// y con muy poca protección :(
(luego, luego completare como asegurarlo...):

(Esquema incompleto...)

* Para Instalar subversion en debian:

# apt-get install subversion

* Crear script de arranque automatico:

# cd /etc/initd./
# vim subversion

y agregar esta línea (por supuesto modificada de acuerdo a ubicacion de tu repo en tu sistema de archivo) el parámetro -d es para que se ejecute como daemon y el -r para indicar el path del repositorio man svnserve:

svnserve -d -r /home/calabaza/repo-svn/

* Le damos opcion de ejecucion:

# chmod +x subversion

* Agregamos el script a los inits...

# update-rc.d subversion defaults

* Para crear un repositorio:

* Tip: si va a ser fijo para toda la vida mejor hacerlo en /usr/local/repo-svn o algo así

$ svnadmin create ~/repo-svn/tesoreria/

* Configurando un repo inicial:


Editar el fichero (~/repo-svn/tesoreria/conf/svnserve.conf) y cambiamos las siguientes líneas:
anon-access = none
auth-access = write
password-db = passwd

$ vim ~/repo-svn/tesoreria/conf/svnserve.conf

* Configurando el acceso a traves del firewall



# iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
# iptables -A INPUT -p udp --dport 3690 -j ACCEPT

* Configurar el fichero de claves (~/repo-svn/tesoreria/conf/passwd) y añadimos un nuevo usuario:
$ vim ~/repo-svn/tesoreria/conf/passwd

[users]
calabaza = calabaza

* Crear una estructura básica sugerida por subversion:
$ cd /tmp/

$ mkdir stru-inicial
$ cd stru-inicial

$ mkdir trunk
$ mkdir branches
$ mkdir tags

* Para hacer el import inicial:

$ svn import . svn://localhost/tesoreria -m "Estructura Inicial"

$ cd ~/tesoreria/

$ svn import . svn://localhost/tesoreria/trunk -m "Codigo Fuente Inicial"


* Para crear una copia de trabajo en ESTA carpeta (Checkout inicial):

* (y que no me cree la carpeta trunk)
$ svn checkout svn://localhost/tesoreria/trunk/ .

* Convertir un directorio local en una copia de trabajo versionada:

* Lo que va a hacer es convertir el directorio en versionado
* y los archivos que sean diferentes van a quedar como cambios de la copia local
* el --force hace que no se genere un error al encontrar un archivo identico

$ svn checkout --force svn://localhost/tesoreria/trunk .
$ svn status

* Resolviendo conflictos:


* Haciendo unas etiquetas (TAGS):

$ svn copy svn://localhost/tesoreria/trunk svn://localhost/tesoreria/tags/estable-1.0 -m "Etiquetando la version 1.0 del proyecto tesoreria"

* Creando una rama de desarrollo:


* Para volcar completamente un repositorio (dump):

$ svnadmin dump ~/repo-svn/tesoreria/ > tesoreria-r73.svndump

* Para restaurar un repo dumpeado:

# svnadmin load /usr/local/repo-svn/tesoreria/ < tesoreria-r73.svndump

* Para ver a donde apunta esta copia local de trabajo:

$ svn info | grep URL

* Para reubicar la direccion del server de una wc:

$ svn switch --relocate svn://localhost/tesoreria/trunk svn://192.168.1.3/tesoreria/trunk

* Para exportar una copia de trabajo: