Servir un repo mercurial por http (solo lectura)
El objetivo es simple, pero útil. Tenemos un repositorio de mercurial (hg), al que accedemos por SSH. Queremos compartirlo con el mundo, pero no queremos abrirle cuanta ssh al mundo en nuestro servidor. ¿Solución? Compartirlo por HTTP.
Ingredientes
- El repo de mercurial
- Un servidor Web
Suponemos que tenemos un repositorio de mercurial clonado en /home/user/repo. Y que tenemos instalado el servidor web que vayamos a usar. Además, en este caso, no usamos un CGI, sino que nos aprovechamos de las capacidades de Indexado del servidor Web. Si quieres tirar de CGI, en 2 tienes lo que buscas.
Con thttp
En este caso es muy sencillo:
¡Así de fácil! Es decir, simplemente hacemos que el servidor Web encuentre los ficheros y listo. Ahora solo te queda jugar con las opciones del servidor Web. Por ejemplo, si quitas el ‘-D’, el proceso se lanza como demonio. Es posible configurarlo para que arranque al inicio y tal… pero no quisiera yo quitarte la diversión de experimentar.
Con Apache
Pues lo mismo ;-)
Descargarse el repo
También muy sencillo, usando url’s del tipo static-http://maquina/recurso, con el ‘clone’ de toda la vida: