Cómo instalar Gitea en CentOS 8

1 mar 2021 6 min di lettura
Cómo instalar Gitea en CentOS 8
Indice dei contenuti

Introducción

Gitea es un servidor git de código abierto autohospedado escrito en Go. Viene con 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 menos potentes. Si está buscando una alternativa de Gitlab con un uso de memoria mucho menor, debe probar Gitea.

Este artículo muestra cómo instalar y configurar Gitea en CentOS 8.

Si desea instalar Gitea en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando 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. Es una base de datos liviana que almacena datos dentro de un solo archivo. Si SQLite no está instalado en su máquina CentOS, puede instalarlo ejecutando el siguiente comando como usuario sudo:

sudo dnf install sqlite

Supongamos que SELinux está deshabilitado o configurado en modo permisivo.

Instalamos otras herramientas que usaremos para completar este tutorial. Wget para descargar archivos del terminal y el editor de texto nano para crear y editar archivos desde el terminal:

sudo dnf install wget nano

Instalar Gitea

Gitea se puede instalar desde código fuente, binario y como paquete. También se puede implementar como una imagen de Docker. Instalaremos Gitea usando thr binary.

Instalar Git

El primer paso es instalar Git en su CentOS:

sudo dnf install git

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

git --version
git version 2.18.4

Crea un usuario de Git

Cree un nuevo usuario del sistema para ejecutar la aplicación Gitea:

sudo useradd \
 --system \
 --shell /bin/bash \
 --comment 'Git Version Control' \
 --create-home \
 --home /home/git \
 git

El comando creará un nuevo usuario y grupo llamado git y establecerá el directorio de inicio en /home/git.

Descarga el archivo binario de Gitea

El último binario de Gitea se puede descargar desde la página de descarga de Gitea. Asegúrese de descargar el binario correcto para su arquitectura.

En el momento de escribir este tutorial, la última versión es la 1.12.3. Si hay una nueva versión disponible, cambie la VERSION en el siguiente comando.

Utilice wget para descargar el binario Gitea al directorio /tmp

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

Puede ejecutar la pista desde cualquier posición. Seguiremos la convención y trasladaremos el binario al /usr/local/bin:

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

Haga que el binario sea ejecutable:

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

Los siguientes comandos crearán los directorios necesarios y establecerán 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 con los permisos 770 para que el asistente de instalación pueda crear los archivos 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 configurado para que coincida 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/

Cuando termine, 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
● gitea.service - Gitea (Git with a cup of tea)
 Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: disabled)
 Active: active (running) since Fri 2020-08-28 18:39:34 CEST; 3s ago
 Main PID: 4889 (gitea)
 Tasks: 7 (limit: 12210)
 Memory: 150.3M
 CGroup: /system.slice/gitea.service
 └─4889 /usr/local/bin/gitea web --config /etc/gitea/app.ini

Configurar Gitea

Ahora que Gitea está en funcionamiento, es hora de 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. Deberá configurar su firewall para permitir el acceso a la interfaz web de Gitea:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload

Abra el navegador, conectado a la dirección IP de su servidor o al nombre de su dominio: http://TUO_DOMINIO_O_IP:3000/install. Aparecerá la página de configuración inicial.

Configurar e instalar Gitea

Complete los campos obligatorios de la siguiente manera:

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: /home/git/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 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

Más tarde, puede cambiar la configuración editando el archivo de configuración de Gitea.

Una vez hecho esto, pulsa el botón "Instalar Gitea". La instalación es instantánea. Al final, 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.

Para que la instalación sea más segura, 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 máquina CentOS.

Configure Nginx como proxy inverso y configure 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, usaremos example.com.

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

Cuando termine, abra su editor de texto y edite el archivo de bloqueo del servidor de dominio:

sudo nano /etc/nginx/conf.d/example.com.conf
server {
 listen 80;
 server_name example.com;

 return 301 https://example.com$request_uri;
 }

 server {
 listen 443 ssl http2;
 server_name 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/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;


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

 # Handle /requests
 location /{
 proxy_redirect off;
 proxy_pass http://127.0.0.1:3000;
 }
 }
/etc/nginx/conf.d/example.com.conf

No olvide reemplazar 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.

Cuando termine, 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 = example.com
 ROOT_URL = https://example.com/
/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://example.com

Configurar notificaciones por correo electrónico

Para enviar correos electrónicos de notificación, puede instalar Postfix o utilizar un 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
[mailer]
 ENABLED = true
 HOST = SMTP_SERVER:SMTP_PORT
 FROM = SENDER_EMAIL
 USER = SMTP_USER
 PASSWD = YOUR_SMTP_PASSWORD
/etc/gitea/app.ini

Asegúrese de que está utilizando la información correcta del servidor SMTP.

Siempre que edite el app.ini, debe reiniciar 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, haga clic en el avatar de perfil en la parte superior derecha, se abrirá un menú. Haga clic en 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

Actualizar a la última versión de Gitea es una operación simple. Solo necesita descargar y reemplazar el archivo binario.

Detenga el servicio de Gitea:

sudo systemctl stop gitea

Descargue el último binario de Gitea y muévalo al /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

Conclusión

Hemos visto cómo instalar y configurar Gitea en CentOS 8. Le recomendamos que visite la página de documentación de Gitea y aprenda cómo configurar su instalación y crear su primer proyecto.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

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.