Con el hosting tan baratillo que tengo en aruba.it (poco más de 30€ al año), cada vez que intento una cosa de estas y me sale, me entra un subidón tremendo:
El hosting es muy limitado, por tener ni tengo MySQL, tampoco shell ni nada parecido, solo un acceso FTP para poder subir archivos y poco más. Pero aruba tiene cosas muy buenas aparte del espacio ilimitado: soporta varios lenguajes en su directorio cgi-bin, entre ellos Perl, Ruby y Python. Y precisamente este último me ha dado unas cuantas alegrías. A pesar de las limitaciones en su día pude poner un MoinMoin completito, y he descubierto con sorpresa que se pueden trucar variables de entorno y paths para poder extender el lenguaje con las bibliotecas que hagan falta.
Pero lo de Mercurial jamás lo hubiera imaginado. ¡Tener mi propio servidor DVCS para mis proyectos privados, en mi web de toda la vida! Y encima un DVCS como Mercurial, uno de los mejores. Y la cosa ha sido fácil, sobre todo gracias a estas maravillosas instrucciones.
Para los escépticos he aquí un pantallazo:
Pues es básicamente lo que hecho, seguir las instrucciones que menciono arriba, aunque había unos cuantos errores que he tenido que solucionar por mí mismo:
El Python de aruba es 2.4.3, con lo que tuve que bajarme una versión alternativa del paquete precompilado, que al no haberla probado el autor tenía un errorcillo. Concretamente tuve que copiar todos los archivos del directorio python/mercurial/pure
a python/mercurial
(un poco bestia... Imagino que añadir pure al path en hgwebdir.cgi
también hubiera valido).
También fallaba al no encontrar la variable de entorno "HOME", así que tuve que ponerla a pelo en hgwebdir.cgi
:
import os os.environ['HOME'] = "/web/htdocs/www.jacho.net/home"
Y por último, unos pequeños cambios en hgweb.config:
[web] baseurl = http://www.jacho.net/cgi-bin/hgwebdir.cgi [collections] /web/htdocs/www.jacho.net/home/cgi-bin/project = project
¡Voilá!
En caso de querer ver el proyecto de ejemplo, también hay que cambiar los permisos en su archivo hgrc.
Espero sacarle mucho, pero que mucho partido a este servidor.
Comentarios: 2
¿Se podría instalar Trac en aruba? Con Trac sería la releche
Trac podría integrar Mercurial como VCS en lugar de SVN. Usa SQlite como base de datos así que no hay problema por no querer gastarte el dinerillo extra de tener MySQL.
Este quizá sea un buen punto de partida: http://wiki.dreamhost.com/Trac
Pues me ha costado, pero... ¡Voilá!: http://www.jacho.net/cgi-bin/trac.cgi/
La conexión con el VCS aun no está, pero lo dificil se ha hecho. Encima va razonablemene rápido. No dejo de sorprenderme con todo lo que se puede hacer con un hosting como aruba.
En unos días publicaré cómo lo he hecho, menudas piruetas...