GITEA
Documentation GITEA
Eythan RONCIER-LEMEE | 15/09/2025 BTS SIO SISR | IIA Laval | TP-GITEA.pdf
1. Notions
1.1. Debian
Système d'exploitation basé sur Linux, réputé pour sa stabilité et sa fiabilité. Il utilise la gestion de paquets APT et le format .deb.
1.2. Gitea
Service Git auto-hébergé, léger et performant, écrit en Go. Fournit une interface web similaire à GitHub avec gestion des tickets et pull requests.
1.3. Apache
Serveur web open source utilisé pour traiter les requêtes HTTP/HTTPS. Utilisé ici comme reverse proxy.
1.4. SSH (Secure Shell)
Protocole de communication sécurisé et chiffré pour l'administration à distance.
1.5. LVM (Logical Volume Manager)
Couche d'abstraction entre disques physiques et systèmes de fichiers, permettant le redimensionnement flexible des volumes logiques.
1.6. FHS (Filesystem Hierarchy Standard)
Norme définissant l'organisation des répertoires sur Linux (ex: /etc pour les confs, /var pour les données).
2. Installation de Debian
2.1. Réseaux
En l'absence de DHCP, configuration manuelle des paramètres :
-
Adresse IP, Masque, Passerelle et DNS.
-
Fichier de configuration :
/etc/network/interfaces.
2.2. Nom de machine et Utilisateurs
-
Modification du hostname dans
/etc/hostnameet/etc/hosts. -
Création de l'utilisateur root et d'un utilisateur standard.
-
Utilisation de
adduseretusermod -aG sudopour les droits d'administration.
2.3. Partitionnement LVM manuel
Structure type mise en place :
-
sda1 : BIOS GRUB (2 Mo)
-
sda2 : BIOS UEFI (512 Mo)
-
sda3 : /boot (512 Mo - EXT4)
-
sda4 : Volume physique LVM (27,4 Go)
Volumes logiques (vg00) :
-
lv_root(4 Go),lv_var(3 Go),lv_var_log(2 Go),lv_tmp(1 Go),lv_home(2 Go),lv_swap(512 Mo).
3. SSH
3.1. Installation et activation
apt update && apt install ssh
systemctl enable ssh
systemctl status ssh
3.2. Sécurisation par clés
-
Génération d'une paire de clés (ex: PuTTYgen).
-
Création du dossier
~/.ssh(chmod 700). -
Ajout de la clé publique dans
~/.ssh/authorized_keys(chmod 600). -
Désactivation de l'authentification par mot de passe dans
/etc/ssh/sshd_config:PasswordAuthentication no.
4. MariaDB
4.1. Installation et Sécurisation
apt install mariadb-server
mariadb-secure-installation
4.2. Base de données pour Gitea
CREATE DATABASE giteaDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';
GRANT ALL PRIVILEGES ON giteaDB.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
5. Gitea
5.1. Compte de service
Création d'un utilisateur système dédié :
groupadd giteausers
adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /var/lib/gitea gitea
5.2. Installation du binaire
cd /usr/local/bin
wget -O gitea [https://dl.gitea.com/gitea/1.24.5/gitea-1.24.5-linux-amd64](https://dl.gitea.com/gitea/1.24.5/gitea-1.24.5-linux-amd64)
chmod +x gitea
5.3. Service Systemd
Configuration du fichier /etc/systemd/system/gitea.service pour automatiser le lancement avec l'utilisateur gitea.
systemctl enable gitea
systemctl start gitea
6. Reverse Proxy - Apache
6.1. Modules et Virtual Host
Activation des modules proxy : a2enmod proxy proxy_http ssl.
Configuration du fichier /etc/apache2/sites-available/gitea.conf :
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
AllowEncodedSlashes NoDecode
ProxyPass / http://localhost:3000/ nocanon
</VirtualHost>
6.2. Mise en ligne
a2ensite gitea.conf
apache2ctl configtest
systemctl restart apache2