Main | About Me | Tracklist | Projects | Photos | Curriculum | Links | Propaganda | Guestbook || Management

.:: Montar Subversion con FreeBSD 6

(29-12-2005 @ 18:04:56)

Este es un pequeño tutorial sobre cómo montar un servidor subversion para desarrollo colaborativo, usando Apache2 como front-end, sobre FreeBSD 6. No es ninguna cosa excesivamente difícil, pero a mí me ha dado algunos quebraderos de cabeza, así que voy a apuntarlo por si le sirve a alguien.
En el peor de los casos me servirá a mí como guía para montarlo en futuras ocasiones.

1) Instalar Apache

Podemos hacer que los repositorios de Subversion se guarden directamente en el sistema de archivos, o bien usar una base de datos BDB. Aquí va la instalación de Apache para ambos casos:


a) cd /usr/ports/www/apache2 && make install clean
b) cd /usr/ports/www/apache2 && make -DWITH_BERKELEYDB=db42 install clean



2) Instalar Subversion

De la misma forma, dos posibles casos. Subversion por defecto almacena los repositorios en BDB, por lo que si hemos compilado Apache sin soporte BDB, deberemos ahora dehabilitarlo expresamente. Aquí van las dos:


a) cd /usr/ports/devel/subversion && make -DWITH_MOD_DAV_SVN install
b) cd /usr/ports/devel/subversion && make -DWITH_MOD_DAV_SVN -DWITHOUT_BDB install


SOBRETODO aseguraos de que ha compilado el módulo de apache:


# ls /usr/local/libexec/apache22/

tiene que haber un modulo llamado mod_dav_svn.so. Si no lo hay vamos mal, hay que volver a compilar y asegurarse de hacerlo todo bien.
Si el módulo está, entonces solo falta asegurarse de que está incluido en apache:

# vim /usr/local/etc/apache22/httpd.conf

buscad la línea que lo incluye:

LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so

Si esa liínea no está, incluidla y arreando (pero que conste que debería estar).



3) Configuración inicial de Subversion


# mkdir -p /usr/home/svn

Creamos un repositorio con el formato genérico para que nos sirva de base al crear nuevos repos:

# mkdir -p /usr/home/svn/default/trunk
# mkdir /usr/home/svn/default/branches
# mkdir /usr/home/svn/default/tags



4) Copia de ficheros CSS y xslt

Estos ficheros son necesarios para la presentación del frontend via Apache. Si no deseais usarla podeis ahorraros las molestias.


# cp /usr/ports/devel/subversion/work/subversion-1.3.0-rc4/tools/xslt/* /path/al/vhost/principal/


Evidentemente la versión de Subversion cambiará en breve, que cada uno use la suya. Y el path hacia el vhost principal, hace referencia al path donde se sirve el DocumentRoot del virtualhost por el que accedamos al front-end.


5) Acceso a los usuarios de Apache

Para acceder a los repos, como el front-end es un Apache, debemos dar acceso con htpasswd a los usuarios que deseemos incorporar.


# mkdir /usr/home/svn/access
# touch /usr/home/svn/access/users
# htpasswd -mb /usr/home/svn/access/users [usuario] [password]


Hay que configurar Apache para que pida autenticación, lo haremos con la siguiente sintaxis:


<Location /svn/repos>
DAV svn
SVNParentPath /usr/home/svn/repos
SVNIndexXSLT "http://www.loquesea.com/svnindex.xsl"
AuthzSVNAccessFile /usr/home/svn/access/control

# anonymous first
Satisfy Any
Require valid-user

# authenticating them valid ones
AuthType Basic
AuthName "Subversion Repositories"
AuthUserFile /usr/home/svn/access/users
</Location>


