Installation Gitea
Documentation d'installation du service Gitea sur Debian 13
Guide d'installation et de configuration de Gitea avec Apache2 et MariaDB
Informations Generales
- IP : 10.193.127.12
- ID : 17341
- Administrateur : Root / Mathys : Not24get
- Port SSH : 22000
Prerequis
Avant de commencer, assurez-vous d'avoir :
- Une machine virtuelle avec Debian installée.
- Les droits d'administration (root).
- Une connexion Internet fonctionnelle.
- Des connaissances de base en administration Linux.
Sommaire
-
Partitionnement des disques et configuration LVM
1.1 Partitionnement de base
1.2 Configuration LVM
-
Creation du volume logique pour Gitea
2.1 Verification de l'espace disponible
2.2 Creation du volume logique
2.3 Formatage et montage
2.4 Configuration du montage automatique
-
Installation et configuration de MariaDB
3.1 Installation du serveur
3.2 Securisation basique
3.3 Creation de la base de données
-
Installation et configuration de Gitea
4.1 Preparation des utilisateurs et repertoires
4.2 Installation du binaire
4.3 Configuration de base
4.4 Configuration du service systemd
-
Configuration d'Apache comme reverse proxy
5.1 Installation d'Apache et des modules
5.2 Configuration du certificat SSL
5.3 Configuration du vhost
-
Finalisation et tests
6.1 Verification des permissions
6.2 Activation des services
6.3 Tests de fonctionnement
1. Partitionnement des disques et configuration LVM
1.1 Partitionnement de base
Lors de l'installation de Debian, configurez les partitions comme suit :
- Selection du disque.
- Creation d'une partition primaire de 2 Mo au debut de l'espace (Methode : ne pas utiliser).
- Creation d'une partition de 512 Mo en FAT32 (Methode : ne pas utiliser).
- Creation d'une partition de 512 Mo en ext4 (Point de montage : /boot).
- Creation d'une derniere partition sur tout l'espace restant (Methode : Volume physique pour LVM).
1.2 Configuration LVM
Activez le gestionnaire de volumes logiques et créez un groupe de volumes nommé vg00 sur la partition LVM (/dev/sda4). Créez ensuite les volumes logiques selon ce tableau :
| Point de montage | Taille | Volume Logique | Étiquette | FS |
|---|---|---|---|---|
| /boot | 512 MB | - | BOOT | EXT4 |
| / | 4 Gb | lv_root | ROOT | EXT4 |
| /var | 3 Gb | lv_var | VAR | EXT4 |
| /var/log | 2 Gb | lv_var_log | VARLOG | EXT4 |
| /tmp | 1 Gb | lv_tmp | TMP | EXT4 |
| /usr | 3 Gb | lv_usr | USR | EXT4 |
| /home | 2 Gb | lv_home | HOME | EXT4 |
| /srv | 2 Gb | lv_srv | SRV | EXT4 |
| /opt | 2 Gb | lv_opt | OPT | EXT4 |
| /var/www | 1 Gb | lv_var_www | VARWWW | EXT4 |
| swap | 512 Mb | lv_swap | SWAP | swap |
Terminez l'installation en installant GRUB sur /dev/sda.
2. Creation du volume logique pour Gitea
2.1 Verification de l'espace disponible
vgs lvs vgdisplay vg00 | grep -E 'VG Name|Free'
2.2 Creation du volume logique
lvcreate -L 512M -n lv_var_lib_gitea vg00
2.3 Formatage et montage
mkfs.ext4 /dev/vg00/lv_var_lib_gitea mkdir -p /var/lib/gitea
2.4 Configuration du montage automatique
Recuperez l'UUID avec blkid /dev/vg00/lv_var_lib_gitea et ajoutez-le dans /etc/fstab :
UUID=<UUID_RELEVE> /var/lib/gitea ext4 defaults,nodev,nosuid 0 2
Appliquez le montage :
mount -a
3. Installation et configuration de MariaDB
3.1 Installation du serveur
apt update && apt install -y mariadb-server systemctl enable --now mariadb
3.2 Securisation basique
mysql_secure_installation
3.3 Creation de la base de données
Connectez-vous à MariaDB : mysql -u root -p
CREATE DATABASE giteaDB; CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'Not24get'; GRANT ALL PRIVILEGES ON giteaDB.* TO 'gitea'@'localhost'; FLUSH PRIVILEGES;
4. Installation et configuration de Gitea
4.1 Preparation des utilisateurs et repertoires
groupadd -f giteausers useradd -r -m -d /var/lib/gitea -s /usr/sbin/nologin -g giteausers gitea mkdir -p /etc/gitea /var/lib/gitea/{custom,data,log} chown -R gitea:giteausers /var/lib/gitea /etc/gitea chmod 750 /var/lib/gitea /etc/gitea
4.2 Installation du binaire
wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/1.24.5/gitea-1.24.5-linux-amd64 chmod +x /usr/local/bin/gitea
4.3 Configuration de base
Creez /etc/gitea/app.ini :
APP_NAME = Gitea
RUN_MODE = prod
RUN_USER = gitea
[database]
DB_TYPE = mysql
HOST = 127.0.0.1:3306
NAME = giteaDB
USER = gitea
PASSWD = Not24get
[server]
PROTOCOL = http
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000
DOMAIN = gitea.umpt.local
ROOT_URL = https://gitea.umpt.local/`
4.4 Configuration du service systemd
Creez /etc/systemd/system/gitea.service :
[Unit]
Description=Gitea
After=network.target mariadb.service
Requires=mariadb.service
[Service]
User=gitea
Group=giteausers
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
[Install]
WantedBy=multi-user.target`
systemctl daemon-reload systemctl enable --now gitea
5. Configuration d'Apache comme reverse proxy
5.1 Installation d'Apache et des modules
apt install -y apache2 a2enmod proxy proxy_http ssl headers rewrite
5.2 Configuration du certificat SSL
Utilisation du certificat snakeoil par defaut :
- /etc/ssl/certs/ssl-cert-snakeoil.pem
- /etc/ssl/private/ssl-cert-snakeoil.key
5.3 Configuration du vhost
Creez /etc/apache2/sites-available/gitea-ssl.conf :
<VirtualHost *:443>
ServerName gitea.umpt.local
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Ssl "on"
ProxyPreserveHost On
ProxyPass / [http://127.0.0.1:3000/](http://127.0.0.1:3000/)
ProxyPassReverse / [http://127.0.0.1:3000/](http://127.0.0.1:3000/)
</VirtualHost>
a2ensite gitea-ssl.conf systemctl reload apache2
6. Finalisation et tests
6.1 Verification des permissions
chown -R gitea:giteausers /var/lib/gitea /etc/gitea chmod 750 /var/lib/gitea /etc/gitea
6.2 Activation des services
systemctl enable mariadb apache2 gitea
6.3 Tests de fonctionnement
ss -lntp | grep 3000 ss -lntp | grep ':443 '
Accedez à https://gitea.umpt.local/ pour finaliser via l'interface web, puis :
systemctl restart gitea