Installation de Ldap sur Ubuntu 12.04 lts

Apres un update de l’os, voici les grandes lignes d’installation d’un ldap.

* La premiere chose est de renseigner le domaine dans le fichier /etc/hosts

vim /etc/hosts
192.168.1.100      cyklodev.com

* Ensuite la phase habituelle d’installation

apt-get update && apt-get upgrade
apt-get install slapd ldap-utils

* On ajoute le logging

vim logging_mode.ldif
dn: cn=config
changetype: modify
add: olcLogLevel
olcLogLevel: stats

Et on applique

ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging_mode.ldif

* On privilegie l’uid

vim uid.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uid eq,pres,sub

Et on applique

ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f uid.ldif

* A partir de la vous pouvez importer ou écrire votre schema

vim base.ldif
dn: dc=cyklodev,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: fcm.auth
dc: fcm
structuralObjectClass: organization
entryUUID: 6aeb2de0-90a2-1031-93c1-81fe910c2d7d
creatorsName: cn=admin,dc=cyklodev,dc=com
createTimestamp: 20120911212138Z
entryCSN: 20120911212138.672114Z#000000#000#000000
modifiersName: cn=admin,dc=cyklodev,dc=com
modifyTimestamp: 20120911212138Z

dn: cn=admin,dc=cyklodev,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword::kikoumotdepasse.lol=
structuralObjectClass: organizationalRole
entryUUID: 6afb378a-90a2-1031-93c2-81fe910c2d7d
creatorsName: cn=admin,dc=cyklodev,dc=com
createTimestamp: 20120911212138Z
entryCSN: 20120911212138.777226Z#000000#000#000000
modifiersName: cn=admin,dc=cyklodev,dc=com
modifyTimestamp: 20120911212138Z

dn: ou=groups,dc=cyklodev,dc=com
ou: groups
objectClass: organizationalUnit
objectClass: top
structuralObjectClass: organizationalUnit
entryUUID: 8104d98c-90a2-1031-9ecd-832c825e9c60
creatorsName: cn=admin,dc=cyklodev,dc=com
createTimestamp: 20120911212215Z
entryCSN: 20120911212215.750231Z#000000#000#000000
modifiersName: cn=admin,dc=cyklodev,dc=com
modifyTimestamp: 20120911212215Z

dn: ou=users,dc=cyklodev,dc=com
ou: users
objectClass: organizationalUnit
objectClass: top
structuralObjectClass: organizationalUnit
entryUUID: 8bfed72a-90a2-1031-9ece-832c825e9c60
creatorsName: cn=admin,dc=cyklodev,dc=com
createTimestamp: 20120911212234Z
entryCSN: 20120911212234.165787Z#000000#000#000000
modifiersName: cn=admin,dc=cyklodev,dc=com
modifyTimestamp: 20120911212234Z

* Et on applique

ldapadd -x -D cn=admin,dc=cyklodev,dc=com -w motdepasse -f base.ldif

* Pour le backup rien de plus simple :

slapcat -v -l dump-ldap.ldif

Pour reconfigurer le serveur ldap

dpkg-reconfigure slapd

Gitolite le git facile

Le choix d’un système de gestion de versions est toujours compliqué.

Je me suis frotté a Git et au final j’ai adopté Gitolite qui permet de faire un serveur git central privé qui a une granularité fine dans les droits.

* on installe (12.04 lts)

apt-get install git-core gitolite

* on attribue un user bien locké

sudo adduser \
  --system \
  --shell /bin/sh \
  --gecos 'git version control' \
  --group \
  --disabled-password \
  --home /home/gitolite \
  gitolite

* On modifie le path

su git
echo "PATH=$HOME/bin:$PATH" > ~/.bashrc
cd

* Il faut declarer un poste admin (avec ssh+rsa) sur le poste admin

ssh-keygen -t dsa
cat .ssh/id_dsa.pub

* retourner sur le serveur et

vim admin.pub

* Coller le contenu de la clé sur le serveur

vim admin.pub

* On lance le setup

gl-setup admin.pub

* Modifier le masque de droits de UMASK a 0027

* Sur le poste admin on peut alors tester le depot

git clone gitolite@serveur:gitolite-admin.git

* ajout d’un user en mettant la clé du user

vim gitolite-admin/keydir/newuser.pub

* Ajout d’un depot newrepo

vim gitolite-admin/conf/gitolite.conf
repo    gitolite-admin
        RW+     =   admin

repo    newrepo
        RW+     =   @all                    

* On envoie le tout au serveur

cd gitolite-admin
git add -A 
git commit 'add repo'
git push