Gitea es un servidor Git ligero y fácil de usar escrito en Go.
Cuenta con las siguientes características principales:
- Editor de archivos de repositorio
- Seguimiento de problemas del proyecto
- Gestión de usuarios
- Notificaciones
- Wiki incorporado
- Huella de memoria pequeña
- Alternativa a Gitlab
Preparación del servidor
Empieza actualizando el repositorio de paquetes de tu sistema con la última versión.
Puedes hacerlo con el siguiente comando:
# apt update && sudo apt upgrade -y
A continuación, deberás instalar el servidor de base de datos MariaDB:
# apt install mariadb-server
Una vez instalado, accede a mysql con el usuario root:
# mysql -u root -p
Tendrás que crear el usuario de la base de datos así como los derechos pertinentes:
MariaDB [(none)]>CREATE DATABASE gitea;
MariaDB [(none)]>GRANT ALL PRIVILEGES ON gitea.* to 'gitea'@'localhost' IDENTIFIED BY 'Contraseña';
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;
Instala Gitea
Primero, tendrás que añadir el usuario git
adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
Desde la página de descarga de Gitea, revisa la última versión a descargar en este caso sería la 1.22
wget https://dl.gitea.com/gitea/1.22/gitea-1.22-linux-amd64
Copia el binario en el directorio correspondiente:
# mv gitea-1.22-linux-amd64 /usr/bin/gitea
# chmod 755 /usr/bin/gitea
Crea los directorios necesarios y pon los permisos pertinentes:
# mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
# chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
# chmod 750 /var/lib/gitea/{data,indexers,log}
# chmod 770 /etc/gitea
Crear el archivo de servicio Systemd para Gitea
A continuación, deberás crear un archivo de servicio systemd para administrar el servicio Gitea. Puedes hacerlo con el siguiente comando:
# nano /etc/systemd/system/gitea.service
Añade las siguientes líneas:
[Unit]
Description=Gitea
After=syslog.target
After=network.target
[Service]
RestartSec=3s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Guarda y cierra el archivo. Después, vuelve a cargar el demonio systemd con el siguiente comando:
# systemctl daemon-reload
A continuación, inicie el servicio Gitea y permita que se inicie en el arranque con el siguiente comando:
# systemctl start gitea
# systemctl enable gitea
Ahora puedes verificar el estado del servicio Gitea con el siguiente comando:
# systemctl status gitea
Si todo va bien, deberías ver el siguiente resultado:
● gitea.service - Gitea
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; preset: enabled)
Active: active (running) since Mon 2024-05-06 14:00:18 CEST; 7s ago
Main PID: 5966 (gitea)
Tasks: 6 (limit: 2276)
Memory: 105.1M (peak: 105.4M)
CPU: 654ms
CGroup: /system.slice/gitea.service
└─5966 /usr/bin/gitea web --config /etc/gitea/app.ini
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:111:showWebStartupMessage() [I] Gitea version: 1.22.0+rc1-39-gb22d7fd8cd built with GNU Make 4.3, go1.22.2 : bindata, sql>
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:112:showWebStartupMessage() [I] * RunMode: prod
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:113:showWebStartupMessage() [I] * AppPath: /usr/bin/gitea
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:114:showWebStartupMessage() [I] * WorkPath: /var/lib/gitea
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:115:showWebStartupMessage() [I] * CustomPath: /var/lib/gitea/custom
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:116:showWebStartupMessage() [I] * ConfigFile: /etc/gitea/app.ini
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:117:showWebStartupMessage() [I] Prepare to run install page
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:304:listen() [I] Listen: http://0.0.0.0:3000
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 cmd/web.go:308:listen() [I] AppURL(ROOT_URL): http://localhost:3000/
May 06 14:00:18 giteagit gitea[5966]: 2024/05/06 14:00:18 ...s/graceful/server.go:50:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3000 on PID: 5966
Accede a Gitea
Gitea ahora está instalado y configurado, es hora de acceder a la interfaz web de Gitea.
Solo queda abrir el puerto en el FW de Clouding:
Abre tu navegador web y escribe la URL http: // your-server-ip: 3000 / install. Serás redirigido al asistente de instalación de Gitea, como se muestra a continuación:
Si quieres utilizar Gitea con un domini personalizado, puedes modificar el aparado de Gitea Base URL con el dominio que quieras utilizar, en nuestro caso dejamos la IP por defecto (también podrás realizar estos cambios después en el fichero /etc/gitea/app.ini modificando domain y root URL):
Si quieres aparte de utilizar tu propio dominio, quieres que se sirva con HTTPS directamente sin ningún puerto concreto puedes realizarlo mediante un proxy con Nginx.
Ahora, proporciona toda la información requerida, como nombre de la base de datos, nombre de usuario de la base de datos, URL de Gitea, nombre de usuario y contraseña de administrador de Gitea. Luego, haz clic en el botón ‘Instalar Gitea’. Una vez que se haya completado la instalación, ya podrás crear una cuenta y empezar a utilizar Gitea:
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites, consúltanos!