Cómo instalar y configurar Gitea en Ubuntu 18.04

27 feb 2021 6 min di lettura
Cómo instalar y configurar Gitea en Ubuntu 18.04
Indice dei contenuti

Introducción

Gitea es un servidor git de código abierto autohospedado escrito en Go. Es una bifurcación de Gogs. Gitea incluye un editor de archivos de repositorio, seguimiento de problemas de proyectos, administración de usuarios, notificaciones, wiki integrado y mucho más.

Gitea es una aplicación ligera y se puede instalar en sistemas de baja potencia. Si está buscando una alternativa de Gitlab con una huella de memoria mucho más pequeña y no necesita todas las campanas y silbidos que ofrece Gitlab, entonces definitivamente debería probar Gitea.

Este tutorial explica cómo instalar y configurar Gitea en Ubuntu 18.04.

Si desea instalar Gitea en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Prerrequisitos

Gitea admite SQLite, PostgreSQL y MySQL /MariaDB como backend de base de datos.

Usaremos SQLite como base de datos para Gitea. Si SQLite no está instalado en su sistema Ubuntu, puede instalarlo ingresando los siguientes comandos como usuario sudo:

sudo apt update
sudo apt install sqlite3

Instalar Gitea

Gitea proporciona imágenes de Docker y se puede instalar desde código fuente, binario y como paquete.

Instalaremos Gitea desde el binario. Complete los siguientes pasos para instalar Gitea en Ubuntu.

Instalar Git

El primer paso es instalar Git en tu servidor, si aún no está instalado da los siguientes comandos:

sudo apt update
sudo apt install git

Verifique la instalación viendo la versión de Git:

git --version
git version 2.17.1

Crea un usuario de Git

Cree un nuevo usuario del sistema que ejecutará la aplicación Gitea escribiendo:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

El comando creará un nuevo usuario y un nuevo git y establecerá el directorio de inicio en /home/git. La salida se verá así:

