Instalación Git + GitWeb ( I )

Escrito el 19 octubre 2012 por Luis Ignacio Díaz Martínez


Anteriormente  en esta entrada ya comentaba como instalar Git + GitLab + Gitolite, pero ahora simplificaré algo más las cosas y realizaremos una instalación «seca» de git más la interface web GitWeb que es más amena y no consumirá tantos recursos.

La idea de esto es montar nuestro propio servidor git para que así podamos utilizar la aplicación sparkleshare y así poder crear nuestra alternativa libre a dropbox.

Tenemos como objetivo utilizar dicho software como método de copia de seguridad con control de versión ( espero ). Esto quiere decir que si alguno de nuestros documentos ha sido corrompido podremos rescatarlo por medio de una versión anterior que nuestro repositorio git habrá almacenado. Siendo así un sistema de protección bastante potente y a la vez sencillo de poner en funcionamiento.

Entorno

Estamos trabajando con una máquina virtual equipada con una distribución GNU/Linux mas concretamente una Debian versión 6. La máquina virtual tiene 500mb de ram asignados y está conectada a nuestra red local ( obtiene dirección IP local como una máquina físsica ).

Instalando paquetes

Nuestro sistema como ya hemos comentado más arriba tendrá instalado Git con una interface web, así que para ello instalaremos un servidor web más el core de git.

Así que a continuación instalaremos los paquetes que necesitamos de la siguiente forma:

Con ello instalamos:

  • Apache2 = Servidor Web HTTP que nos servirá la interface web.
  • Git-Core = Todos los paquetes necesarios y software de git.
  • Openssh-Server = Servidor de comunicación remota SSH.

Una vez instalado todo correctamente podemos proceder con lo siguiente.

Creando directorios

Ahora tendremos que crear la organización básica de nuestro repositorio. Esto quiere decir simplemente donde almacenaremos nuestro repositorio. Cada uno lo creará en el lugar que más le plazca… o le convenga, yo en este caso lo crearé…

Ahora crearemos el directorio donde se almacenará git-web:

Instalando GitWeb

GitWeb nos proporcionará un acceso vía Web al repositorio git haciendo más sencillo ver las versiones que hay y las modificaciones que se han realizado. Para ello, anteriormente hemos comentado que necesitaremos de un servidor web… así que como ya lo tendríamos que tener instalado procederemos a la configuración de este.. primero de todo editaremos la configuración que se ha creado automáticamente cuando hemos instalado gitweb:

Y le insertaremos el siguiente contenido:

Ahora moveremos todo el directorio donde se encuentra gitweb al directorio nuevo que hemos creado.

Al haber modificado las rutas ya establecidas en GitWeb tendremos que modificar el archivo de configuración para actualizarlas… para ello editaremos el fichero  /etc/gitweb.conf y lo dejaremos así:

Ahora tenemos que habilitar el modulo RewriteEngine de la siguiente forma:

Y por último vamos a recargar la configuración Apache2:

Iniciando proyecto git

Ahora vamos a iniciar nuestro proyecto. Para ello primero vamos a crear el siguiente directorio:

Ahora entramos al directorio e iniciamos el proyecto:

Ahora marcaremos el repositorio como exportado:

Ahora asignaremos permisos al repositorio para un usuario especifico:

Con esto tendríamos el repositorio iniciado.

Lanzando servicio

Ahora, tendríamos que poner en funcionamiento el servicio git. Para ello git cuenta con un pequeño demonio que lo lanzaremos de la siguiente forma:

Vale, si no nos devuelve error comprobaremos que está en funcionamiento ejecutando esto:

Tendría que devolver lo siguiente:

Esto quiere decir que está abierto y podemos trabajar con el.

Ahora tenemos un pequeño problema… cuando reiniciamos la máquina el demonio deja de funcionar y de nuevo, tendríamos que ejecutarlo… que podemos hacer?

Instalando git-daemon

Como respuesta al punto anterior vamos a instalar git-daemon que nos permitirá ejecutar git nada más iniciemos el equipo. Para ello tan solo introducimos lo siguiente:

Ahora, tenemos que editar el fichero de configuración para determinar la ruta en la cual nosotros estamos utilizando git:

Y ahora introducimos lo siguiente:

Y reiniciamos el servicio:

Ahora probaremos de reiniciar a ver que tal… Correcto! se inicia solo.

Probando repositorio

Ahora, una vez lo tenemos todo configurado vamos a comprobar que el repositorio esté funcionando correctamente… para ello realizaremos un par de conexiones desde una máquina que no sea la misma que el servidor:

Eso tendría que clonarnos el repositorio del servdidor a la carpeta «backup-hdd1» de nuestra máquina local.

Una vez hemos comprobado que el protocolo git funciona vamos a realizar lo mismo por medio de SSH. Para ello lanzaremos lo siguiente en nuestro cliente:

Al proceder con el comando anterior tendría que solicitarnos una contraseña de acceso para el servidor. Esta contraseña será la del usuario remoto del cual estamos solicitando el acceso.

**Nota: Lógicamente tendremos que tener el servidor OpenSSH instalado en el servidor para realizar el último paso.

Poniendo theme mejorado

Para mejorar el theme que viene por defecto en gitweb seguiremos estos pasos que se encuentran en otro artículo de este mismo blog.
Así tendrá un aspecto más moderno y agradable.

Referencias


Cargando...

Comentarios: