Gitea en un servidor propio

March 20, 2017

Guias  Desarrolladores  General 


Sólo por curiosidad, se me ocurrió instalar Gitea en un servidor de DigitalOcean para ver qué tan simple y liviano era, y me intersó lo suficiente como para armar esta guía. Comencé con el servidor más pequeño que ofrece DigitalOcean, que es especial para pruebas o proyectos simples y de poca carga.

El servidor elegido: CentOS 7 de U$S 5

Centos7

Con eso listo, le damos a crear, esperamos unos segundos, y ya tenemos nuestro ambiente de pruebas temporal (O no) listo para ser trabajado.

Instalación de las herramientas

Una vez conectados a nuestro flamante servidor, es momento de empezar a instalar las herramientas necesarias para poder levantar nuestra instancia de Gitea.

Atención: Todos los comandos que siguen a continuación se ejecutan con un usuario con permisos de sudo, nunca con root

GIT

Si bien la forma más sencilla de instalar GIT sería ejecutando sudo yum install git, al momento de escribir esto, la versión que está en los repositorios de CentOS es la 1.8.3.1, y existe un pequeño fallo en el código de Gitea en el que la última parte de nuestra versión no puede ser interpretada de forma correcta, por los que vamos a optar por la versión 2.12.0.

Pero primero, debemos hacernos de las herramientas básicas para poder crear el paquete de GIT e instalarlo en nuestro sistema. Para eso ejecutamos:

sudo yum groupinstall "Development Tools"  
sudo yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel  

Una vez instalado todo eso, descargamos el archivo .tar.gz con nuestra versión haciendo:

wget -O git.tar.gz https://github.com/git/git/archive/v2.12.0.tar.gz  

Después lo descomprimimos y entramos al directorio ejecutando:

tar -xvzf git.tar.gz  
cd git-*  

Una vez dentro, creamos el archivo Makefile ejecutando

make configure  
./configure --prefix=/usr

Importante: Si ya tenemos una versión de GIT instalada y ejecutamos el último comando, se va a reemplazar la versión actual con la nueva para todos los usuarios. Si queremos que sólo sea para un usuario particular, usamos /usr/local al final.

Cuando termine esa ejecución, viene el paso más lento que es la compilación en si, para eso ejecutamos:

sudo make install  

Cuando la compilación haya finalizado, deberíamos poder ver la versión de git instalada ejecutando git --version

Go

Gitea está escrito en Go, por lo que necesitamos de ese lenguaje para poder ejecutar nuestra instancia, para instalarlo, lo hacemos con yum:

yum install go -y  

Instalación de Gitea

Este paso es en realidad bastante simple, sólo debemos descargar la última versión disponible de Gitea que podemos encontrar acá. Al momento de escribir esto, la última versión es la 1.1.0.

Para descargarlo, creamos la carpeta donde vayamos a alojarlo, cambiamos a ese directorio, y ejecutamos:

wget -O gitea https://dl.gitea.io/gitea/1.1.0/gitea-1.1.0-linux-amd64  

O bien, la versión que corresponda a nuestro tipo de arquitectura.

Una vez descargado, sólo quedan ejecutar dos comandos:

chmod +x gitea  
./gitea web

Configuración de la instalación

Como no tenemos configurado ningún tipo de servidor web, podemos acceder directamente a nuestra nueva instancia por IP y puerto, que por defecto es el 3000. Una vez accedemos a eso nos encontramos con una pantalla similar a esta:

Instalación

Podríamos haber instalado una base de datos, pero si es algo para nosotros, con SQLite3 vamos a estar bien.

Una vez llenamos la información, le damos al botón Instalar Gitea y ya estamos listos para empezar a trabajar

Extras

  • Todo este trabajo se podría haber reducido significativamente si utilizáramos el método de instalación por Docker
  • Para dejar el servicio corriendo, podemos ejecutar nohup ./gitea &.
  • Este servicio fácilmente se puede utilizar como backup de repositorios que tengamos alojados en otros lugares

Conclusión

Es sorprendente la velocidad con la que se puede tener levantado un servidor GIT autogestionado y que posee muchas funcionalidades muy interesantes.