Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| wiki:linux:gitea_tp [2022/11/07 17:26] – DEROUET Valentin | wiki:linux:gitea_tp [2022/11/15 18:00] (Version actuelle) – DEROUET Valentin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | |||
| ====== Mise en place d'un serveur GITEA avec login en LDAP ====== | ====== Mise en place d'un serveur GITEA avec login en LDAP ====== | ||
| Ligne 13: | Ligne 14: | ||
| Nous considérons que vous êtes équipé de cette manière : | Nous considérons que vous êtes équipé de cette manière : | ||
| - | - Une VM sous Windows Serveur 2k16 **[AD]** | + | - Une VM sous Windows Serveur 2k16 **[AD]** |
| - | - Une VM sous Debian 11 vierge **[GITEA]** | + | - Une VM sous Debian 11 vierge **[GITEA]** |
| Les allocations de matériel (CPU/ | Les allocations de matériel (CPU/ | ||
| Ligne 25: | Ligne 26: | ||
| Nos IP pour notre infrastructure seront : | Nos IP pour notre infrastructure seront : | ||
| - | - [AD] : **10.192.43.10** | + | - [AD] : **10.192.43.10** |
| - | - [GITEA] : **10.192.43.14** | + | - [GITEA] : **10.192.43.14** |
| Mot de passe par défaut sur toutes les sessions : **Not24get** | Mot de passe par défaut sur toutes les sessions : **Not24get** | ||
| Rappel des deux commandes essentiels : | Rappel des deux commandes essentiels : | ||
| - | - '' | + | - '' |
| - | - '' | + | - '' |
| **Conseil :** Ajouter les deux machines dans un logiciel tel que mRemoteNG pour faciliter l' | **Conseil :** Ajouter les deux machines dans un logiciel tel que mRemoteNG pour faciliter l' | ||
| + | # Installation de Gitea par le binary | ||
| - | # Premier démarrage du Debian | + | ## Téléchargement |
| - | ## Configuration de l' | + | |
| - | ### Ping AD pour essais | + | |
| - | ### Ping Google pour essais | + | |
| + | < | ||
| + | wget -O gitea https:// | ||
| + | chmod +x gitea | ||
| + | </ | ||
| - | # Installation de Gitea par le binary | ||
| - | ## Téléchargement du binary | ||
| ### Vérification GPG | ### Vérification GPG | ||
| + | |||
| + | < | ||
| + | apt install gpg | ||
| + | gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 | ||
| + | gpg --verify gitea-1.17.3-linux-amd64.asc gitea-1.17.3-linux-amd64 | ||
| + | </ | ||
| + | |||
| ## Installation des dépendances | ## Installation des dépendances | ||
| + | |||
| ### GIT | ### GIT | ||
| + | |||
| + | < | ||
| + | |||
| + | Vérifier avec : | ||
| + | |||
| + | < | ||
| + | |||
| ### MariaDB | ### MariaDB | ||
| + | |||
| + | < | ||
| + | < | ||
| + | |||
| + | Suivez la procédure d' | ||
| + | |||
| + | Vérifier la bonne exécution avec : | ||
| + | |||
| + | < | ||
| + | |||
| + | ### apache2 | ||
| + | |||
| + | < | ||
| + | |||
| ## Création utilisateur | ## Création utilisateur | ||
| + | |||
| ### Dans le système | ### Dans le système | ||
| + | |||
| + | ```sh | ||
| + | adduser \ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | gitea | ||
| + | ``` | ||
| + | |||
| ### Dans le SGBD | ### Dans le SGBD | ||
| + | |||
| + | < | ||
| + | |||
| + | ```sql | ||
| + | CREATE USER giteaDBuser IDENTIFIED BY ' | ||
| + | CREATE DATABASE giteaDB DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; | ||
| + | GRANT ALL PRIVILEGES ON giteaDB.* TO giteaDBuser; | ||
| + | FLUSH PRIVILEGES; | ||
| + | ``` | ||
| + | |||
| + | * Tester la connexion : | ||
| + | |||
| + | < | ||
| + | |||
| ## Création structure de dossier | ## Création structure de dossier | ||
| - | ### Dossier | + | |
| + | ### Dossiers | ||
| + | |||
| + | < | ||
| + | mkdir -p / | ||
| + | chown -R gitea:gitea / | ||
| + | chmod -R 750 / | ||
| + | mkdir / | ||
| + | ln -s / | ||
| + | chown root:gitea / | ||
| + | chmod 770 / | ||
| + | </ | ||
| ### Permissions dossiers | ### Permissions dossiers | ||
| + | |||
| + | < | ||
| + | chmod 750 /etc/gitea | ||
| + | chmod 640 / | ||
| + | </ | ||
| + | |||
| + | ### Définition des variables | ||
| + | |||
| + | ```sh | ||
| + | export GITEA_WORK_DIR=/ | ||
| + | ``` | ||
| + | |||
| + | ### Copie de Gitea | ||
| + | |||
| + | ```sh | ||
| + | cp gitea / | ||
| + | ``` | ||
| + | |||
| ## Essai de Gitea (exécution du binary) | ## Essai de Gitea (exécution du binary) | ||
| + | |||
| + | - Changer d' | ||
| + | |||
| + | < | ||
| + | |||
| + | - Exécuter Gitea | ||
| + | |||
| + | < | ||
| + | |||
| + | |||
| + | ### Reset mot de passe compte administrateur '' | ||
| + | |||
| + | En cas de perte du mot de passe voici la commande à utiliser : | ||
| + | |||
| + | < | ||
| # Création d'un service systemd | # Création d'un service systemd | ||
| + | |||
| + | - Copier dans ''/ | ||
| + | |||
| + | ```sh | ||
| + | [Unit] | ||
| + | Description=Gitea (Git with a cup of tea) | ||
| + | After=syslog.target | ||
| + | After=network.target | ||
| + | Wants=mariadb.service | ||
| + | After=mariadb.service | ||
| + | |||
| + | [Service] | ||
| + | RestartSec=2s | ||
| + | Type=simple | ||
| + | User=gitea | ||
| + | Group= | ||
| + | WorkingDirectory=/ | ||
| + | ExecStart=/ | ||
| + | Restart=always | ||
| + | Environment=USER=gitea HOME=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | ``` | ||
| + | |||
| + | - Activer le service et démarrer le avec : | ||
| + | |||
| + | ``` | ||
| + | systemctl enable gitea | ||
| + | systemctl start gitea | ||
| + | systemctl status gitea | ||
| + | ``` | ||
| + | |||
| + | ## Configuration du serveur SQL sur Gitea | ||
| + | |||
| + | - Type : '' | ||
| + | - Hôte : '' | ||
| + | - Nom : '' | ||
| + | - Nom d' | ||
| + | |||
| + | {{ : | ||
| # Ajout authentification LDAP | # Ajout authentification LDAP | ||
| + | |||
| + | Type d' | ||
| + | |||
| + | - Hôte : 10.192.43.10 | ||
| + | - Port : 389 | ||
| + | - Bind DN : '' | ||
| + | - Bind mot de passe : '' | ||
| + | - Utilisateur Search Base : '' | ||
| + | - Filtre utilisateur : '' | ||
| + | - Filtre administrateur : '' | ||
| + | - Attribut nom d' | ||
| + | - Attribut prénom : '' | ||
| + | - Attribut nom de famille : '' | ||
| + | - Attribut e-mail : '' | ||
| + | |||
| + | Une fois les champs remplis, mettre à jour manuellement la BDD en allant : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Voici les utilisateurs une fois synchronisés : | ||
| + | |||
| + | {{ : | ||
| # Reverse proxy avec apache et ajout d'un certificat SSL | # Reverse proxy avec apache et ajout d'un certificat SSL | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ## Modification configuration root_url (pour passer en https) | ||
| + | |||
| + | - Avant de lancer l' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | - Après avoir lancé l' | ||
| + | |||
| + | < | ||
| + | |||
| + | {{ : | ||
| + | |||
| ## Création de la config apache2 | ## Création de la config apache2 | ||
| + | |||
| + | - Activer l' | ||
| + | |||
| + | ``` | ||
| + | a2enmod proxy proxy_http | ||
| + | service apache2 restart | ||
| + | ``` | ||
| + | |||
| + | - Créer la configuration dans les *sites-available* : | ||
| + | |||
| + | < | ||
| + | |||
| + | ```sh | ||
| + | < | ||
| + | ServerName git.dom.vade.fr | ||
| + | Redirect permanent / https:// | ||
| + | </ | ||
| + | < | ||
| + | ServerName git.dom.vade.fr | ||
| + | ServerAdmin [email protected] | ||
| + | |||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| + | ProxyRequests Off | ||
| + | </ | ||
| + | ``` | ||
| + | |||
| + | - Activer la configuration : | ||
| + | |||
| + | < | ||
| + | a2ensite git.dom.vade.fr.conf | ||
| + | systemctl apache2 reload | ||
| + | </ | ||
| + | |||
| + | - Puis vérifier : | ||
| + | |||
| + | < | ||
| + | |||
| + | ## Ajout de la règle CNAME dans le DNS | ||
| + | |||
| + | - Créer la règle DNS en recherche direct dans le serveur DNS : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| ## Création certificat auto-signé sur git.dom.vade.fr | ## Création certificat auto-signé sur git.dom.vade.fr | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | Suivre la procédure pour générer le certificat, mettre en FQDN : '' | ||
| + | |||
| + | - Ajout dans le '' | ||
| + | |||
| + | < | ||
| + | |||
| + | ``` | ||
| + | SSLEngine on | ||
| + | SSLCertificateFile / | ||
| + | SSLCertificateKeyFile / | ||
| + | ``` | ||
| + | |||
| + | - Activer le SSL : | ||
| + | |||
| + | < | ||
| + | |||
| + | Puis redémarrer le service : | ||
| + | |||
| + | < | ||
| + | |||
| ## Déploiement GPO du certificat | ## Déploiement GPO du certificat | ||
| - | ## Ajout de la règle CNAME dans le DNS | + | |
| - | ## Déploiement GPO du certificat | + | <WRAP center round tip 60%> |
| + | Rappel, utilitaire de certificat sur windows : '' | ||
| + | </ | ||
| + | |||
| + | - Création | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | - Mettre le certificat | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | - Ajout du certificat | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | - Test du déploiement du certificat | ||
| + | - Redémarrer le poste | ||
| + | - Ouvrir la console MMC de gestion de certificat sur l’ordinateur local et aller sur Autorité de certification racines de confiance et vérifier la présence du certificat. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Le certificat est présent sur le client. | ||
| ## Essai HTTPS client windows | ## Essai HTTPS client windows | ||
| - | avec screen du certificat | ||
| - | # Essais finaux et conclusion | + | Les navigateurs moderne notifie l' |
| - | ## Mes sources | + | {{ : |
| - | 1. Tous les screens en raw : [http:// | + | ## Mes sources |
| - | 2. [https:// | + | |
| + | 1. [https:// | ||
| + | 2. [https:// | ||