Introducción
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 bajo consumo. Si está buscando una alternativa de Gitlab con una huella de memoria mucho más pequeña y no necesita todas las funciones que ofrece Gitlab , debería probar Gitea.
Este artículo explica cómo instalar y configurar Gitea en Ubuntu 20.04 LTS Focal Fossa
Prerrequisitos
Gitea admite SQLite, PostgreSQL y MySQL / MariaDB como backend de base de datos.
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 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 binario.
Ir Instalar
El primer paso es instalar Git en su servidor:
sudo apt update
sudo apt install git
Verifique la instalación viendo la versión de Git:
git --version
git version 2.25.1
Crea un 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 con nombre git
y establece el directorio de inicio en /home/git
. La salida se verá así:
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' ...
Descarga el archivo binario de Gitea
Vaya a la página de descarga de Gitea y descargue el binario más reciente para su arquitectura. En el momento de redactar este informe, la última versión es la 1.10.2. Si hay una nueva versión disponible, cambie la variable VERSION
en el siguiente comando.
Utilice wget
para descargar el binario de Gitea al directorio /tmp
:
VERSION=1.14.1
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
Puede ejecutar la pista gitea
desde cualquier posición. Seguiremos la convención y trasladaremos el binario al directorio /usr/local/bin
:
sudo mv /tmp/gitea /usr/local/bin
Haga que el binario sea ejecutable:
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,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
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 de directorio /etc/gitea
se establecen 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
Ejecutaremos Gitea como un servicio de sistema.
Descargue el archivo de unidad systemd de muestra en el directorio escribiendo /etc/systemd/system
:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
No es necesario modificar el archivo, está configurado para que coincida con nuestra configuración.
Habilite e inicie el servicio Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Verifique 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 se ha descargado y se está ejecutando, podemos finalizar la instalación a través de la interfaz web.
De forma predeterminada, 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: usa 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: 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 de URL: use http y el dominio de su servidor o dirección IP.
- Ruta de registro: deje el valor predeterminado
/var/lib/gitea/log
Puede cambiar la configuración en cualquier momento editando el archivo de configuración de Gitea.
Para iniciar 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ístrese ahora". . El primer usuario registrado se agrega automáticamente al grupo Admin.
Cambie los permisos del archivo de configuración de solo lectura Gitea usando:
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Eso es todo. Gitea se instaló en su máquina Ubuntu.
Configurar Nginx como un proxy de terminación SSL
Este paso es opcional, pero muy recomendable. La terminación SSL significa que Nginx actuará como un punto intermedio entre la aplicación 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 SSL Let's Encrypt gratuito utilizando las siguientes guías:
Una vez hecho esto, abra su editor de texto y edite el archivo de dominio y configure el bloque del servidor nginx :
sudo nano /etc/nginx/sites-enabled/git.example.com
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
Reinicie el servicio Gitea escribiendo:
sudo systemctl restart gitea
En este punto, el proxy de Gitea está configurado y puedes acceder a él desde: https://git.example.com
Configurar 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 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
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: Administración del sitio> Configuración> Configuración de correo SMTP.
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 directorio /usr/local/bin
:
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
Haga que el binario sea ejecutable:
sudo chmod +x /usr/local/bin/gitea
Reinicie 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 20.04 LTS Focal Fossa. Para obtener más información sobre cómo configurar su instancia de Gitea y crear su primer proyecto, visite la página de documentación de Gitea .