services:forge.chapril.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| services:forge.chapril.org [2026/04/11 17:40] – supprimée - modification externe (Date inconnue) 127.0.0.1 | services:forge.chapril.org [2026/04/11 17:40] (Version actuelle) – ↷ Page déplacée de admin:services:forge.chapril.org à services:forge.chapril.org pitchum | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Service forge.chapril.org ====== | ||
| + | <note tip> | ||
| + | Cette version est adaptée de [[https:// | ||
| + | </ | ||
| + | |||
| + | ===== Introduction ===== | ||
| + | |||
| + | Cette documentation explique comment installer un service, en l’occurrence la forge, sur une nouvelle machine virtuelle de l' | ||
| + | Ce service fait parti d'un ensemble de services du Chapril. | ||
| + | Une partie de sa mise en place est donc similaire aux autres services. | ||
| + | Même si l' | ||
| + | Par exemple, la création d'une machine virtuelle renvoie sur une autre page et n'est pas détaillée ici. | ||
| + | Cette documentation est technique mais se veut accessible avec de bonnes connaissances notamment en ce qui concerne la ligne de commande, elle est suivie d'une documentation concernant l' | ||
| + | |||
| + | Ce service de forge est basé sur Gitea, distribué sous licence MIT. | ||
| + | |||
| + | Les dépôts sont publics ou privés au choix. | ||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | Procédure d' | ||
| + | |||
| + | À noter l' | ||
| + | |||
| + | À noter l' | ||
| + | > Although there is a package of Gitea in Debian’s contrib, it is not supported directly by us. | ||
| + | > Unfortunately, | ||
| + | |||
| + | <note warning> | ||
| + | La documentation est traduite en Français mais pas complètement. | ||
| + | La consultation en version française peut vous faire perdre beaucoup d' | ||
| + | Voir par exemple entre https:// | ||
| + | </ | ||
| + | |||
| + | ==== Déploiement du domaine sur la VM DNS ===== | ||
| + | |||
| + | Suivre la [[admin: | ||
| + | |||
| + | ==== Déploiement du domaine sur la VM Bastion ==== | ||
| + | |||
| + | Sur la VM Bastion, configurer un nouveau site : | ||
| + | <code bash> | ||
| + | cd / | ||
| + | cat forge.chapril.org | ||
| + | </ | ||
| + | <code nginx> | ||
| + | server { | ||
| + | listen 80; | ||
| + | listen [::]:80; | ||
| + | |||
| + | server_name forge.chapril.org; | ||
| + | |||
| + | access_log / | ||
| + | error_log / | ||
| + | |||
| + | include / | ||
| + | include / | ||
| + | include / | ||
| + | } | ||
| + | |||
| + | server { | ||
| + | listen 443 ssl; | ||
| + | listen [::]:443 ssl; | ||
| + | |||
| + | server_name forge.chapril.org; | ||
| + | include / | ||
| + | |||
| + | access_log / | ||
| + | error_log / | ||
| + | |||
| + | ssl_certificate | ||
| + | ssl_certificate_key / | ||
| + | |||
| + | include / | ||
| + | include / | ||
| + | |||
| + | client_max_body_size 100M; | ||
| + | |||
| + | location / { | ||
| + | include / | ||
| + | proxy_pass http:// | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Afin d' | ||
| + | s' | ||
| + | <code nginx> | ||
| + | client_max_body_size 100M; | ||
| + | </ | ||
| + | |||
| + | ==== Installation d'un serveur HTTP sur la VM Grof ===== | ||
| + | |||
| + | Sur la VM Grof, installer Apache 2 : | ||
| + | <code bash> | ||
| + | apt-get install apache2 | ||
| + | </ | ||
| + | |||
| + | Configuration de la propagation proxy : | ||
| + | <code bash> | ||
| + | cd / | ||
| + | cat conf-available/ | ||
| + | </ | ||
| + | <code apache> | ||
| + | < | ||
| + | LoadModule remoteip_module / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | RemoteIPHeader X-Forwarded-For | ||
| + | RemoteIPInternalProxy 192.168.1.93 2a01: | ||
| + | LogFormat "%a %l %u %t \" | ||
| + | </ | ||
| + | </ | ||
| + | <code bash> | ||
| + | cd / | ||
| + | ln -s ../ | ||
| + | </ | ||
| + | |||
| + | ==== Déploiement du domaine sur la VM Grof ===== | ||
| + | |||
| + | Sur la VM Grof, activer les modules '' | ||
| + | <code bash> | ||
| + | a2enmod proxy | ||
| + | a2enmod proxy_http | ||
| + | systemctl restart apache2 | ||
| + | </ | ||
| + | |||
| + | La documentation officielle pour Apache : https:// | ||
| + | |||
| + | Application : | ||
| + | <code bash> | ||
| + | cd / | ||
| + | cat forge.chapril.org.conf | ||
| + | </ | ||
| + | <code apache> | ||
| + | < | ||
| + | ServerName forge.chapril.org | ||
| + | ServerAdmin admins@chapril.org | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/ | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | ProxyPreserveHost On | ||
| + | ProxyRequests off | ||
| + | AllowEncodedSlashes NoDecode | ||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== Configuration SMTP ==== | ||
| + | |||
| + | Configuration de Postfix dans la VM Grof pour que les courriels de Gitea partent correctement : | ||
| + | <code bash> | ||
| + | cd ~/ | ||
| + | grep smtpd_use_tls / | ||
| + | smtpd_use_tls=no | ||
| + | </ | ||
| + | |||
| + | ==== Installation de PostgreSQL ==== | ||
| + | |||
| + | Installer le paquet serveur de la base de données: | ||
| + | <code bash> | ||
| + | apt install postgresql postgresql-contrib | ||
| + | </ | ||
| + | |||
| + | D' | ||
| + | < | ||
| + | PostgreSQL uses md5 challenge-response encryption scheme for password authentication by default. | ||
| + | Nowadays this scheme is not considered secure anymore. Use SCRAM-SHA-256 scheme instead by editing | ||
| + | the postgresql.conf configuration file on the database server to: | ||
| + | |||
| + | password_encryption = scram-sha-256 | ||
| + | |||
| + | Restart PostgreSQL to apply the setting. | ||
| + | </ | ||
| + | |||
| + | Le conseil semble judicieux donc éditer le fichier ''/ | ||
| + | < | ||
| + | # | ||
| + | password_encryption = scram-sha-256 | ||
| + | </ | ||
| + | |||
| + | Et redémarrer le service : | ||
| + | <code bash> | ||
| + | systemctl restart postgresql.service | ||
| + | </ | ||
| + | |||
| + | ==== Préparation de la base de données ==== | ||
| + | |||
| + | Note : Gitea semble insister pour mettre un mot de passe pour l' | ||
| + | |||
| + | Créer un utilisateur (« role » en langage Pgsql) : | ||
| + | <code bash> | ||
| + | su -c " | ||
| + | </ | ||
| + | <code sql> | ||
| + | CREATE ROLE giteadbadmin WITH LOGIN PASSWORD ' | ||
| + | </ | ||
| + | |||
| + | Créer une base de données : | ||
| + | <code sql> | ||
| + | CREATE DATABASE giteadb WITH OWNER gitea-dbadmin TEMPLATE template0 ENCODING UTF8 LC_COLLATE ' | ||
| + | </ | ||
| + | |||
| + | Donner l' | ||
| + | < | ||
| + | local giteadb | ||
| + | </ | ||
| + | |||
| + | Redémarrer le service : | ||
| + | <code bash> | ||
| + | restart postgresql.service | ||
| + | </ | ||
| + | |||
| + | ==== Création d'une partition dédiée ==== | ||
| + | |||
| + | Afin que les données (dépôts…) de Gitea soient isolées de la partition système, utilisation d'un second disque. | ||
| + | |||
| + | Via '' | ||
| + | Le reste se fait sur la VM Grof. | ||
| + | |||
| + | Création de la partition de stockage : | ||
| + | <code bash> | ||
| + | fdisk /dev/vdb | ||
| + | </ | ||
| + | |||
| + | Choisir '' | ||
| + | Écrire la table des partitions. | ||
| + | |||
| + | Création du //Volume Group// et //Logic Volume// | ||
| + | <code bash> | ||
| + | pvcreate | ||
| + | vgcreate grof-data-vg /dev/vdb1 | ||
| + | lvcreate -l 100%FREE -n gitea grof-data-vg | ||
| + | </ | ||
| + | |||
| + | Création du FS et du dossier de montage : | ||
| + | <code bash> | ||
| + | mke2fs -L gitea -e remount-ro -m 0 / | ||
| + | mkdir /srv/gitea | ||
| + | </ | ||
| + | |||
| + | Définition dans ''/ | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Premier montage : | ||
| + | <code bash> | ||
| + | mkdir /srv/gitea | ||
| + | mount | ||
| + | chown gitea.gitea /srv/gitea | ||
| + | </ | ||
| + | |||
| + | ==== Création d'un utilisateur système dédié ==== | ||
| + | |||
| + | Créer un utilisateur système dédié : | ||
| + | <code bash> | ||
| + | adduser \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | gitea | ||
| + | </ | ||
| + | |||
| + | ==== Préparation des fichiers ==== | ||
| + | |||
| + | Création de l' | ||
| + | <code bash> | ||
| + | export GITEA_WORK_DIR=/ | ||
| + | mkdir -p $GITEA_WORK_DIR/ | ||
| + | |||
| + | chown root:gitea $GITEA_WORK_DIR | ||
| + | chown root:root $GITEA_WORK_DIR/ | ||
| + | chown gitea:gitea $GITEA_WORK_DIR/ | ||
| + | |||
| + | chmod u=rwx, | ||
| + | chmod u=rwx, | ||
| + | chmod u=rwx, | ||
| + | |||
| + | mkdir /etc/gitea | ||
| + | chown root:gitea /etc/gitea | ||
| + | chmod ug=rwx /etc/gitea | ||
| + | chmod o= /etc/gitea | ||
| + | |||
| + | mkdir / | ||
| + | chown gitea.gitea / | ||
| + | </ | ||
| + | |||
| + | ==== Récupération du binaire ==== | ||
| + | |||
| + | Gitea consiste en un seul fichier binaire : | ||
| + | <code bash> | ||
| + | mkdir / | ||
| + | cd / | ||
| + | |||
| + | wget -O gitea https:// | ||
| + | chown root.gitea . gitea | ||
| + | chmod g=rx . gitea | ||
| + | </ | ||
| + | |||
| + | Vérification signature : | ||
| + | <code bash> | ||
| + | wget https:// | ||
| + | gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 | ||
| + | gpg --verify gitea-1.11.1-linux-amd64.asc gitea | ||
| + | </ | ||
| + | |||
| + | ==== Intégration du service dans Systemd ==== | ||
| + | |||
| + | La documentation de Gitea contient une page dédiée : https:// | ||
| + | |||
| + | Gitea propose un fichier prêt à l' | ||
| + | |||
| + | Fichier personnalisé pour la forge April à mettre dans ''/ | ||
| + | <code ini> | ||
| + | [Unit] | ||
| + | Description=Gitea (Git with a cup of tea) | ||
| + | After=syslog.target | ||
| + | After=network.target | ||
| + | Requires=postgresql.service | ||
| + | |||
| + | [Service] | ||
| + | # Modify these two values and uncomment them if you have | ||
| + | # repos with lots of files and get an HTTP error 500 because | ||
| + | # of that | ||
| + | ### | ||
| + | # | ||
| + | # | ||
| + | RestartSec=2s | ||
| + | Type=simple | ||
| + | User=gitea | ||
| + | Group=gitea | ||
| + | WorkingDirectory=/ | ||
| + | ExecStart=/ | ||
| + | ExecStop=/ | ||
| + | ExecStop=/ | ||
| + | Restart=always | ||
| + | Environment=USER=gitea HOME=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | Démarrage et activation du service : | ||
| + | <code bash> | ||
| + | systemctl start gitea.service | ||
| + | systemctl enable gitea.service | ||
| + | </ | ||
| + | |||
| + | ==== Premier démarrage ==== | ||
| + | |||
| + | Suite au premier démarrage, ouvrir un navigateur Web sur le site et cliquer sur // | ||
| + | Alors une page de configuration générale s' | ||
| + | La remplir comme suit : | ||
| + | * Base de données : | ||
| + | * Type de base de données : '' | ||
| + | * Hôte : '' | ||
| + | * Nom d' | ||
| + | * Mot de passe : '' | ||
| + | * Nom de la base : '' | ||
| + | * Configuration générale : | ||
| + | * Titre du site : '' | ||
| + | * Emplacement racine des dépôts : ''/ | ||
| + | * Domaine du serveur SSH : '' | ||
| + | * URL de base de Gitea : '' | ||
| + | * Chemin des fichiers log : ''/ | ||
| + | * Laisser les autres valeurs par défaut ; | ||
| + | * Paramètres facultatifs : | ||
| + | * paramètres //emails// : | ||
| + | * Hôte SMTP : '' | ||
| + | * Envoyer les //mails// en tant que : '' | ||
| + | * Exiger la confirmation de l'// | ||
| + | * Activer les notifications par //email// : oui, | ||
| + | * Paramètres serveurs et tierces parties : | ||
| + | * Activer le mode hors-ligne : oui (servira toutes les ressources localement), | ||
| + | * Désactiver Gravatar : oui, | ||
| + | * Activer les avatars unifiés : non, | ||
| + | * Activer l' | ||
| + | * Désactiver le formulaire d' | ||
| + | * N' | ||
| + | * Activer l' | ||
| + | * Activer le CAPTCHA : oui, | ||
| + | * Exiger la connexion à un compte pour afficher les pages : non, | ||
| + | * Masquer les adresses //e-mail// par défaut : non, | ||
| + | * Autoriser la création d' | ||
| + | * Activer le suivi de temps par défaut : non, | ||
| + | * Paramètres de compte administrateur : | ||
| + | * Nom : '' | ||
| + | * Mot de passe : '' | ||
| + | * Adresse //email// : '' | ||
| + | |||
| + | Puis cliquer sur //Installer Gitea//. | ||
| + | |||
| + | Un fichier de configuration a été créé dans ''/ | ||
| + | Par la suite, les valeurs pourront être modifiées dans ''/ | ||
| + | Précaution de protection du fichier de configuration : | ||
| + | <code bash> | ||
| + | chown -R root:gitea /etc/gitea | ||
| + | chmod g=rx /etc/gitea | ||
| + | chmod g=r / | ||
| + | </ | ||
| + | |||
| + | ===== Paramétrages complémentaires ===== | ||
| + | |||
| + | Dans la page '' | ||
| + | |||
| + | ==== Section par défaut === | ||
| + | |||
| + | <code ini> | ||
| + | APP_NAME = La forge Chapril | ||
| + | RUN_USER = gitea | ||
| + | RUN_MODE = prod | ||
| + | WORK_PATH = /srv/gitea | ||
| + | </ | ||
| + | |||
| + | ==== Base de données ==== | ||
| + | |||
| + | <code ini> | ||
| + | [database] | ||
| + | DB_TYPE | ||
| + | HOST = / | ||
| + | NAME = giteadb | ||
| + | USER = giteadbadmin | ||
| + | PASSWD | ||
| + | SCHEMA | ||
| + | SSL_MODE = disable | ||
| + | CHARSET | ||
| + | </ | ||
| + | |||
| + | ==== Désactivation des appels aux services externes ==== | ||
| + | |||
| + | <code ini> | ||
| + | [picture] | ||
| + | DISABLE_GRAVATAR | ||
| + | ENABLE_FEDERATED_AVATAR = false | ||
| + | |||
| + | [openid] | ||
| + | ENABLE_OPENID_SIGNIN = false | ||
| + | ENABLE_OPENID_SIGNUP = false | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Licences préférées ==== | ||
| + | |||
| + | Extrait de la documentation : | ||
| + | < | ||
| + | PREFERRED_LICENSES: | ||
| + | Preferred Licenses to place at the top of the list. | ||
| + | Name must match file name in conf/ | ||
| + | </ | ||
| + | |||
| + | Les noms de fichiers à utiliser sont présents dans les sources : https:// | ||
| + | |||
| + | Paramétrage dans ''/ | ||
| + | <code ini> | ||
| + | [repository] | ||
| + | ROOT = / | ||
| + | PREFERRED_LICENSES=AGPL-3.0-or-later, | ||
| + | </ | ||
| + | |||
| + | ==== LFS ==== | ||
| + | |||
| + | <code ini> | ||
| + | [lfs] | ||
| + | PATH = / | ||
| + | </ | ||
| + | |||
| + | ==== Taille maximale de téléversement ==== | ||
| + | |||
| + | Par défaut, la taille maximale d'un téléversement est limité à 3 Mo. | ||
| + | Pour augmenter la taille (à 20 Mo pour la forge Chapril), ajouter une section dans ''/ | ||
| + | <code ini> | ||
| + | [repository.upload] | ||
| + | ; Whether repository file uploads are enabled. Defaults to `true` | ||
| + | ; ENABLED = true | ||
| + | ; Path for uploads. Defaults to `data/ | ||
| + | ; TEMP_PATH = data/ | ||
| + | ; One or more allowed types, e.g. image/ | ||
| + | ; ALLOWED_TYPES = | ||
| + | ; Max size of each file in megabytes. Defaults to 3MB | ||
| + | FILE_MAX_SIZE = 20 | ||
| + | ; Max number of files per upload. Defaults to 5 | ||
| + | ; MAX_FILES = 5 | ||
| + | </ | ||
| + | |||
| + | Pour les téléversements de version (// | ||
| + | <code ini> | ||
| + | [attachment] | ||
| + | ; Max size of each file. Defaults to 4MB | ||
| + | MAX_SIZE = 50 | ||
| + | </ | ||
| + | |||
| + | ==== Sections session et log ==== | ||
| + | |||
| + | <code ini> | ||
| + | [session] | ||
| + | PROVIDER = file | ||
| + | |||
| + | [log] | ||
| + | MODE = file | ||
| + | LEVEL = info | ||
| + | ROOT_PATH = / | ||
| + | </ | ||
| + | |||
| + | ==== Désactiver l' | ||
| + | |||
| + | <code ini> | ||
| + | [packages] | ||
| + | ; Enable/ | ||
| + | ENABLED = false | ||
| + | </ | ||
| + | |||
| + | ===== Activer le flux SSH ===== | ||
| + | |||
| + | Pour les sous-commandes '' | ||
| + | Sauf qu'en IPv4, le port 22 est déjà redirigé vers la VM Bastion qui // | ||
| + | |||
| + | Du coup, choix architectural d' | ||
| + | < | ||
| + | user ---> vip:222 --nat-ipv4-> | ||
| + | </ | ||
| + | |||
| + | Configuration dans ''/ | ||
| + | <code ini> | ||
| + | SSH_PORT = 222 | ||
| + | </ | ||
| + | |||
| + | Configuration dédiée de FireHOL : | ||
| + | <code bash> | ||
| + | cd / | ||
| + | cat services/ | ||
| + | </ | ||
| + | <code bash> | ||
| + | #FHVER: 1:213 | ||
| + | # La premiere ligne ci dessus est nécessaire !! | ||
| + | server_gitea_ports=" | ||
| + | client_gitea_ports=" | ||
| + | </ | ||
| + | <code bash> | ||
| + | cd / | ||
| + | grep gitea firehol-ext2me.conf | ||
| + | </ | ||
| + | <code bash> | ||
| + | server gitea accept | ||
| + | </ | ||
| + | |||
| + | Gestion du port 222 par SSH : | ||
| + | < | ||
| + | diff --git a/ | ||
| + | -#Port 22 | ||
| + | +Port 22 | ||
| + | +Port 222 | ||
| + | </ | ||
| + | |||
| + | Pour rappel, dans ''/ | ||
| + | <code sshconfig> | ||
| + | AuthorizedKeysFile / | ||
| + | </ | ||
| + | |||
| + | Afin que le fichier ''/ | ||
| + | <code bash> | ||
| + | ln -s / | ||
| + | </ | ||
| + | |||
| + | Redirection du port 222 depuis '' | ||
| + | < | ||
| + | TODO | ||
| + | </ | ||
| + | |||
| + | ===== Personnalisation ===== | ||
| + | |||
| + | Basée sur la page https:// | ||
| + | |||
| + | Le répertoire '' | ||
| + | |||
| + | Le but est d' | ||
| + | |||
| + | ==== Page d' | ||
| + | |||
| + | La personnalisation aux couleurs de l' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Récupérer l' | ||
| + | <code bash> | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | wget https:// | ||
| + | chmod go+r *png | ||
| + | </ | ||
| + | |||
| + | Récupérer le fichier // | ||
| + | <code bash> | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | wget https:// | ||
| + | </ | ||
| + | |||
| + | Appliquer dans la VM Grof les changements suivants : | ||
| + | <code bash> | ||
| + | cd / | ||
| + | diff home.tmpl-1.14.0 home.tmpl | ||
| + | </ | ||
| + | < | ||
| + | 1a2,7 | ||
| + | > <style type=" | ||
| + | > .home .hero .svg {color: #1c79c5 !important; | ||
| + | > .ui.icon.header svg {width: 40px !important; height: 40px !important; display: inline !important; vertical-align: | ||
| + | > .hero {font-weight: | ||
| + | > .full.height {padding-bottom : 10px !important; } | ||
| + | > </ | ||
| + | 6c12 | ||
| + | < < | ||
| + | --- | ||
| + | > < | ||
| + | 12c18 | ||
| + | < < | ||
| + | --- | ||
| + | > < | ||
| + | 19c25 | ||
| + | < {{svg " | ||
| + | --- | ||
| + | > {{svg " | ||
| + | 22c28 | ||
| + | < | ||
| + | --- | ||
| + | > Tout le monde, cette instance est ouverte au public. | ||
| + | 27c33 | ||
| + | < {{svg " | ||
| + | --- | ||
| + | > {{svg " | ||
| + | 30c36 | ||
| + | < | ||
| + | --- | ||
| + | > La forge Chapril accueille tout type de contenu tel que code source, documentation, | ||
| + | 37c43 | ||
| + | < {{svg " | ||
| + | --- | ||
| + | > {{svg " | ||
| + | 40c46 | ||
| + | < | ||
| + | --- | ||
| + | > La création de compte se fait par une procédure d' | ||
| + | 45c51 | ||
| + | < {{svg " | ||
| + | --- | ||
| + | > {{svg " | ||
| + | 48c54,55 | ||
| + | < | ||
| + | --- | ||
| + | > Tous les dépôts présents sur cette forge sont sous < | ||
| + | > <a href=" | ||
| + | </ | ||
| + | |||
| + | Redémarrer Gitea : | ||
| + | <code bash> | ||
| + | systemctl restart gitea | ||
| + | </ | ||
| + | |||
| + | ==== Barre de navigation ==== | ||
| + | |||
| + | Personnalisation aux couleurs de l' | ||
| + | {{: | ||
| + | |||
| + | Récupérer l' | ||
| + | <code bash> | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | wget https:// | ||
| + | mv / | ||
| + | chmod go+r *png | ||
| + | systemctl restart gitea | ||
| + | </ | ||
| + | |||
| + | Télécharger la page de code au bon endroit : | ||
| + | <code bash> | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | wget https:// | ||
| + | </ | ||
| + | |||
| + | La personnaliser : | ||
| + | <code bash> | ||
| + | cd / | ||
| + | diff head_navbar.tmpl-1.14.0 head_navbar.tmpl | ||
| + | </ | ||
| + | < | ||
| + | 4c4 | ||
| + | < < | ||
| + | --- | ||
| + | > < | ||
| + | </ | ||
| + | |||
| + | ==== Favicon ==== | ||
| + | |||
| + | Personnalisation aux couleurs de l' | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | |||
| + | Récupérer les deux images ci-dessus et les placer au bon endroit avec les bonnes permissions : | ||
| + | <code bash> | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | wget https:// | ||
| + | mv favicon-forgechaprilorg.png favicon.png | ||
| + | wget https:// | ||
| + | mv favicon-forgechaprilorg.svg logo.svg | ||
| + | wget https:// | ||
| + | mv logo-forgechaprilorg02.png gitea-lg.png | ||
| + | chmod go+r *png *svg | ||
| + | ln -s logo.svg favicon.svg | ||
| + | systemctl restart gitea | ||
| + | </ | ||
| + | |||
| + | ==== Pages « S' | ||
| + | |||
| + | À la création de compte, il faut rappeler les CGU et les CPU. | ||
| + | |||
| + | Possible en personnalisant le fichier '' | ||
| + | <code bash> | ||
| + | cd / | ||
| + | cat signup.tmpl | ||
| + | </ | ||
| + | < | ||
| + | {{template " | ||
| + | <div style=" | ||
| + | En créant un compte, vous acceptez les <a href=" | ||
| + | Notamment, vous vous engagez à ce que tous les contenus de vos dépôts soient sous <a href=" | ||
| + | </ | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | {{template " | ||
| + | </ | ||
| + | </ | ||
| + | {{template " | ||
| + | </ | ||
| + | |||
| + | ==== Pages internes ==== | ||
| + | |||
| + | À faire. | ||
| + | |||
| + | ==== Courriel d' | ||
| + | |||
| + | Les courriels sont par défaut en Anglais : https:// | ||
| + | |||
| + | Mais est prévu un système de // | ||
| + | |||
| + | Copier le fichier depuis le dépôt source dans la bonne étiquette (//tag//) puis le modifier : | ||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <meta http-equiv=" | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p>Un problème ? Essayez en copiant/ | ||
| + | <p>© <a target=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Première utilisation ===== | ||
| + | |||
| + | Actions : | ||
| + | * Création du compte '' | ||
| + | * Création d'un dépôt bac à sable. | ||
| + | |||
| + | ===== Procédure de mise à jour ===== | ||
| + | |||
| + | Constat : | ||
| + | * Gitea consiste en un seul fichier binaire, une base de données, une arborescence ; | ||
| + | * La documentation officielle de Gitea contient une page sur les sauvegardes (// | ||
| + | |||
| + | Ajouter une mise à jour planifiée sur https:// | ||
| + | |||
| + | Avant mise à jour, il est nécessaire de vérifier l' | ||
| + | <code bash> | ||
| + | df -h | ||
| + | </ | ||
| + | |||
| + | Donc la procédure de mise à jour peut consister, en utilisant un multiplexeur de terminal, à : | ||
| + | - Définir dans une variable le numéro de la nouvelle version que l'on souhaite installer ([[https:// | ||
| + | export VERSION=1.X.Y | ||
| + | </ | ||
| + | - Vérifier l' | ||
| + | / | ||
| + | - Lancer [[https:// | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | # être attentif aux éventuels problèmes | ||
| + | / | ||
| + | su - gitea -c "/ | ||
| + | / | ||
| + | # corriger les éventuels problèmes | ||
| + | / | ||
| + | </ | ||
| + | - Surveiller les logs :<code bash> | ||
| + | tail -f / | ||
| + | tail -f / | ||
| + | </ | ||
| + | - Vérifier que les personnalisations du Chapril ne sont pas cassées : | ||
| + | - Accéder à la page https:// | ||
| + | * Vérifier la présence de la bannière Chapril avec notamment les liens '' | ||
| + | * Logo (bleu, un profil de chat dans la tasse), | ||
| + | * Chercher le texte '' | ||
| + | * //Favicon// identique au logo, | ||
| + | * Vérifier qu'il y a un lien '' | ||
| + | * Vérifier la présence des liens '' | ||
| + | - Accéder à la page https:// | ||
| + | * Petit encart jaune '' | ||
| + | * Logo a gauche de la barre de navigation, | ||
| + | - Enregistrer un compte pour vérifier que le courriel d' | ||
| + | * Tout en étant authentifié, | ||
| + | - Vérifier l' | ||
| + | - Supprimer manuellement l' | ||
| + | - Supprimer, éventuellement, | ||
| + | |||
| + | <note warning> | ||
| + | Cette dernière commande ne fonctionne que pour les versions mineures (valeur '' | ||
| + | </ | ||
| + | |||
| + | ===== Procédure de restauration ===== | ||
| + | |||
| + | Il n' | ||
| + | * Le fichier de configuration '' | ||
| + | * Les données, les logs, les dépôts ; | ||
| + | * La base de données. | ||
| + | |||
| + | ===== Tâches récurrentes et modération ===== | ||
| + | |||
| + | En plus de la mise à jour du service décrite précédemment, | ||
| + | Il s'agit de supprimer sans préavis ni avertissement des comptes créés par des robots. | ||
| + | |||
| + | Pour connaître l'IP utilisée lors de la création d'un compte : | ||
| + | * Via l' | ||
| + | * Puis recherchez la date et l' | ||
| + | journalctl -u gitea -S -1w -g ' | ||
| + | </ | ||
| + | Pour les actions suivantes, il est nécessaire de [[https:// | ||
| + | * Pour //Accès aux Organisations et Dépôts// sélectionner //Tout (public, privé et limité)// ; | ||
| + | * Choisir les autorisations suivantes, sélectionner //Lecture et écriture// : | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ==== Méthode 1 ==== | ||
| + | |||
| + | Trouver les comptes récemment créés et actifs (afin de supprimer les nouvelles issues crées par les spammeurs) (pour [[https:// | ||
| + | <code bash> | ||
| + | for x in $(curl | ||
| + | do test $(curl | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Supprimer un //range// : | ||
| + | <code bash> | ||
| + | for x in $(curl | ||
| + | do curl -H " | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Sélection des comptes récents contenant des liens en description : | ||
| + | <code bash> | ||
| + | datemod=$(date +" | ||
| + | for x in $(curl | ||
| + | do curl -sH " | ||
| + | [[ " | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Trouver les comptes ayant plusieurs fois un caractère donné dans le courriel : | ||
| + | < | ||
| + | giteadb=# select id, name, email, (CHAR_LENGTH(split_part(email, | ||
| + | </ | ||
| + | |||
| + | Modération des dépôts : en cas d' | ||
| + | |||
| + | Vérifier la présence de courriel dans la liste '' | ||
| + | <code bash> | ||
| + | for yy in $(for id in $(for x in $(psql -d giteadb -t -A -q -c " | ||
| + | </ | ||
| + | |||
| + | ==== Méthode 2 ==== | ||
| + | |||
| + | === Pré-requis === | ||
| + | |||
| + | Pour utiliser l' | ||
| + | |||
| + | Sous Debian : | ||
| + | <code bash> | ||
| + | apt-get install python3-poetry | ||
| + | </ | ||
| + | |||
| + | === Installation === | ||
| + | |||
| + | Se placer dans le dossier dans lequel on veut récupérer le dépôt. | ||
| + | |||
| + | La première fois: | ||
| + | <code bash> | ||
| + | git clone ssh:// | ||
| + | </ | ||
| + | |||
| + | Pour les fois suivantes, afin de récupérer les éventuelles modifications : | ||
| + | <code bash> | ||
| + | git pull | ||
| + | </ | ||
| + | |||
| + | Installer l' | ||
| + | <code bash> | ||
| + | cd moderation/ | ||
| + | poetry install | ||
| + | </ | ||
| + | |||
| + | Pour les fois suivantes, mettre à jour poetry si nécessaire : | ||
| + | <code bash> | ||
| + | poetry update | ||
| + | </ | ||
| + | |||
| + | Lancer l' | ||
| + | <code bash> | ||
| + | poetry run ./ | ||
| + | </ | ||
| + | |||
| + | === Usage === | ||
| + | |||
| + | Au lancement, votre jeton (//token//) de gestion Gitea vous est demandé. | ||
| + | |||
| + | Une fois définie, la liste des utilisateurs créés durant les derniers 30 jours est chargée. | ||
| + | Il vous est ensuite possible de parcourir cette liste, de supprimer un compte utilisateur, | ||