Podeis ponerlo al final del fichero httpd.conf o donde querais. Yo lo tengo en un fichero aparte /usr/local/etc/apache22/Includes/svn.conf que luego incluyo en httpd.conf usando la sentencia Include etc/apache22/Includes/*.conf que por defecto ya viene al final de todo.


6) Acceso a los repos

Ahora ya tenemos validados los usuarios contra Apache, pero debemos decirle a Subversion qué usuarios pueden ver los repos, y con que limitaciones. Lo haremos de la siguiente manera:


# touch /usr/home/svn/access/control
# vim /usr/home/svn/access/control

Ahora especificaremos cada repo con los permisos que asignamos a cada usuario (los usuarios se autentican contra Apache, importante recordarlo):

[proyeto1:/]
supervisor = rw
coder = rw
aprendiz = r

[proyecto2:/]
pepe = rw
manolo = r

(etc... y siguiendo éste patrón hasta que nos cansemos de dar permisos a usuarios)



7)Crear repositorios

Para crear los repositorios lo hacemos con las herramientas de subversion, basándonos en el que antes hemos creado con la estructura por defecto:


# mkdir /usr/home/svn/repos
# svnadmin create /usr/home/svn/repos/proyecto1
# svnadmin create /usr/home/svn/repos/proyecto2
# svn import /usr/home/svn/default file:///usr/home/svn/repos/proyecto1 -m "Importación base"
# svn import /usr/home/svn/default file:///usr/home/svn/repos/proyecto2 -m "Importación base"


Los repositorios quedan guardados en el directorio /usr/home/svn/repos. Si usais BDB no podreis ver los ficheros de código. En caso contrario sí.


8) Tema permisos...

Y para terminar, queda ponerlo todo en orden para que apache pueda acceder a los repos y cada fichero de configuración tenga los permisos que le tocan.


# chown -R www:www /usr/home/svn
# chmod 600 /usr/home/svn/access/control
# chmod 600 /usr/home/svn/access/users



9) Arrancar Apache

Bueno, esto no tiene mucho problema. Hay que incluir en rc.conf la línea que habilita Apache:


# vim /etc/rc.conf

la línea que hay que añadir (al final o donde sea) es la siguiente:

apache22_enable="YES"


Y una vez listos, podemos arrancar el servicio:


# /usr/local/etc/rc.d/apache22.sh start


Tip:yo he tenido un pequeño problema al arrancar apache:


Failed to enable the 'httpready' Accept Filter

Lo he solucionado cargando el módulo accf_http con kldload. Después he añadido la siguiente línea a/boot/loader.conf para que no vuelva a darme problemas cuando reinicie la máquina:


accf_http_load="YES"



En fin, eso es todo. Espero que pueda servir a alguien.


Ampliar (0 fotos, 2 comentarios)


.:: Sysupgrade

(24-11-2005 @ 23:07:09)

root@ivan# uname -a
FreeBSD ivan.sdv.home 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC i386


UPDATE:
ivan@ivan$ uname -a
FreeBSD ivan.sdv.home 6.0-RELEASE FreeBSD 6.0-RELEASE #2: Sun Nov 27 16:57:56 CET 2005 root@ivan.sdv.home:/usr/src/sys/i386/compile/WRK1 i386


Ampliar (0 fotos, 0 comentarios)


.:: No hay nada que un rato de calma no cure

(09-11-2005 @ 04:34:03)

Bueno, pues después de dar varias vueltas al backend de administración de WordPress, he visto quele faltan cosas que a mí me resultan muy útiles.
Por la comodidad de entender mi propio código y así poderlo ir adaptando a los tiempos que corren, he optado por quedarme con mi CMS, al menos durante algún tiempo más :-)

Me he tomado una cervecita fresca y le he echado un ratito. El resultado es el siguiente ChangeLog:



  • Añadida la sidebar lateral para navegación de archivos y RSS (los RSS no están pero llegarán pronto)

  • Añadido el archivador, que ordena por año, y dentro de cada año ordena los meses

  • Añadido un buscador de contenidos, está también en la sidebar, justo bajo el archivador.

  • Lo más emocionante: Añadida la sección Tracklist, que guarda un resúmen de las listas de reproducción que suenan por mi Xmms, actualizado al minuto, gracias a la tecnología de last.fm.




Lo próximo van a ser los feeds RSS, pero de momento por hoy ya tengo bastante. Espero que con esto el blog dé de sí algún tiempo más ;-)


Ampliar (0 fotos, 0 comentarios)


.:: Migración a WP

(07-11-2005 @ 13:23:59)

Llevo un tiempo sin escribir, y es que estoy preparando una migración de mi CMS personal. Voy a sustituirlo, si todo va bien, por un WordPress 1.5.
La verdad es que no me hace demasiada gracia, y ya estaba muy encariñado con mi CMS, que a pesar de no tener nombre que lo identifique como proyecto GPL en SourceForge, es mío y está hecho a mi medida.
Me falta montarle algunos plug-ins y hacerle algún pequeño diseño a la cabecera, que no creo que cargue demasiado.

En fin, en breve estará online supongo.


Ampliar (0 fotos, 0 comentarios)


.:: Qpdf2 en Opie (OpenZaurus 3.5.3)

(25-10-2005 @ 06:39:35)

Instalar Qpdf2 en OpenZaurus es una ruina. Lo mismo pasa con Opera. El problema viene de la versión de GCC con la que se han compilado las nuevas versiones del software, pues difieren de la usada para el sistema, y al ejecutar los binarios canta errores de "unresolved symbol".

A continuación la explicación de cómo lo he solucionado.


Ampliar (1 fotos, 0 comentarios)


.:: Aardvark @ firefox

(20-10-2005 @ 03:48:51)

Aunque no es el trabajo de mi vida, dedico más de 10 horas diarias a programar aplicaciones web. No soy ninguna máquina del diseño ni la programación, aunque le pongo todo mi empeño al desarrollo de mi trabajo. Actualmente mi objetivo es conseguir programar el 100% de los layouts aplicando clases CSS sin tablas. A veces se hace complicado, según la distribución que hayas decidido que deben tener los contenidos, pero con un poco de esfuerzo y ganas puede conseguirse.
Las ventajas que tiene, por un lado son las referentes a la estandarización del lenguaje, y por otro la facilidad de localización de contenidos para los buscadores. He leido algunos artículos sobre ello y ciertamente me han convencido, aunque todavía estoy en la fase de aprendizaje de la técnica, pues hasta ahora había aplicado las clases CSS a los elementos del HTML tradicional. Lo que más me ha gustado de cuanto he leido, es que lo primero que debes hacer es olvidar la manera de pensar de "ésto tiene que ir aquí y ésto otro allá", y pensar sencillamente en lo que los contenidos requieren para realizar el markup. Por ejemplo, no usar los tags B y BR cuando puedes usar H1 (H2, H3, H4...) y P (el uso de B y BR en su lugar se conoce como Bed and BReakfast, es gracioso).

Bien, lo que quería presentar en el post es una extensión de Firefox muy útil para los diseñadores o programadores de aplicaciones web. Se trata de Aardvark, una extensión que habilita en el menú del botón derecho una nueva opción (llamada igual que el nombre de la extensión). Activando esta opción en el menú, Aardvark rodea con un borde rojo todas las regiones y elementos del website, indicando abajo con una etiqueta el tag del elemento y sus atributos. De esta forma, para el diseño con CSS se hace fácil seguir los límites y tamaños de los objetos, y ver por dónde se descuadra el conjunto o por qué ciertos contenidos no caben en su sitio y se meten en el contiguo. Se instala fácilmente desde su sitio web oficial.


Ampliar (0 fotos, 0 comentarios)


.:: Mi experiencia en FreeBSD

(09-10-2005 @ 00:11:52)

Tras más de un año administrando FreeBSD en entornos de producción y usándolo como sistema de escritorio, he podido sacar algunas conclusiones sobre las diferencias entre mi anterior vida con GNU/Linux y la actual.
En la lista de correo de la ASSL, Héctor Muñoz me ha preguntado por ése resumen, no a nivel técnico sino en cuanto al uso práctico. He respondido de forma detallada en cuanto a lso aspectos fundamentales de mi experiencia. En el texto de éste post está pegado el mensaje de mi respuesta, por si a alguien le interesa consultarlo.


Ampliar (1 fotos, 3 comentarios)


.:: Audioscrobbler y Last.FM

(07-10-2005 @ 04:07:44)

Leyendo el blog de fr3nd he visto su noticia y me ha picado la curiosidad, asi que me he puesto y en un ratito lo tenia funcionando.

Se trata de last.fm, un website que viene a ser más o menos una comunidad de melómanos. Necesitas tener instalado un plugin en tu navegador, que al entrar en la pagina web te permite lanzar una especie de cliente de radio online donde puedes escuchar las radios de los usuarios del portal.

Por otro lado, instalando el plugin de Audioscrobbler en tu XMMS, todo lo que escuches en tu reproductor local se transmite a la página web de last.fm, que va formando en tu perfil un top-ten con estadisticas de las canciones que más escuchas. Arriba de las estadísticas sale en rojo la canción que estás escuchando en el momento.

Así entras a formar parte de la comunidad, donde otros usuarios pueden buscarte o encontrarte buscando canciones, añadirte a su lista de amigos, formar un grupo, etc...

Interesante la licencia del plugin: BSD.


Ampliar (1 fotos, 0 comentarios)


.:: Fotografías y comentarios habilitados

(07-10-2005 @ 01:53:21)

Por fin. Hacía ya tiempo que tenía ganas de poder adjuntar fotografías y comentarios a los posts de mi blog. Hoy por fin he cambiado la cena por un rato de codear php (es lo que tiene usar tu propio blog en lugar de un wp o algo asi).
He añadido también la posibilidad de poder partir los posts en dos, para poder publicar las noticias largas sin ocupar demasiado espacio en la página principal del blog. De esta forma, puedo añadir un texto introductorio y después al ampliar el post soltar toda la parrafada.

Que bien sienta... para inaugurarlo voy a postear unas fotos muy especiales para mí (googling...) que os dedico con todo el cariño del mundo.


Ampliar (3 fotos, 1 comentarios)


.:: Carlos Sanchez Almeida en Mataró

(05-10-2005 @ 02:08:06)

Tal como apunta la noticia que acabo de publicar en la ASSL, tras varias gestiones por fin podemos anunciar la comparecencia de Carlos Sánchez Almeida en la facultad, para ofrecer una ponencia bajo el título:

"Código libre, hombres libres"

El evento será el próximo miércoles 19 de Octubre, en la sala de actos de la universidad EUPMT en Mataró.
Estais tod@s invitad@s!


Ampliar (0 fotos, 0 comentarios)


  



Archiver

2005

2004

2003

Buscar



All contents on this website are under GNU Free Documentation License.