Aprilas Wiki

Wiki personnel de Thibauld Feneuil

Outils pour utilisateurs

Outils du site


server:free:gitea

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 19:58]
tfeneuil [Préparation de la base de données MySQL]
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 160: Ligne 160:
   * Adresse e-mail : admin@aprilas.fr   * Adresse e-mail : admin@aprilas.fr
  
 +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
 +  chown -R root:git /etc/gitea
 +  chmod 750 /etc/gitea
 +  chmod 640 /​etc/​gitea/​app.ini
 +  ​
 ===== Exécuter Gitea ===== ===== Exécuter Gitea =====
  
Ligne 178: Ligne 186:
   ###   ###
   #   #
-  ​#Requires=mysql.service+  Requires=mysql.service
   #​Requires=mariadb.service   #​Requires=mariadb.service
   #​Requires=postgresql.service   #​Requires=postgresql.service
Ligne 243: 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 249: 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 259: 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 celacré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 277: 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 284: 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 304: 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.
server/free/gitea.1571939903.txt.gz · Dernière modification: 2019/10/24 19:58 par tfeneuil