feat: remplacer les étoiles par les réactions dans le hero article
This commit is contained in:
@@ -0,0 +1,221 @@
|
||||
Voici un guide pas à pas pour installer Gitea sur Debian 13 avec PostgreSQL comme base de données, et configurer un reverse-proxy (par ex. Traefik ou Nginx) pour servir Gitea.
|
||||
|
||||
---
|
||||
|
||||
## 1. Pré-requis
|
||||
|
||||
* Un serveur Debian 13 à jour.
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
```
|
||||
* Installer Git, et éventuellement d’autres dépendances.
|
||||
|
||||
```bash
|
||||
sudo apt install -y git ca-certificates
|
||||
```
|
||||
* Un nom de domaine `git.abonnel.fr` pointant vers votre serveur (DNS A ou AAAA).
|
||||
* Assurez-vous que le port 80 et/ou 443 sont ouverts sur le serveur (pour le proxy).
|
||||
* Installer PostgreSQL.
|
||||
|
||||
---
|
||||
|
||||
## 2. Installer PostgreSQL et créer base & utilisateur
|
||||
|
||||
1. Installer PostgreSQL (Debian 13 inclut postgresql dans ses dépôts).
|
||||
|
||||
```bash
|
||||
sudo apt install -y postgresql postgresql-contrib
|
||||
```
|
||||
2. Passer à l’utilisateur postgres et créer la base + utilisateur pour Gitea :
|
||||
|
||||
```bash
|
||||
sudo -i -u postgres
|
||||
psql
|
||||
CREATE DATABASE gitea WITH ENCODING 'UTF8' TEMPLATE template0;
|
||||
CREATE USER gitea WITH PASSWORD 'votre_mot_de_passe_sécurisé';
|
||||
GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea;
|
||||
\q
|
||||
exit
|
||||
```
|
||||
|
||||
Ces commandes sont conformes à la documentation Gitea pour PostgreSQL. ([Gitea Documentation][1])
|
||||
3. Vérifier que PostgreSQL fonctionne :
|
||||
|
||||
```bash
|
||||
sudo systemctl status postgresql
|
||||
```
|
||||
4. (Optionnel) Modifier le fichier `pg_hba.conf` si vous voulez autoriser certaines connexions supplémentaires (ex: accès réseau).
|
||||
|
||||
---
|
||||
|
||||
## 3. Installer Gitea
|
||||
|
||||
1. Créer un utilisateur système qui va exécuter Gitea :
|
||||
|
||||
```bash
|
||||
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
|
||||
```
|
||||
|
||||
([Gitea Documentation][2])
|
||||
2. Créer les dossiers de travail :
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
([Gitea Documentation][3])
|
||||
3. Télécharger le binaire Gitea :
|
||||
|
||||
```bash
|
||||
wget -O gitea https://dl.gitea.com/gitea/1.24.7/gitea-1.24.7-linux-amd64
|
||||
chmod +x gitea
|
||||
sudo mv gitea /usr/local/bin/gitea
|
||||
```
|
||||
|
||||
(Vérifiez la version la plus récente sur le site officiel) ([Gitea Documentation][2])
|
||||
4. Créer un fichier de service systemd pour Gitea. Exemple minimal (`/etc/systemd/system/gitea.service`) :
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Gitea (Git with a cup of tea)
|
||||
After=network.target postgresql.service
|
||||
|
||||
[Service]
|
||||
User=git
|
||||
Group=git
|
||||
WorkingDirectory=/var/lib/gitea/
|
||||
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
|
||||
Restart=always
|
||||
Environment=USER=git HOME=/var/lib/gitea GITEA_WORK_DIR=/var/lib/gitea
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Ensuite :
|
||||
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now gitea
|
||||
sudo systemctl status gitea
|
||||
```
|
||||
|
||||
([Gitea Documentation][4])
|
||||
|
||||
---
|
||||
|
||||
## 4. Configuration via l’interface web
|
||||
|
||||
* Ouvrez [http://votre-serveur:3000](http://votre-serveur:3000) (ou le port que Gitea utilise) dans un navigateur.
|
||||
* Dans l’assistant d’installation, choisissez *PostgreSQL* comme type de base de données. Entrez :
|
||||
|
||||
* Host : `localhost:5432` (ou l’IP/port selon)
|
||||
* Database : `gitea`
|
||||
* Username : `gitea`
|
||||
* Password : celui que vous avez défini
|
||||
* Dans le champ "Base URL", indiquez `https://git.abonnel.fr/` (ou http selon votre setup).
|
||||
* Complétez le reste (admin account, etc.).
|
||||
([James R. S. Kemp Git][5])
|
||||
|
||||
---
|
||||
|
||||
## 5. Configurer reverse-proxy pour `git.abonnel.fr`
|
||||
|
||||
Si vous utilisez Nginx ou Traefik (ou un autre proxy) vous devez rediriger le domaine vers Gitea.
|
||||
|
||||
### Exemple avec Nginx :
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name git.abonnel.fr;
|
||||
|
||||
# redirection vers HTTPS (si certbot/Let’s Encrypt)
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name git.abonnel.fr;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/git.abonnel.fr/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/git.abonnel.fr/privkey.pem;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Cet exemple est inspiré des tutos d’installation Gitea + Nginx. ([James R. S. Kemp Git][5])
|
||||
Si vous utilisez un autre proxy (ex: Traefik ou « zoraxyproxy »), adaptez la configuration pour qu’il fasse passer `git.abonnel.fr` vers `localhost:3000` et gère SSL.
|
||||
|
||||
### Activer HTTPS
|
||||
|
||||
* Installez `certbot` ou utilisez votre gestionnaire de certificats.
|
||||
|
||||
```bash
|
||||
sudo apt install -y certbot python3-certbot-nginx
|
||||
sudo certbot --nginx -d git.abonnel.fr
|
||||
```
|
||||
* Vérifiez que le certificat est actif et que `https://git.abonnel.fr` fonctionne.
|
||||
|
||||
---
|
||||
|
||||
## 6. Configuration finale dans app.ini
|
||||
|
||||
Après installation, vous pouvez ajuster `/etc/gitea/app.ini` (ou via l’interface). Exemples de réglages utiles :
|
||||
|
||||
* Dans `[server]` :
|
||||
|
||||
```
|
||||
ROOT_URL = https://git.abonnel.fr/
|
||||
HTTP_PORT = 3000
|
||||
SSH_PORT = 22 # ou le port SSH que vous utilisez pour Git
|
||||
START_SSH_SERVER = false # si vous n’utilisez pas le serveur SSH interne
|
||||
DOMAIN = git.abonnel.fr
|
||||
```
|
||||
* Dans `[database]` :
|
||||
|
||||
```
|
||||
DB_TYPE = postgres
|
||||
HOST = 127.0.0.1:5432
|
||||
NAME = gitea
|
||||
USER = gitea
|
||||
PASSWD = votre_mot_de_passe
|
||||
SSL_MODE = disable # ou require selon votre config
|
||||
```
|
||||
* Redémarrez Gitea après modification :
|
||||
|
||||
```bash
|
||||
sudo systemctl restart gitea
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. Sécuriser & entretien
|
||||
|
||||
* Assurez-vous que seuls les ports nécessaires sont exposés (ex: 80/443 via proxy, 3000 en local si non exposé).
|
||||
* Faites des sauvegardes régulières : base PostgreSQL + dossier `/var/lib/gitea/data` (ou vos dépôts).
|
||||
* Vérifiez les logs de Gitea (souvent dans `/var/lib/gitea/log/`).
|
||||
* Gardez Gitea et PostgreSQL à jour.
|
||||
* Si vous utilisez SSH pour les repos Git, configurez correctement les clés SSH utilisateur et vérifiez que l’utilisateur `git` a bien les permissions.
|
||||
|
||||
---
|
||||
|
||||
|
||||
[1]: https://docs.gitea.com/enterprise/installation/linux?utm_source=chatgpt.com "Install on Linux | Gitea Enterprise Documentations"
|
||||
[2]: https://docs.gitea.com/installation/install-from-binary?utm_source=chatgpt.com "Installation from binary | Gitea Documentation"
|
||||
[3]: https://docs.gitea.com/1.18/installation/install-from-binary?utm_source=chatgpt.com "Installation from binary | Gitea Documentation"
|
||||
[4]: https://docs.gitea.com/1.20/category/installation?utm_source=chatgpt.com "Installation | Gitea Documentation"
|
||||
[5]: https://git.jamesrskemp.com/hosting/gitea.html?utm_source=chatgpt.com "Gitea - Git Commands by James Skemp"
|
||||
Reference in New Issue
Block a user