Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
server:free:gitea [2019/10/24 20:21] tfeneuil [Configuration initiale] |
server:free:gitea [2019/11/08 13:11] (Version actuelle) 194.254.61.42 ↷ Liens modifiés en raison d'un déplacement. |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
Pour pouvoir utiliser //Gitea//, il faut d'abord installé //Git// sinon il n'y a aucun espoir d'aller jusqu'au bout. | Pour pouvoir utiliser //Gitea//, il faut d'abord installé //Git// sinon il n'y a aucun espoir d'aller jusqu'au bout. | ||
- | apt-get install get | + | apt-get install git |
===== Installation ===== | ===== Installation ===== | ||
Ligne 99: | Ligne 99: | ||
chown -R git:git /var/lib/gitea/ | chown -R git:git /var/lib/gitea/ | ||
chmod -R 750 /var/lib/gitea/ | chmod -R 750 /var/lib/gitea/ | ||
- | mkdir /etc/gitea | + | |
- | chown root:git /etc/gitea | + | ln -s /var/lib/gitea/gitea /usr/local/bin/ |
- | chmod 770 /etc/gitea | + | |
==== Préparation de la base de données MySQL ==== | ==== Préparation de la base de données MySQL ==== | ||
Ligne 153: | Ligne 152: | ||
* Désactiver le formulaire d'inscription : //OUI// | * Désactiver le formulaire d'inscription : //OUI// | ||
+ | * Activer la connexion avec OpenID: //NON// | ||
* Domaine pour les e-mails cachés : aprilas.fr | * Domaine pour les e-mails cachés : aprilas.fr | ||
Ligne 162: | Ligne 162: | ||
Et à présent, tu peux arrêter //Gitea// et mettre le fichier de configuration généré à sa place définitive : | Et à présent, tu peux arrêter //Gitea// et mettre le fichier de configuration généré à sa place définitive : | ||
+ | mkdir /etc/gitea | ||
cp /var/lib/gitea/custom/conf/app.ini /etc/gitea | cp /var/lib/gitea/custom/conf/app.ini /etc/gitea | ||
+ | chown -R root:git /etc/gitea | ||
+ | chmod 750 /etc/gitea | ||
chmod 640 /etc/gitea/app.ini | chmod 640 /etc/gitea/app.ini | ||
| | ||
Ligne 248: | Ligne 251: | ||
sudo systemctl start gitea | sudo systemctl start gitea | ||
+ | //Gitea// devrait être disponible à [[https://git.aprilas.fr]], et devrait le rester, même après le redémarrage du serveur. | ||
===== Configuration de LDAP ===== | ===== Configuration de LDAP ===== | ||
Ligne 254: | Ligne 258: | ||
==== Créer un nouvel utilisateur en lecture seule ==== | ==== Créer un nouvel utilisateur en lecture seule ==== | ||
- | Crée l'utilisateur suivant ''%%readonly%%'' via //LAM//. | + | Pour accéder à l'annuaire LDAP avec //Gitea//, on pourrait utiliser le compte ''%%cn=admin,dc=telecom-etude,dc=com%%'', mais c'est dangereux ! Pourquoi utiliser un compte qui peut modifier les données de l'annuaire, alors que nous avons besoin uniquement d'un compte qui puisse lire les mots de passe des différents utilisateurs de l'annuaire ? Et bien, nous allons créer ce compte ! |
- | dn: cn=readonly,dc=aprilas,dc=fr | + | Tu peux commencer par regarder l'ACL actuelle avec la commande suivante : |
- | cn: readonly | + | |
- | description: LDAP administrator | + | ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" "olcDatabase={1}mdb" olcAccess |
+ | |||
+ | Crée l'utilisateur suivant ''%%reader%%'' (avec ''%%ldapadd%%'' ou via //LAM//). | ||
+ | |||
+ | dn: cn=reader,dc=aprilas,dc=fr | ||
+ | cn: reader | ||
+ | description: LDAP complete reader | ||
objectclass: simpleSecurityObject | objectclass: simpleSecurityObject | ||
objectclass: organizationalRole | objectclass: organizationalRole | ||
Ligne 264: | Ligne 274: | ||
userpassword: {SSHA}R0UUkt4JDsvpkVgEDk8+8pmHwzUOp79g | userpassword: {SSHA}R0UUkt4JDsvpkVgEDk8+8pmHwzUOp79g | ||
| | ||
- | Puis, modifie l'ACL du serveur LDAP, | + | Puis, modifie l'ACL du serveur LDAP. Pour cela, crée un fichier ''%%add-reader.ldif%%''. |
- | ... | + | dn: olcDatabase={1}mdb,cn=config |
+ | changetype: modify | ||
+ | delete: olcAccess | ||
+ | olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none | ||
+ | - | ||
+ | add: olcAccess | ||
+ | olcAccess: {0}to attrs=userPassword by self write by dn="cn=reader,dc=aprilas,dc=fr" read by anonymous auth by * none | ||
+ | |||
+ | et applique les modifications : | ||
+ | |||
+ | ldapmodify -Y EXTERNAL -H ldapi:/// -f add-reader.ldif | ||
+ | |||
+ | Regarde si cela a bien été pris en compte en affichant, à nouveau, l'ACL. | ||
+ | ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" "olcDatabase={1}mdb" olcAccess | ||
==== Créer les groupes spécifiques à Gitea ==== | ==== Créer les groupes spécifiques à Gitea ==== | ||
Ligne 282: | Ligne 305: | ||
objectclass: top | objectclass: top | ||
+ | ==== Activer le module memberOf ==== | ||
- | ==== Configuration de Gitea ==== | + | Pour faire fonctionner correctement LDAP avec //Gitea//, il faut que le module memberOf soit activé. |
+ | |||
+ | Si ce n'est pas déjà fait, va voir [[server:free:nextcloud#preparation_de_l_annuaire_ldap|ici]] pour savoir comment l'activer. | ||
+ | ==== Configuration de Gitea pour utiliser LDAP ==== | ||
Connecte toi sur //Gitea// avec un compte administrateur. Va dans "Administration du site", puis dans l'onglet "Sources d'authentification". | Connecte toi sur //Gitea// avec un compte administrateur. Va dans "Administration du site", puis dans l'onglet "Sources d'authentification". | ||
Ligne 289: | Ligne 316: | ||
Ajoute une source d'authentification. | Ajoute une source d'authentification. | ||
- | * Type d'authentification : LDAB (via BindDN) | + | * Type d'authentification : LDAP (via BindDN) |
* Nom de l'authentification : Aprilas LDAP | * Nom de l'authentification : Aprilas LDAP | ||
* Protocole de sécurité : LDAPS | * Protocole de sécurité : LDAPS | ||
* Hôte : ldap.aprilas.fr | * Hôte : ldap.aprilas.fr | ||
* Port : 636 | * Port : 636 | ||
- | * Bind DN : cn=readonly,dc=aprilas,dc=fr | + | * Bind DN : cn=reader,dc=aprilas,dc=fr |
* Bind mot de passe : **** | * Bind mot de passe : **** | ||
* Base de recherche des utilisateurs : ou=People,dc=aprilas,dc=fr | * Base de recherche des utilisateurs : ou=People,dc=aprilas,dc=fr | ||
- | * Filtre utilisateur : (&(memberof=cn=git-users,ou=Groups,dc=aprilas,dc=fr)(uid=%s)) | + | * Filtre utilisateur : (&(memberOf=cn=git-users,ou=Groups,dc=aprilas,dc=fr)(uid=%s)) |
- | * Filtre administrateur : (memberof=cn=git-admins,ou=groups,dc=ejnserver,dc=fr) | + | * Filtre administrateur : (memberOf=cn=git-admins,ou=Groups,dc=aprilas,dc=fr) |
* Attribut nom d'utilisateur : uid | * Attribut nom d'utilisateur : uid | ||
* Attribut prénom : givenName | * Attribut prénom : givenName | ||
Ligne 309: | Ligne 336: | ||
* Cette source d'authentification : //OUI// | * Cette source d'authentification : //OUI// | ||
+ | Et valide le formulaire. | ||
+ | |||
+ | Puisqu'on a choisi d'activer la synchronisation, //Gitea// va régulièrement mettre à jour la liste des utilisateurs de LDAP. Par défaut, cela se fait toutes les 24 heures. Pour faire une synchronisation manuelle, il suffit d'appuyer sur le bouton "Synchroniser les données de l'utilisateur externe" dans le tableau de bord. Après l'ajout de la nouvelle source d'authentification, il semblerait que //Gitea// ne fasse pas directement une synchronisation, donc si tu veux voir directement les utilisateurs dans l'onglet correspond, il faut que tu appuies sur le bouton. |