Appearance
Gitea
Instalación sobre Ubuntu 20.04
Basándonos en la documentación oficial sobre Gitea, tendríamos que ejecutar los siguientes comandos para la instalación...
bash
sudo apt update -y
sudo apt install sqlite3
sudo apt install git
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/1.16.7/gitea-1.16.7-linux-amd64
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
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
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
sudo systemctl status giteaPor defecto el servicio se inicia en el servicio
3000
En caso de requerir usar UFW (Firewall) se ejecutaría:
bash
sudo ufw allow 3000/tcpLuego se establecen los siguientes privilegios:
bash
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.iniConfigurando Nginx
Se edita archivo de Nginx (ej. /etc/nginx/sites-enabled/git.example.com) con un contenido como lo siguiente:
nginx
server {
listen 80;
server_name git.example.com;
include snippets/letsencrypt.conf;
return 301 https://git.example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name git.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/git.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
include snippets/letsencrypt.conf;
include snippets/ssl.conf;
# log files
access_log /var/log/nginx/git.example.com.access.log;
error_log /var/log/nginx/git.example.com.error.log;
# Handle / requests
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:3000;
}
}bash
sudo systemctl restart nginxLuego se edita el archivo de configuracion de Gitea (sudo nano /etc/gitea/app.ini)
ini
[server]
DOMAIN = git.example.com
ROOT_URL = https://git.example.com/
[mailer]
ENABLED = false
HOST = MY_SMTP_SERVER:SMTP_PORT
FROM = MY_SENDER_EMAIL
USER = MY_SMTP_USER
PASSWD = MY_YOUR_SMTP_PASSWORDbash
sudo systemctl restart gitea