Cómo instalar Gitea en Ubuntu 18.04

Gitea es un sistema de control de versiones gratuito y de código abierto similar a GitHub. Gitea es un clon de Gogs, una solución ligera de alojamiento de código escrita en Go y publicada bajo la licencia MIT. Es sencillo, rápido, fácil de usar, escalable y una gran alternativa a otros servicios git. Gitea viene con un montón de características, entre las que se incluyen: soporte de múltiples bases de datos, soporte de múltiples sistemas operativos, fácil proceso de actualización, soporte de CSV, wiki integrado con Git, registro de contenedores incorporado, réplica externa de git, seguimiento de problemas y tiempo, ramificación de repositorios y mucho más.

En este tutorial, explicaremos cómo instalar el servidor git Gitea en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Una dirección IP estática 192.168.0.101 configurada en tu servidor.
  • Un usuario no root con privilegios sudo.

Cómo empezar

Antes de empezar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:

sudo apt-get update -y
sudo apt-get upgrade -y

Instalar los paquetes necesarios

En primer lugar, necesitarás instalar el servidor MariaDB, git, unzip y wget en tu servidor. Puedes instalarlos todos con el siguiente comando:

sudo apt-get install mariadb-server wget unzip git -y

Una vez instalados todos los paquetes, inicia el servicio MariaDB y habilítalo para que se inicie en el arranque con el siguiente comando:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Configurar MariaDB

Por defecto, MariaDB no está protegida. Por lo tanto, tendrás que asegurarlo. Puedes hacerlo ejecutando el script mysql_secure_installation:

sudo mysql_secure_installation

Este script cambiará tu contraseña actual de root, eliminará los usuarios anónimos y no permitirá el inicio de sesión de root de forma remota, como se muestra a continuación:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Una vez que MariaDB esté asegurada, entra en el shell de MariaDB:

mysql -u root -p

Introduce tu contraseña de root cuando se te pida. A continuación, crea una base de datos y un usuario para Gitea:

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
MariaDB [(none)]> CREATE DATABASE giteadb;
MariaDB [(none)]> CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a Gitea con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON giteadb.* TO 'giteauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

A continuación, actualiza el conjunto de caracteres de la base de datos con el siguiente comando:

ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;

A continuación, vacía los privilegios y sal del shell de MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

A continuación, deberás editar el archivo de configuración por defecto de MariaDB y realizar algunos cambios:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Añade las siguientes líneas:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

Guarda y cierra el archivo. A continuación, reinicia el servicio MariaDB para aplicar los cambios:

sudo systemctl restart mariadb

Estructura del directorio de Creta Gitea

En primer lugar, tendrás que crear un usuario Gitea. Puedes hacerlo con el siguiente comando:

sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea

A continuación, crea una estructura de directorios para Gitea con el siguiente comando:

sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}

A continuación, dale la propiedad al usuario Gitea con el siguiente comando:

sudo chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea

Instalar Gitea

A continuación, tendrás que descargar el paquete Gitea del repositorio Git Hub. Puedes descargarlo con el siguiente comando

wget https://github.com/go-gitea/gitea/releases/download/v1.5.1/gitea-1.5.1-linux-amd64

A continuación, mueve el binario descargado al directorio /usr/local/bin con el siguiente comando

sudo mv gitea-1.5.1-linux-amd64 /usr/local/bin/gitea

A continuación, da el permiso adecuado al binario de Gitea con el siguiente comando:

sudo chmod +x /usr/local/bin/gitea

A continuación, crea un archivo de servicio systemd para gestionar el servicio Gitea con el siguiente comando:

sudo nano /etc/systemd/system/gitea.service

Añade las siguientes líneas:

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because of that
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo, cuando hayas terminado. A continuación, recarga systemd e inicia el servicio Gitea con el siguiente comando:

sudo systemctl daemon-reload
sudo systemctl start gitea

Ahora puedes comprobar el estado de Gitea con el siguiente comando:

sudo systemctl status gitea

Salida:

? gitea.service - Gitea
   Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-06 08:04:52 UTC; 3s ago
 Main PID: 6030 (gitea)
    Tasks: 8 (limit: 1114)
   CGroup: /system.slice/gitea.service
           ??6030 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [T] Log path: /var/lib/gitea/log
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Gitea v1.5.1 built with: bindata, sqlite
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Log Mode: Console(Info)
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] XORM Log Mode: Console(Info)
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Cache Service Enabled
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Session Service Enabled
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] SQLite3 Supported
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Run Mode: Development
Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 Serving [::]:3000 with pid 6030
Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 [I] Listen: http://0.0.0.0:3000

Accede a la interfaz web de Gitea

Gitea está ahora en marcha y escuchando en el puerto 3000. Ahora, abre tu navegador web y escribe la URL http://192.168.0.101:3000/install. Serás redirigido a la siguiente página:

Aquí, proporciona toda la información necesaria como el nombre de la base de datos de Gitea, el nombre de usuario, la contraseña, la url base, ejecutar como nombre de usuario, el nombre de usuario y la contraseña del administrador y la ruta de acceso. A continuación, haz clic en el botón Instalar Gitea. Una vez que la instalación se haya completado con éxito, serás redirigido al panel de control de Gitea que se muestra en la siguiente página:

Enhorabuena! has instalado con éxito el servicio git de Gitea en el servidor Ubuntu 18.04. Ahora puedes gestionar fácilmente tu repositorio git a través de un navegador web.

También te podría gustar...