Cómo administrar repositorios de Git en su propio sitio web

Si está familiarizado con el sistema de control de revisiones 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 alojarlo en cualquier lugar que desee. Dígale adiós a las exorbitantes tarifas por alojar su repositorio privado; GitList es absolutamente gratuito y, debido a sus dependencias mínimas, incluso puede ejecutarlo en (algunos) planes de alojamiento web compartido.

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

  • Soporte para navegar por múltiples repositorios
  • Soporte para múltiples ramas y etiquetas
  • RSS Feeds
  • Resaltado de sintaxis
  • Estadísticas de tus repositorios
  • Fácil de instalar en comparación con otras interfaces de 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 todos los planes de alojamiento compartido ofrecen:

  • Git
  • Acceso SSH

Tenga en cuenta que el acceso SSH no es necesario 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á:

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

Instalación

Coge un tarball del código de GitList de la página principal de GitList.org . Puede elegir entre la última versión estable, que en el momento de escribir este artículo es 0.3, o la versión de desarrollo. Elegí la versión de desarrollo, pero puedes 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, que no debe confundirse con el directorio en el que están instalados sus repositorios de 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):

Ahora mueva el archivo config.ini-example a 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 la siguiente sección y luego vuelva aquí.

Complete la repositoriessección en el código con la ruta completa del directorio de su proyecto Git. Si no conoce la ruta completa, puede cdingresar a ese directorio e ingresar pwd; la salida es la ruta completa. En este caso, mi directorio de proyectos de Git se llamaba “gitprojects” y se encontraba 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):

Obtener un repositorio de Git en su servidor

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

Primero prepare un repositorio de Git en su máquina local. Puede crear un repositorio desde cualquier directorio. Por ejemplo, digamos que tiene una carpeta llamada “tortugas” con algunos archivos en ella:

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

Regrese a su máquina local y agregue una rama 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 archivo de forma adecuada:

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.

Asegurar su repositorio

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

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

Conclusión

Alojar sus propios repositorios puede ser tanto empoderador como económico. Ya sea que haya estado usando Git por un tiempo o esté en las etapas iniciales de curiosidad sobre cómo puede beneficiarse del control de versiones, le insto a que pruebe el autohospedaje y GitList, a menos que, por supuesto, esté totalmente contenido dejando el control de su contenido a terceros.

¡Si te ha gustado vota con 5 Estrellas!
(Votos: 0 Promedio: 0)

Escribe Aquí Tu Comentario