Instalando GitLab en uno de mis subdominios

¡Hola!, ¿qué tal? Hoy quiero explicarte algo de administración de servidores. He instalado mi propio servidor Git en un subdominio y me gustaría darte algunas ideas para que tú también configures el tuyo. Ahora mismo está alojado en Amazon EC2 bajo demanda ($0.026 por hora) y solo lo enciendo cuando lo necesito.

Sin más dilación, allá van algunos tips. ¡Instalemos GitLab CE!

¿Qué es GitLab CE?

GitLab Community Edition (CE) es una aplicación web que instalas en tu propio servidor para gestionar cómodamente repositorios Git, tanto públicos como privados, pudiendo asignar diferentes niveles de permisos: Guest, Reporter, Developer, Master y Owner.

Instalando GitLab en uno de mis subdominios

Con GitLab CE tienes control total sobre tus repos, además es completamente gratis y de código abierto.

Otra característica a destacar es que permite proteger ramas. El administrador puede elegir qué componentes del equipo tienen permitido hacer push o borrar el código de una rama determinada, lo que hace que el desarrollo de software en equipo sea más seguro.

Omnibus GitLab

GitLab se puede configurar de varias maneras diferentes. Puedes hacerlo manualmente o en dos minutos gracias al paquete Omnibus. En principio basta con seguir las instrucciones de instalación y listo, en cuatro clics se instala el software necesario: Nginx, Ruby, Unicorn y PostgreSQL.

Instalando GitLab

Instalación de GitLab en Amazon EC2

Te cuento que yo inicialmente instalé y configure GitLab CE Omnibus en un Ubuntu Server 14.04 LTS que corría en una instancia Amazon EC2 t2.micro de 1 GB de RAM.

¡Funcionó!, pero iba tan despacio…

Me vino bien para hacer mis primeras pruebas sin gastarme ni un euro, por si no lo sabes Amazon te deja probar gratis durante un año sus máquinas virtuales t2.micro.

Pero no, no es nada recomendable instalar GitLab CE en un servidor con 1 GB de RAM. Se recomiendan 2 GB. No dejes de leer los requerimientos técnicos de instalación, por cierto, disponibles en la documentación oficial.

Rápidamente, me pasé a una instancia EC2 t2.small de 2 GB. Es lo bueno que tiene Amazon AWS EC2. Si tu servidor se queda atascado no pasa nada y lo amplías en un periquete.

Equipo ganador

¿Cómo? Muy fácil. Por ejemplo, puedes crear una imagen de la instancia lenta y a continuación lanzas una imagen nueva a partir de dicha imagen, aprovechando ese momento para ampliar las características de tu servidor virtual.

Un poco de hardening, por favor

No olvides hacer hardening justo después de lanzar tu instancia, yo en la mía hice esto:

  • Definí un nuevo grupo de seguridad de Amazon
  • Dejé abiertos solamente los puertos 22, 80 y 443
  • Instalé y configuré ufw
  • Desinstalé programas que no necesitaba

Crear un registro A en el DNS

Cuando creas una instancia nueva en Amazon EC2 se le asigna automáticamente un nombre de dominio arbitrario parecido a este: ec2-256-256-256-256.eu-central-1.compute.amazonaws.com

Es como Marciana o Filadelfo, ¿verdad?, un nombre poco amigable. Tenemos que crear un registro A en el DNS que apunte a la IP de la nueva máquina, algo así como esto:

Nombre TTL Tipo IP
foo.programarivm.com. 900 A 256.256.256.256

A los pocos minutos ya podía entrar en mi GitLab.

Instalar un certificado PositiveSSL de COMODO

Recuerda proteger con SSL/TLS los paneles de administración de tus apps web de gestión. Yo compré un certificado PositiveSSL de COMODO por $8.95 USD. Es un certificado de tipo DV (Domain Validated) de los que se configuran en cinco minutos desde el momento que los adquieres.

Lee este post para aprender cómo pedir uno en menos que canta un gallo y sigue estas instrucciones para configurar el Nginx de GitLab.

¿Qué te ha parecido mi tip de hoy? ¿Te animas a instalar GitLab en tu servidor y comentamos cosas? 😀

Tal vez te interese leer esto…