Instalar Gitea con CentOS 7, Certbot, Nginx y SQLite

En el siguiente post les enseñaré lo del título instalando Gitea, un servicio Git autogestionado, fork de Gogs. 😀 Asumiré que ya está instalado CentOS. Recuerda reemplazar example.com con tu dominio.

Primero instalaremos los requisitos si no lo están:

sudo yum install epel-release
sudo yum install nginx git sqlite certbot python2-certbot-nginx

Luego activaremos e iniciaremos nginx:

sudo systemctl enable nginx
sudo systemctl start nginx

Usaremos certbot para transformar la conección en HTTPS, siguiendo las instrucciones en inglés.

sudo certbot --nginx -d example.com

(Tendrás que ingresa tu mail, luego a, después 1 si quieres suscribirte a EFF, finalmente 2 para redirigir a HTTPS)

Después modificaremos la configuración del vhost Nginx, suele estar en default.conf.

sudo nano /etc/nginx/conf.d/default.conf

Debe quedar algo así:

server {
    server_name  example.com;
    root /var/www/example.com;
    
#Si se quiere Gitea en el dominio directamente usar esto y no lo del subdirectorio.
    location / {
       proxy_pass http:/localhost:3000
    }

#Si se quiere Gitea en un subdirectorio usar esto y no lo del dominio directo.
     location /git/ {
        proxy_pass http://localhost:3000/;
      }

listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name  example.com;
    return 404; # managed by Certbot

Luego creamos un usuario para instalar Gitea en él.

sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --home-dir /home/git -m git

Iniciamos sesión con ese usuario.

su - git

Creamos un directorio, descargamos Gitea buscando el link aquí y lo ejecutamos.

mkdir gitea
cd gitea
wget -O gitea https://dl.gitea.io/gitea/1.10.0/gitea-1.10.0-linux-amd64
chmod +x gitea
./gitea web -c custom/conf/app.ini

Vamos al navegador a http://example.com:3000/install, rellenamos con lo siguiente e instalamos (https://example.com/git es la otra opción en URL base si queremos subdirectorio):

Luego de instalar, paramos gitea con Ctrl+C, y cerramos sesión del usuario git con Ctrl+D y crearemos el servicio para su ejecución:

sudo nano /etc/systemd/system/gitea.service

Pegamos esto:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gitea/
ExecStart=/home/git/gitea/gitea web -c /home/git/gitea/custom/conf/app.ini
Restart=always
Environment=USER=git HOME=/home/git
[Install]
WantedBy=multi-user.target

Iniciamos y habilitamos el servicio:

sudo systemctl enable gitea
sudo systemctl start gitea

Finalmente revisamos si está activo:

sudo systemctl status gitea

Y revisamos el link en el navegador. ¡Y ya está! Sólo queda registrarte como primer usuario.

Espero que esta guía haya sido de ayuda.

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *