GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Gitea en Ubuntu 20.04

Gitea es un servidor git autohospedado rápido y fácil de usar escrito en Go. 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 a Gitlab con una huella de memoria mucho más pequeña y no necesita todas las campanas y silbatos que ofrece Gitlab, entonces debería probar Gitea.

Este artículo explica cómo instalar y configurar Gitea en Ubuntu 20.04.

Requisitos previos #

Gitea es compatible con backends de bases de datos SQLite, PostgreSQL y MySQL/MariaDBas.

SQLite solo se recomienda para instalaciones pequeñas. Las instalaciones más grandes deben usar MySQL o PostgreSQL.

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

sudo apt updatesudo apt install sqlite3

Instalando Gitea #

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

Instalar Git #

El primer paso es instalar Giton en tu servidor:

sudo apt updatesudo apt install git

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

git --version
git version 2.25.1

Crea un número de usuario de Git

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

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

El comando anterior crea un nuevo usuario y grupo llamado git y establezca el directorio de inicio en /home/git . La salida se verá como a continuación:

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

Descargar Gitea binario #

Dirígete a la página de descargas de Gitea y descarga el último binario para tu arquitectura. Al momento de escribir, la última versión es 1.10.2. Si hay una nueva versión disponible, cambie la VERSION variable en el siguiente comando.

Usa wget para descargar el binario de Gitea en el /tmp directorio:

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

Puedes ejecutar el gitea binario desde cualquier ubicación. Seguiremos la convención y moveremos el binario a /usr/local/bin directorio:

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

Hacer el ejecutable binario:

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

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

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

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

Los permisos del /etc/gitea directorio están establecidos 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.

Crear un archivo de unidad Systemd #

Ejecutaremos Gitea como un servicio systemd.

Descargue el archivo de unidad systemd de muestra en /etc/systemd/system directorio escribiendo:

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

No necesita editar el archivo, está configurado para coincidir con nuestra configuración.

Habilitar e iniciar el servicio de Gitea:

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Verifica que Gitea se esté ejecutando:

sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
   Main PID: 77781 (gitea)
      Tasks: 6 (limit: 470)
     Memory: 130.6M
     CGroup: /system.slice/gitea.service
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Configurar Gitea #

Ahora que Gitea está descargado y ejecutándose, podemos 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://YOUR_DOMAIN_IR_IP:3000 y aparecerá una pantalla similar a la siguiente:

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 valor predeterminado var/lib/gitea/data/gitea-repositories .
  • Ruta raíz de Git LFS:deje el valor predeterminado /var/lib/gitea/data/lfs .
  • Ejecutar como nombre de usuario:git
  • Dominio del servidor SSH:Ingrese su dominio o dirección IP del servidor.
  • Puerto SSH:22, cámbielo si SSH está escuchando en otro puerto
  • Puerto de escucha HTTP de Gitea:3000
  • URL base de Gitea:use http y su dominio o dirección IP del servidor.
  • Ruta de registro:deje el /var/lib/gitea/log predeterminado
Puede cambiar la configuración en cualquier momento editando el archivo de configuración de Gitea.

Para comenzar la instalación, presione el botón "Instalar Gitea".

La instalación es instantánea. Una vez completado, será redirigido a la página de inicio de sesión.

Haga clic en el enlace "¿Necesita una cuenta? Regístrate ahora." Enlace. El primer usuario registrado se agrega automáticamente al grupo de administradores.

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

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

Eso es todo. Gitea ha sido instalado en su máquina Ubuntu.

Configurar Nginx como proxy de terminación SSL #

Este paso es opcional, pero es muy recomendable. La terminación SSL significa que Nginx actuará como un punto intermediario entre la aplicación de Gitea y los clientes web para que pueda acceder a Gitea a través de HTTPS.

Para usar Nginx como proxy inverso, debe tener un dominio o subdominio que apunte a la IP pública de su servidor. En este ejemplo, usaremos git.example.com .

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

  • Cómo instalar Nginx en Ubuntu 20.04
  • Proteja Nginx con Let's Encrypt en Ubuntu 20.04

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
/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 de Gitea y establezca la ruta correcta a 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 hacerlo, abra el archivo de configuración y edite las siguientes líneas:

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

Reinicie el servicio de Gitea escribiendo:

sudo systemctl restart gitea

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

Configuración de notificaciones por correo electrónico #

Si desea que su instancia de Gitea envíe correos electrónicos de notificación, puede instalar Postfix o utilizar algún servicio 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
/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 poner la información correcta del servidor SMTP.

Reinicie el servicio de 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:Administración del sitio> Configuración> Configuración de correo SMTP.

Gitea también le permite conectarse a Slack creando un webhook web y enviar notificaciones a sus canales de Slack.

Actualizando Gitea #

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

  1. Detener el servicio de Gitea:

    sudo systemctl stop gitea
  2. Descarga la última versión de Gitea y muévela a /usr/local/bin directorio:

    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. Hacer el ejecutable binario:

    sudo chmod +x /usr/local/bin/gitea
  4. Reinicie el servicio de Gitea:

    sudo systemctl restart gitea

Eso es todo.


Ubuntu
  1. Cómo instalar Docker en Ubuntu 18.04

  2. Cómo instalar Apache en Ubuntu 18.04

  3. Cómo instalar MariaDB 10.4 en Ubuntu 18.04

  4. Cómo instalar MongoDB en Ubuntu 18.04

  5. Cómo instalar Jenkins en Ubuntu 18.04

Cómo instalar Asterisk en Ubuntu 18.04

Cómo instalar Tomcat 9 en Ubuntu 18.04

Cómo instalar Webmin en Ubuntu 18.04

Cómo instalar Gitea en Ubuntu 18.04

Cómo instalar Gitea en Ubuntu 18.04 LTS

Cómo instalar Gitea en Ubuntu 20.04 LTS