Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
wiki:linux:gitea_tp [2022/11/07 18:24] – créée DEROUET Valentin | wiki:linux:gitea_tp [2022/11/15 19:00] (Version actuelle) – DEROUET Valentin | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
- | {{ :wiki:windows:logo-active-directory.png?400 |}} | + | {{ :wiki:linux:gitea-self-hosted-github-alternative.png?400 |}} |
Dans cette documentation nous installerons une solution GITEA avec une liaison LDAP et un certificat SSL. | Dans cette documentation nous installerons une solution GITEA avec une liaison LDAP et un certificat SSL. | ||
Ligne 14: | 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 26: | 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:// | ||