Servidor GIT bajo Apache en Raspberry
por Luis Zurro el 05/06/16
Muy buenas a todos, hace mucho que no escribo ninguna entrada, pero ando metido en unos proyectos que no me han dejado tiempo (cuando estén más avanzados los publicaré, palabra).
Hoy vengo con una petición de un compañero de trabajo, instalar un servidor GIT en una Raspberry Pi.
Como ya hice en entradas anteriores sobre el tema, la instalación se realizará bajo un servidor web Apache.
En primer lugar necesitaremos:
- Raspberry Pi (Obvio).
- Raspbian (Jessie a fecha de esta guía).
- Adaptador Wifi o conexión Ethernet.
- Acceso SSH o terminal.
Lo primero de todo, conectamos a nuestra Raspberry, ya sea mediante conexión SSH, o directamente por terminal.
Instalación de dependencias
Vamos a instalar los siguientes paquetes
- apache2: El el servidor web de apache. a fecha de esta guía es la versión 2.4.
- git: Contiene los binarios y librerías necesarias para hacer funcionar GIT.
En el terminal escribimos el siguiente comando:
A continuación vamos a activar el módulo CGI de Apache ejecutando en un terminal:
Preparación del entorno
En primer lugar establecemos la propiedad de /var/www al usuario por defecto de Apache.
Ahora conectamos como el usuario por defecto de Apache.
Crear carpetas
Creamos la carpeta base de GIT.
Crear repositorio
Creamos el repositorio de ejemplo
Una vez finalizado este paso, salimos del usuario Apache.
Configuración Apache
Creamos el fichero /etc/apache2/conf-available/git.conf con el siguiente contenido:
SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch \
"(?x)^/git/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" /usr/lib/git-core/git-http-backend/$1
ScriptAlias /git /usr/share/gitweb/gitweb.cgi/
Alias /static /usr/share/gitweb/static/
<directory "/usr/share/gitweb/">
Options +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthName "Git Access"
Require valid-user
AuthUserFile /var/www/.auth
<directory "/usr/lib/git-core">
Require all granted
Options +FollowSymLinks +ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthName "Git Access"
Require valid-user
AuthUserFile /var/www/.auth
Y por último lo activamos creando el enlace correspondiente
Crear autentificación
En la línea anterior, hemos establecido un fichero de autentificación, pero este aún no existe, para crearlo, ejecutar el siguiente comando:
*Nosotros hemos elegido como nombre de usuario pistachitos. Vosotros usad el que creáis conveniente.
Una vez introducido el comando, os solicitará una contraseña, la introducís, y se creará el fichero con el usuario.
Configuración Gitweb
Abrimos para editar el fichero /usr/share/gitweb/gitweb.cgi.
Modificamos la línea que empieza por our $projectroot.
our $projectroot = "/var/www/git";
Y listo, ya tenemos instalado y configurado nuestro servidor GIT con Gitweb servido desde Apache, solo resta reiniciarlo.
Validar y finalizar
Para verificar que el servidor Web funciona, vamos a la dirección:
https://192.168.1.3/git
*En nuestro caso, nuestra Raspberry tiene la IP 192.168.1.3, vosotros poned la vuestra ;).
Para verificar que funciona también como servidor GIT, ejecutamos el siguiente comando desde el directorio que deseemos
Si la web se ve como la de la imágen (listando vuestros proyectos GIT) y la descarga se ha realizado, significa que todo está funcionando correctamente.
Cualquier duda o sugerencia sobre esta guía, acudid a los comentarios.
¡Nos vemos con nuestro siguiente bol de Pistachitos!
Auto Amazon Links: No se encontraron productos.
Nacido en 1988. Desarrollador por vocación y técnico especializado en calidad y rendimiento por profesión. Desde pequeño he tenido muy claro que quería dedicarme al mundo de la informática.
Amante de los videojuegos, series, libros y gatos.
Comentarios Recientes