Tout d'abord dans ce guide nous allons considérer que vous avez déjà un serveur LEMP fonctionnel et que vous avez déjà crée un utilisateur et une base de donnée pour Gitea.

Préparation de l’environnement de Gitea

Création de l'utilisateur Git

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   gitea

Création des dossiers nécessaire pour Gitea.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: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

Installation de Gitea

Téléchargement & installation de Gitea.

cd /usr/local/bin
wget -O gitea https://dl.gitea.io/gitea/1.12.3/gitea-1.12.3-linux-amd64
chmod +x gitea

Création du Service Systemd

sudo nano /etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysql.service

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
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

Lancement du Service Gitea

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Configuration d'Nginx

sudo nano /etc/nginx/sites-available/gitea
server {
    listen 80 gitea.domaine.org;
    listen [::]:80 gitea.domaine.org;
    
    root /var/lib/gitea/public;

    location / {
      proxy_pass       http://127.0.0.1:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Activation de la configuration de Gitea sur Nginx.

sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled
sudo systemctl reload nginx

L'installation est terminée il faut maintenant le configurer depuis son interface web.

http://gitea.domaine.org/install