Adding system user `git' (UID 111)...
 Adding new group `git' (GID 116)...
 Adding new user `git' (UID 111) with group `git'...
 Creating home directory `/home/git'...

Descarga el binario de Gitea

Visite la página de descarga de Gitea y descargue el binario más reciente para su arquitectura. En el momento de redactar este artículo, la última versión es la 1.10.2. Si hay una nueva versión disponible, cambie la VERSION en el siguiente comando.

Descargue el binario Gitea al /tmp usando el siguiente comando wget

VERSION=1.10.2
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

El gitea se puede ejecutar desde cualquier posición. Seguiremos la convención y trasladaremos el binario al /usr/local/bin:

sudo mv /tmp/gitea /usr/local/bin

Haciendo ejecutable binario:

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

Ejecute los siguientes comandos para crear directorios y establecer los permisos y la propiedad necesarios:

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

La estructura de directorio anterior es recomendada por la documentación oficial de Gitea.

Los permisos del /etc/gitea se establecen en 770 para que el asistente de instalación pueda crear el archivo de configuración. Una vez que se complete la instalación, estableceremos permisos más restrictivos.

Cree un archivo de unidad Systemd

Gitea proporciona un archivo de unidad Systemd que ya está configurado para coincidir con nuestra configuración.

Descargue el archivo al directorio /etc/systemd/system/ escribiendo:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

Una vez hecho esto, habilite e inicie el servicio Gitea:

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

Verifique que el servicio se inicie correctamente:

 sudo systemctl status gitea

Debería ver un mensaje de salida similar al siguiente:

● gitea.service - Gitea (Git with a cup of tea)
 Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
 Active: active (running) since Sat 2020-01-18 16:06:34 CET; 20s ago
 Main PID: 2408 (gitea)
 Tasks: 7 (limit: 2298)
 CGroup: /system.slice/gitea.service
 └─2408 /usr/local/bin/gitea web --config /etc/gitea/app.ini

Configurar Gitea

Ahora que Gitea está descargado y funcionando, es hora de finalizar la instalación a través de la interfaz web.

Por defecto, Gitea escucha las conexiones en el puerto 3000 en todas las interfaces de red.

Si tiene un firewall UFW ejecutándose en su servidor, deberá abrir el puerto Gitea:

Para permitir el tráfico en el puerto 3000, ingrese el siguiente comando:

sudo ufw allow 3000/tcp

Abra su navegador, escriba http://TUO_DOMINIO_O_IP:3000 y aparecerá la pantalla de bienvenida de gitea.

Configuración de la base de datos:

  • Tipo de base de datos: SQLite3
  • Ruta: use una ruta absoluta: /var/lib/gitea/data/gitea.db

Configuración general de la aplicación:

  • Título del sitio: ingrese el nombre de su organización.
  • Ruta raíz del repositorio: deje el /home/git/gitea-repositories.
  • Ruta raíz de Git LFS: deje el /var/lib/gitea/data/lfs.
  • Ejecutar como nombre de usuario: git
  • Dominio del servidor SSH: introduzca el dominio o la dirección IP del servidor.
  • Puerto SSH: 22, cámbielo si SSH está escuchando en otro puerto.
  • Puerto de escucha HTTP Gitea: 3000
  • Gitea Base URL: utilice http y la dirección IP de su dominio o servidor.
  • Ruta de registro: deje el /var/lib/gitea/log

Puede cambiar la configuración en cualquier momento editando el archivo de configuración de Gitea.

Una vez hecho esto, presione el botón Instalar Gitea. La instalación es instantánea. Cuando termine, será redirigido a la página de inicio de sesión.

Haga clic en el enlace Registrarse ahora. El primer usuario registrado se agrega automáticamente al grupo Admin.

Cambie los permisos del archivo de configuración de Gitea a solo lectura usando:

sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

Eso es todo. Gitea se instaló en su computadora Ubuntu.

Configurar Nginx como un proxy de terminación SSL

Este paso es opcional, pero muy recomendable. Para usar Nginx como proxy inverso, debe tener un dominio o subdominio que apunte a la IP pública del servidor. En este tutorial, git.example.com.

Primero, instale Nginx y genere un certificado SSL Let's Encrypt gratuito utilizando las siguientes guías:

Una vez hecho esto, abra su editor de texto y edite el archivo de bloqueo del servidor de dominio:

sudo nano /etc/nginx/sites-enabled/git.example.com
server {
 listen 80;
 server_name git.example.com;

 include snippets/letsencrypt.conf;
 return 301 https://git.example.com$request_uri;
 }

 server {
 listen 443 ssl http2;
 server_name git.example.com;

 proxy_read_timeout 720s;
 proxy_connect_timeout 720s;
 proxy_send_timeout 720s;

 client_max_body_size 50m;

 # Proxy headers
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 proxy_set_header X-Real-IP $remote_addr;

 # SSL parameters
 ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
 ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
 include snippets/letsencrypt.conf;
 include snippets/ssl.conf;

 # log files
 access_log /var/log/nginx/git.example.com.access.log;
 error_log /var/log/nginx/git.example.com.error.log;

 # Handle /requests
 location /{
 proxy_redirect off;
 proxy_pass http://127.0.0.1:3000;
 }
 }

No olvide reemplazar git.example.com con su dominio Gitea y establecer la ruta correcta para los archivos del certificado SSL. El tráfico HTTP se redirige a HTTPS.

Reinicie el servicio Nginx para que los cambios surtan efecto:

sudo systemctl restart nginx

A continuación, cambie el dominio de Gitea y la URL raíz. Para hacer esto, abra el archivo de configuración y edite las siguientes líneas:

sudo nano /etc/gitea/app.ini
[server]
 DOMAIN = git.example.com
 ROOT_URL = https://git.example.com/

Reinicie el servicio Gitea escribiendo:

sudo systemctl restart gitea

En este punto, el proxy Gitea está configurado y puede acceder a él desde: https://git.example.com.

Configurar notificaciones por correo electrónico

Para permitir que Gitea envíe correos electrónicos de notificación, puede instalar Postfix o utilizar algunos servicios de correo transaccional como SendGrid, MailChimp, MailGun o SES.

Para habilitar las notificaciones por correo electrónico, abra el archivo de configuración y edite las siguientes líneas:

sudo nano /etc/gitea/app.ini
[mailer]
 ENABLED = true
 HOST = SMTP_SERVER:SMTP_PORT
 FROM = SENDER_EMAIL
 USER = SMTP_USER
 PASSWD = YOUR_SMTP_PASSWORD

Asegúrese de ingresar la información correcta del servidor SMTP.

Reinicie el servicio Gitea para que los cambios surtan efecto:

sudo systemctl restart gitea

Para verificar la configuración y enviar un correo electrónico de prueba, inicie sesión en Gitea y vaya a: Site Administration > Configuration > SMTP Mailer Configuration.

Gitea también te permite conectarte a Slack creando un webhook y enviando notificaciones a tus canales de Slack.

Actualizar Gitea

Para actualizar a la última versión de Gitea, simplemente descargue y reemplace el archivo binario.

Detenga el servicio de Gitea:

sudo systemctl stop gitea

Descargue la última versión de Gitea y muévala al /home/git:

VERSION=<THE_LATEST_GITEA_VERSION>
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin

Haciendo ejecutable binario:

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

Inicie el servicio Gitea:

sudo systemctl restart gitea

Eso es todo.

Conclusión

Este tutorial lo guió a través de la instalación de Gitea en Ubuntu 18.04.

Ahora debería visitar la página de documentación de Gitea y aprender cómo configurar su instancia de Gitea y crear su primer proyecto.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.