Gitea es una solución gratuita, de código abierto y autohospedada para servidores Git. Gitea ha escrito en el lenguaje de programación Go, una aplicación liviana, disponible como paquete binario que se puede instalar en la mayoría de las plataformas, incluidas Windows, Linux y macOS. Es una de las alternativas robustas, escalables, rápidas y fáciles de usar a GitLab.
Gitea ofrece muchas funciones, incluido un editor de archivos de repositorio, seguimiento de errores y tiempo, bifurcación de repositorios, bloqueo de archivos, en wiki, fusión, compatibilidad con varias bases de datos, proceso de actualización fácil, registro de contenedor incorporado y mucho más.
En este tutorial, le mostraré cómo instalar Gitea desde binario con PostgreSQL en Debian 11 .
Requisitos
- Un servidor que ejecuta Debian 11.
- Se configura una contraseña raíz en el servidor.
Paso 1:actualizar el sistema operativo
Antes de iniciar la instalación de Gitea, ejecute el siguiente comando para actualizar su sistema con la última versión.
sudo apt-get update -y
sudo apt-get upgrade -y
Paso 2:instalar y configurar PostgreSQL
Gitea es compatible con todas las principales bases de datos como MySQL, MariaDB, SQLite, MySQL y PostgreSQL, pero en esta guía, se utiliza PostgreSQL como base de datos de Gitea.
Primero, cree un repositorio de PostgreSQL con el siguiente comando:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
A continuación, deberá importar la clave de firma del repositorio:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Ahora, instale PostgreSQL usando los siguientes comandos:
sudo apt-get update
sudo apt-get -y install postgresql
A continuación, inicie el servicio PostgreSQL, habilítelo al iniciar el sistema y verifique el estado del servicio PostgreSQL con el siguiente comando:
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql
A continuación, debe cambiar a 'SCRAM-SHA-256' esquema del esquema de cifrado md5 para una mejor seguridad. Si desea conectarse a PostgreSQL de forma remota, debe permitir su dirección IP en el archivo de configuración de PostgreSQL. Abra el archivo de configuración para realizar cambios con el siguiente comando:
sudo vim /etc/postgresql/14/main/postgresql.conf
Si tiene instalada otra versión de PostgreSQL, cambie la ruta de comando anterior de acuerdo con ella.
A continuación, cambie las siguientes variables según sus requisitos:
listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256
Guarde y salga del archivo y reinicie el servicio PostgreSQL para aplicar los cambios.
sudo systemctl restart postgresql
A continuación, inicie sesión en el shell de PostgreSQL con el siguiente comando:
sudo -u postgres psql
Luego cree un rol de usuario y una base de datos para Gitea ejecutando el siguiente comando:
postgres=# CREATE ROLE gitea WITH LOGIN PASSWORD '[email protected]';
postgres=# CREATE DATABASE giteadb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE giteadb TO gitea;
postgres=# exit
Aquí, debe configurar el nombre de usuario, el nombre de la base de datos y su contraseña para Gitea.
En este punto, su configuración de PostgreSQL está lista para Gitea, verifique la configuración de autenticación en el archivo /etc/postgresql/14/main/pg_hba.conf.
PostgreSQL acepta todas las conexiones locales de manera predeterminada.
host all all 127.0.0.1/32 scram-sha-256
Si desea utilizar giteadb de forma remota, agregue la siguiente línea con su dirección IP en /etc/postgresql/14/main/pg_hba.conf
host giteadb gitea 134.122.38.0/32 scram-sha-256
Paso 3:instalar y configurar Git
Luego, instala git usando el siguiente comando:
sudo apt install git
Verifique la instalación de git comprobando la versión de Git:
git --version
Salida:-
git version 2.30.2
A continuación, debe configurar su nombre y dirección de correo electrónico para Git.
git config --global user.name "Your Name"
git config --global user.email "[email protected]”
Puede verificar su configuración de Git usando el siguiente comando.
git config --list
Salida:-
user.name=Your Name
[email protected]
Paso 4:crea un usuario de git para Gitea
Ahora, deberás crear un usuario de Gitea. Puedes hacer esto con el siguiente comando:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Esto creará un nuevo usuario git.
Paso 5:instalar y configurar Gitea
Vaya a la página de descarga de Gitea y descargue la última versión disponible del binario de Gitea. Al momento de escribir este tutorial, la última versión de Gitea es la 1.15.7. Puede cambiar la variable VERSIÓN en el siguiente comando para instalar cualquier otra versión.
cd /tmp
GITEAVERSION=1.15.7
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
A continuación, mueva el binario de Gitea a la ruta del sistema con el siguiente comando:
sudo mv /tmp/gitea /usr/local/bin
A continuación, configure el permiso ejecutable para el archivo binario de Gitea ejecutando el siguiente comando en la terminal:
chmod +x /usr/local/bin/gitea
A continuación, deberá crear una estructura de directorios para Gitea, para hacerlo, ejecute los siguientes comandos:
sudo mkdir -p /etc/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
A continuación, otorgue los permisos necesarios para que Gitea funcione correctamente con los siguientes comandos:
sudo chown -R git:git /var/lib/gitea/
sudo chown root:git /etc/gitea
sudo chmod -R 750 /var/lib/gitea/
sudo chmod 770 /etc/gitea
A continuación, cree un archivo de servicio systemd para Gitea con el siguiente comando:
vim /etc/systemd/system/gitea.service
Pegue el siguiente código en él.
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=postgresql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Guardar y salir del archivo. Luego, vuelva a cargar el demonio systemd e inicie el servicio Gitea usando el siguiente comando:
sudo systemctl daemon-reload
sudo systemctl start gitea
A continuación, debe habilitar el servicio Gitea al reiniciar el sistema:
sudo systemctl enable gitea
A continuación, verifica el estado de Gitea con el siguiente comando:
sudo systemctl status gitea
Debería ver el siguiente resultado:
Como puede ver, Gitea se inicia y se ejecuta en el puerto 3000 de forma predeterminada. Puede verificar el puerto de Gitea con el siguiente comando:
netstat -tulpan | grep 3000
Debería ver un resultado como el siguiente:
tcp6 0 0 :::3000 :::* LISTEN 43778/gitea
Paso 6:acceda a la interfaz web de Gitea
Gitea ahora está activo y escuchando en el puerto 3000 de forma predeterminada. Abra su navegador y escriba https://YOURIPADDRESS:3000.
A continuación, complete los parámetros requeridos de la siguiente manera:
Configuración de la base de datos
Tipo de base de datos:PostgreSQL
Host:127.0.0.1:5432
Nombre de usuario:gitea
Contraseña:Ingrese la contraseña que eligió durante la creación del rol de Postgres.
Nombre de la base de datos:giteadb
SSL:Deshabilitar
Configuración general
Título del sitio:Título de su elección.
Ruta raíz del repositorio:/var/lib/gitea/data/repositories
Ruta raíz de Git LFS:/var/lib/gitea/data/lfs
Ejecutar como nombre de usuario:git
Dominio del servidor SSH:su_dominio/IP
Puerto del servidor SSH:22
Publicación de escucha HTTP de Gitea:3000
URL base de Gitea:http:// TUDIRECCIÓNIP:3000
Ruta de registro:/var/lib/gitea/log
En esta etapa, puede configurar su correo electrónico y la configuración del servidor y de terceros, o puede hacerlo más tarde. Sin embargo, debe configurar el Administrador
nombre de usuario para iniciar sesión en Gitea. Por lo tanto, vaya a Configuración opcional e ingrese los detalles de Configuración de cuenta de administrador y cree 'Usuario administrador' para Gitea.
A continuación, haga clic en el botón 'Instalar Gitea'. Una vez que la instalación se haya completado con éxito, será redirigido al panel de control de Gitea que se muestra en la siguiente página:
Ahora, puede explorar Gitea y, desde la opción Administración del sitio desde su cuenta de administrador, puede configurar otros servicios de terceros, como la integración del directorio activo de Windows con Gitea.
Paso 7:Configuración de notificaciones por correo electrónico
Puede habilitar las notificaciones por correo electrónico en Gitea usando Sendmail o a través de un servicio de correo electrónico de terceros como Amazon SES, Sendgrid.
Para habilitar las notificaciones por correo electrónico, abra el archivo de configuración de Gitea usando el siguiente comando:
vim /etc/gitea/app.in
Luego, edite la siguiente sección en el archivo y agregue el siguiente código según su configuración de correo electrónico.
[mailer]
ENABLED = true
FROM = [email protected]
MAILER_TYPE = smtp
HOST = mail.example.com:587
IS_TLS_ENABLED = true
USER = [email protected]
PASSWD = password
Guarde y salga del archivo y reinicie el servicio de Gitea para aplicar los cambios:
sudo systemctl restart gitea
Paso 10:Actualización de Gitea
Actualizar Gitea es un proceso sencillo y solo necesita descargar y reemplazar el binario de Gitea.
Primero, detenga el servicio de Gitea:
sudo systemctl stop gitea
A continuación, descargue e instale el binario de Gitea con el siguiente comando:
cd /tmp
GITEAVERSION=LATESTVERSION
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
sudo mv gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
A continuación, inicie el servicio de Gitea con el siguiente comando:
sudo systemctl start gitea
Ahora, su Gitea está actualizada sin ningún tiempo de inactividad.
Conclusión
¡Felicidades! Ha instalado con éxito el servicio git de Gitea en Debian 11. Ahora puede actualizar fácilmente Gitea y administrar su repositorio git a través de un navegador web. Además, puede preguntarme si tiene alguna pregunta.