Configuration du serveur Linux
Paquets et versions
La version de linux est une Debian stable (5.0).
Il est déconseillé d’avoir un nom de domaine en .local. Il faut mieux avoir par exemple pour un réseau local: localnet ou lan. Car .local est réservé par mDNSResponder sous OS X (qui l’utilise pour générer dynamiquement des domaines locaux).
Les paquets à récuperer sont:
- slapd, ldap-utils
- migrations-tools
- dhcpd (dhcp3-common, dhcp3-server)
apt-get install slapd ldap-utils migrationtools dhcp3-common dhcp3-server
Lors de l’installation la configuration de slapd est standard, il n’y a pas besoin de la compatibilité LDAPv2. Au cas où on rate la configuration on peut la refaire avec:
dpkg-reconfigure slapd
Pour ajuster finement la base LDAP, on peut utiliser un outil comme phpldapadmin, qui fonctionne avec un serveur Web (apache2). Dans ce cas, c’est le paquet phpldapadmin et ses dépendances qui faut installer. Il faudra aussi configurer le serveur Web pour lancer l’outil.
Configuration de DHCP
Le DHCP permet aux clients de connaître les noms des serveurs pour les différents services.
Voici une partie du contenu du fichier /etc/dhcp3/dhcpd.conf
option ldap-server code 95 = string; subnet 192.168.1.0 netmask 255.255.255.0 { deny client-updates; option domain-name "exemple.lan"; option domain-name-servers ns.exemple.lan; option ntp-servers time.exemple.lan; option time-offset 0; option nis-domain exemple; option nis-servers yp.exemple.lan; option log-servers log.exemple.lan; option routers gw.exemple.lan; option ldap-server "ldap://ldap.exemple.lan/dc=exemple,dc=lan"; # Unknown clients get this pool. pool { max-lease-time 300; range 192.168.1.16 192.168.1.18; allow unknown-clients; } pool { max-lease-time 172800; range 192.168.1.19; deny unknown-clients; } }
group { use-host-decl-names on; host mac1.exemple.lan { fixed-address mac1.exemple.lan; hardware ethernet 00:12:34:56:78:90; } }
Sont déclarés aussi des informations NIS (nis-domain, nis-server), LOG (log-servers), NTP (ntp-servers, time-offset), qui sont optionnelles.
Les pools, permettent d’attribuer aux clients non reconnus une adresse entre 192.168.1.16 et 192.168.1.18. Ceux qui sont connus auront leur adresse.
Configuration de LDAP
Configuration du deamon slapd
Ajouter dans /etc/ldap/slapd.conf:
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/apple.schema
Et plus loin:
index uid,sn,cn,gidNumber,uidNumber,memberUid eq
Remplissage de la base LDAP
…
Indexation de la base LDAP
Nécessaire pour avoir les index précalcules pour les recherches dans la base.
/etc/init.d/slapd stop
slapindex
chown -R openldap.openldap /var/lib/ldap/*
/etc/init.d/slapd start
Configuration du NFS
On suppose que NFS est déja installé et fonctionnel (sinon voir cet article sur l’intégration NIS/NFS).
Notes: Le disque a partager devra avoir les options suivantes (dans /etc/fstab): acl,user_xattr
Pour accelérer les accès on peut rajouter: noatime,nodiratime
Configuration des clients Mac OS X
…
Après quelques années d’utilisation de NFS sous OS X, il y a quelques désagréments:
– Certains programmes ne peuvent enregistrer les documents (il faut faire « Enregistrer sous » à la place).
– Impossible d’installer certains programmes (il faut déplacer l’installateur sous un disque OS X).
– Impossible de dé-zipper
– Nombreux ralentissements réguliers
– Les alias ne fonctionnent pas
– …
Je suis passé sous Netatalk, et on n’a plus ces problèmes (enfin pas tous: par exemple on ne peut toujours pas dé-zipper).
Bug de Mac OS X Lion
Il y a eu un changement dans la configuration de LDAP pour Mac OS X Lion.
Les mots de passe LDAP ne sont plus reconnus.
Il faut entrer:
sudo su /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/yourldapserver.plist /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/yourldapserver.plist /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/yourldapserver.plist