Cómo administrar repositorios Git en su propio sitio web

Cómo administrar repositorios Git en su propio sitio web

Si está familiarizado con el sistema de control de revisión de Git, lo más probable es que haya oído hablar de sitios de software social que usan Git, como GitHub, Gitorious y Sourceforge. Esos sitios son excelentes para la colaboración, pero ¿qué sucede si desea alojar un repositorio privado de Git en su propio sitio web personal?

GitList es una interfaz de PHP para Git que embellece y simplifica la exploración de sus repositorios de Git, y puede alojarla en cualquier lugar que desee. Diga adiós a las tarifas exorbitantes por alojar su repositorio privado; GitList es totalmente gratuito y, debido a sus dependencias mínimas, incluso puede ejecutarlo en (algunos) planes de alojamiento web compartido.

interfaz gitlist

¡La interfaz seguramente les resultará familiar a los usuarios de GitHub! Tiene un aspecto bastante elegante y moderno en comparación con la interfaz más tosca de Gitweb, la interfaz web predeterminada de Git, y viene repleta de funciones fáciles de usar. Algunos de estos incluyen:

  • Soporte para navegar por múltiples repositorios
  • Compatibilidad con varias ramas y etiquetas
  • RSS Feeds
  • Resaltado de sintaxis
  • Estadísticas sobre tus repositorios
  • Facilidad de instalación en comparación con otras interfaces Git basadas en la web

Requisitos

Como mencionamos anteriormente, puede instalar GitList en algunos planes de alojamiento web compartido. Necesita un par de cosas en su servidor remoto que no ofrecen todos los planes de alojamiento compartido:

Tenga en cuenta que no se requiere acceso SSH para instalar GitList, pero lo necesitará para crear y administrar sus repositorios Git remotos desde la línea de comandos.

Además de esos dos elementos, necesitarás:

  • Apache con mod_rewrite habilitado o Nginx en su servidor remoto
  • PHP 5.3.3 en su servidor remoto
  • Git en tu máquina local

Instalación

Tome un tarball del código GitList de la página principal en GitList.org. Puede elegir entre la última versión estable, que en el momento de escribir este artículo es la 0.3, o la versión de desarrollo. Elegí la compilación de desarrollo, pero puede seguir las mismas instrucciones de instalación en cualquier caso.

Extraiga el tarball en el directorio de su sitio en el que desea instalar GitList; no debe confundirse con el directorio en el que están instalados sus repositorios Git reales, al que llegaremos en un momento.

A partir de ahora, las instrucciones de este artículo supondrán que ha iniciado sesión en su sitio a través de SSH. Ingrese a su directorio GitList y configure los permisos 777 para el subdirectorio «caché» (créelo si aún no existe):

[mkdir cache]
chmod 777 cache

Ahora mueva el archivo config.ini-example a config.ini:

mv config.ini-example config.ini

Abra config.ini para editarlo en uno de los editores de texto disponibles en su servidor remoto. Por ejemplo:

Para esta parte, ya debe tener uno o más repositorios de Git almacenados en algún lugar de su servidor. Si no lo hace, lea el Siguiente sección y luego vuelve aquí.

Rellena el repositories sección en el código con la ruta completa de su directorio de proyecto Git. Si no conoce la ruta completa, puede cd en ese directorio e ingrese pwd; la salida es la ruta completa. En este caso, mi directorio de proyectos de Git se llamaba «gitprojects» y vivía en el subdirectorio «git» de mi sitio principal, así que escribí mi ruta en consecuencia (la estructura de carpetas puede variar entre los servidores web, así que tenga cuidado):

gitlist-config-ini

Obtener un repositorio Git en su servidor

Continúe y omita esta sección si ya ha configurado sus repositorios remotos. Si no, aquí hay una manera de hacerlo.

Primero prepare un repositorio Git en su máquina local. Puede crear un repositorio desde cualquier directorio. Por ejemplo, supongamos que tiene una carpeta llamada «tortugas» con algunos archivos:

cd turtles
git init #this initializes the repository
git add * #this causes all files in the directory to be tracked for revisions
git commit -m "Created my repo" * #commits the files and adds a comment

Ahora SSH en su servidor remoto para crear e inicializar un repositorio simple:

mkdir turtles.git && cd turtles.git
git --bare init

Regrese a su máquina local y agregue una sucursal remota. Es costumbre llamarlo «origen», pero puede usar el nombre que desee (usar otros nombres es útil si está compartiendo los mismos archivos con múltiples repositorios remotos). Siga el formato de este ejemplo, pero cambie las rutas de sus archivos de manera adecuada:

git remote add origin ssh://yourusername@yourserver.com/home/yourusername/public_html/gitprojects/turtles.git

Ahora envíe sus archivos al servidor remoto:

Ta-da! Ahora tiene una copia remota de su repositorio de Git que puede explorar con GitList. No olvide poner primero la ruta del directorio principal en su config.ini.

gitlist-ver-archivo

Asegurar su repositorio

Si le preocupa mantener su repositorio alejado de miradas indiscretas, lamento decirle que GitList no proporciona un método de autenticación de usuario integrado. Sin embargo, en la mayoría de los casos, puede proteger un directorio con contraseña directamente desde el panel de control de su sitio web. En cPanel, está justo aquí en la sección «Seguridad»:

gitlist-contraseña-proteger-directorios

Alternativamente, puede configurar manualmente el servidor Apache para restringir el acceso a usuarios particulares.

Conclusión

Alojar sus propios repositorios puede potenciar y ahorrar presupuesto. Ya sea que haya estado usando Git por un tiempo o esté en las etapas iniciales de curiosidad acerca de cómo puede beneficiarse del control de versiones, le insto a que pruebe el alojamiento propio y GitList, a menos, por supuesto, que esté totalmente contenido dejando el control de su contenido a terceros.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas