Stage effectué à l'observatoire du volcan du Piton de la Fournaise du 17 Juillet au 15 aout 2006 avec Patrice Boissier comme responsable de stage.
J'ai importé ce que j'avais fait sur le wiki de l'OVPF :
Hier, j'ai passé la journée à faire des tests de stabilité de l'infrastructure LDAP : couper le serveur LDAP maître, faire en sorte que tous les services basculent sur l'esclave. C'est solide maintenant. J'ai également créé une page pour l'intranet où on peut modifier ses informations (téléphone, mail, etc) et changer son mot de passe. J'ai aussi commencé à configurer GLPI.
On m'a acheté des supères chaussures à Run Evasion.
Configuration de cordemoy : passage de Apache 2.1 à apache 2.0 et mise en commun de /usr/ports/distfiles (une fois de plus). Quelques surprises niveau configuration, en fait c'était le cache du navigateur qui faisait des siennes. A part ça, grosse coupure de courant ce matin. Ah et aussi, truc surprenant avec chisny : la plage d'adresses ip semble trop petite d'après dhcpd, alors que je suis sensé être le seul en dynamique. Il faudra regarder d'où ça peut venir.
(À noter ailleurs : Marche sur le site de l'éruption, avec photos, et concert Ziskakan et Susheela Raman dimanche soir)
J'ai fait mumuse avec NSS_ldap et PAM_ldap sur pitontortue. Maintenant, on peut définir les utlisateurs qui vont accéder à la machine, en les incluant via LDAP dans l'entrée au nom de la machine. Ensuite, sur la machine serveur, c'est peu de choses à ajouter dans /etc/ldap.conf (ou autre) et /etc/pam.d/sshd (pour le coup, on a fait ça avec SSH). Dans ce dernier fichier, il faut préciser ldap en Required, et virer l'auth unix, car comme nss_ldap est opérationnel, l'authentification unix est en fait une authentification ldap, mais sans le paramètre pam_groupdn :-).
Sur le petit serveur chisny, j'ai installé le port isc-dhcp3-server (donc DHCP). Ça fonctionne pour l'ethernet et le wifi.
Finalisation de la config proftpd : nouveaux répertoires, ajustement de proftpd.conf et créations des nouveaux utilisateurs. Reste plus qu'à copier le contenu de l'ancien FTP. Lundi en prod normalement.
Je suis seul avec Nadia aujourd'hui à l'observatoire : ils sont tous partis ce matin sur site en hélico. J'ai monté un vieux PC pour en faire un dépot distfiles pour FreeBSD. Les clips du disque dur étaient au mauvais endroit, mais j'ai fini par trouver (Master). L'installation de la 6.1 s'est faite très bien. J'ai défini mes exports, tout est nickel. Voici les configurations.
# cat >> /etc/rc.conf nfs_server_enable="YES" rpcbind_enable="YES" ^D # cat >> /etc/exports /usr/ports/distfiles pitontortue /usr/ports/distfiles celimene ^D # killall mountd # /etc/rc.d/nfsd restart; /etc/rc.d/mountd restart
# cat >> /etc/rc.conf nfs_client_enable="YES" ^D # mkdir /mnt/distfiles # cat >> /etc/fstab chisny:/usr/ports/distfiles /mnt/distfiles nfs rw 0 0 ^D # mount -a # cp -R /usr/ports/distfiles/* /mnt/distfiles/ # rm -r /usr/ports/distfiles; ln -s /mnt/distfiles /usr/ports/
Ça y est, les objectifs du stage ont été atteints. Ce matin, on n'avait plus d'internet à l'obs. Du coup, la résolution des domaines par le module pam_ldap pour se connecter en SSH ne se faisait plus. J'ai remédié à ça en mettant à jour le fichier /etc/hosts. C'est avec ce genre d'incidents qu'on apprend à prévoir.
J'ai trouvé pourquoi slurpd ne voulait pas faire son boulot : slapd ne pouvait pas créer le fichier de journalisation à cause des permissions. Et oui, encore un truc con :-)
Une fois la réplication opérationnelle, j'ai attaqué (de nouveau) postfix. Les alias sont ok, reste juste à avoir un bon domaine (officiel) pour que ça tourne.
Ayant fini, j'ai commencé à programmé login.php sur cordemoy (le serveur http), afin qu'il utilise ldap. J'ai donc fait connaissance avec les fonctions pour ldap de PHP. Quand on a utilisé les fonctions mysql_*, on s'y retrouve. Le login se fait correctement, moyennant trois "level" d'authentification pour l'utilisateur : admin, ovpf, ou visiteur. Content :-)
Maintenant reste à mettre tout ça en production. On attaquera la mise en place de pitontortue (FTP, ldap esclave) avec Patrice Jeudi. Demain j'ai congé \o/. J'irai quand même mercredi pour me documenter sur le remplacement de NIS, car y a des fonctions qui intéressent Patrice. J'essayerai de mettre en place un depot pour les ports/packages FreeBSD également, sur une machine en rade.
J'ai abandonné l'idée de faire tourner proftpd avec pam. Résultat, ça marche très bien avec son mod_ldap.so. J'ai défini plusieurs DefaultRoot? en fonction de groupes (Patrice voulait distinguer l'accès entre les utilisateurs de l'obs et ceux de l'IPGP). Le ftp avec couche TLS/SSL fonctionne bien également (testé avec gFTP). Du coup, ça, c'est un bon point. Je ne colle pas ici la config utilisée pour proftpd, je mettrai bientôt une copie de ce que j'ai mis sur le wiki de l'intranet de l'obs (on sait jamais, ça intéresse peut-être quelqu'un). À part ça, j'ai aussi installé apache 2.0 sur pitontortue, et mis phpldapadmin, qui semble bien agréable.
Pour midi, Loko (?) a fait un pot pour tout le monde. Bon Gin Tonic, puis salade , curry anglais, glace maison, le tout très bon. La digestion est un peu lourde et tardive.
Le problème avec pam_ldap était plus grâve que je ne pensais. Impossible de modifier /etc/pam.d/su même en mode mono-utilisateur, car le système de fichier est monté en read-only. J'ai donc réinstallé le système de base. J'ai su après par Alex, qu'on pouvait remonter le système de fichier par mount -o remout,rw /. Tanpis.
NSS et PAM configurés. Installation sur pitontortue de apache20 + phpldapadmin.
Je pense essayer de faire fonctionner proftpd juste en utilisant NSS et PAM plutôt qu'avec son module ldap.
Voici un graphe sismo de l'éruption depuis le début (19 Juillet 2006 au 25 Juillet) et une photo de l'éruption.

Installation de la FreeBSD sur le nouveau serveur (pitontortue). Quelques surprises, du à la barette de ram qui était foireuse. En effet, j'ai eu quelques core dump, notamment de adduser, ce qui nous a mis la puce à l'oreille. J'ai installé proftp, qui a l'air assez sympa à configurer avec ldap. On peut définir un filtre de recherche genre : '(allowFTP=yes)' si on a ajouté l'attribut allowFTP. Avant de rentrer j'ai installé pam_ldap car je vais en avoir besoin pour le FTP. Je le configurerai correctement demain.
Un mot : trempés.
On a fait une sortie aujourd'hui, pour entre autres voir l'éruption. Tout a bien commencé. Le matin, on nous informe qu'un hélico viendra nous déposer en haut de Bory. Donc, à peine arrivé à l'observatoire, j'enfile mes baskets, et part avec Patrice, Alex et Oanez. Seulement voilà, arrivé au parking de belle-combe, on voit que le temps se gâte. Trop tard pour reculer, l'hélicoptère est là. On y va.
On survole la coulée, c'était très sympa. Finalement, le pilote, un bleu, nous dépose sur Bory sud alors qu'on devait aller à Bory nord. Bon, on marche. Patrice avait les coordonnées GPS de la station sur laquelle on devait faire des modifs. Seulement voilà, Thomas, le directeur, c'était gouré de 500 mètres. On passe une heure à chercher la station. On y arrive.
Là commencent les manips. Patrice décide d'aller aux autres stations régler le WiFi des GPS. Je reste donc avec Frédéric. Je monte l'antenne Wifi, la fais pointer vers Piton Partage pendant qu'il installe je-ne-sais-quoi. On attend fabrice... sous la pluie. C'était le déluge. Pire, au bout d'un moment, il s'est mis à grêler. Mouillés jusqu'aux os, on rentre vers le parking (je fais en 10 minutes la montée jusqu'au pas de Belle-combe, à fond, ça réchauffe).
Sacrée sortie donc, mis à part qu'on a pas vu sauf de l'hélicoptère, l'éruption. Ça sera pour une autre fois j'espère.
Sans ça, on a monté le serveur qui fera FTP via LDAP. Je ferai mumuse avec demain (installation Freebsd, config proFTP).
AHHHH ! Tout s'est débloqué ! J'ai finalement installé une autre version de openldap (2.2). Et là, tout marche ! Ce que j'essayais de faire depuis 2 jours, je l'ai fait en 2 heures. J'ai juste un peu galéré avec la configuration du client sur fédora (je modifiais /etc/ldap.conf au lieux de /etc/opendldap/ldap.conf).
Maintenant se pose un autre problème, le server mail postfix. En effet, le port postfix a besoin de openldap-client-2.3.24 pour tourner. Or, la version qui va avec ce paquet openldap-client, le openldap-server est buggée au niveau de la couche TLS/SSL. Du coup, je suis légèrement dans une impasse. Je ne sais pas trop encore ce qu'on va faire. C'est d'autant plus bête que j'avais réussi à bien configurer postfix, à part Spamassassin avec qui il ne voulait pas parler.
Bon, quelle galère encore ! La journée comme hier sauf que j'ai pas fait postfix, donc j'ai quasiment pas avancé ! Enfin si, un chouillat. Asyd m'a dit qu'on pouvait faire les certificats n'importe où. Vu que le script CA.pl avait besoin de l'option -selsign, qui n'existait pas dans l'openssl de la FreeBSD, j'ai décidé de le faire sur lupin, à l'abris sur la Debian. Bon, les certificats ont l'air corrects, mais j'ai toujours droit à une erreur, quand il y a échange de certficats avec le client : Segfault
A noter aussi le fait qu'il faut bien préciser lors des connexions -H ldap://lenom.quon.trouve.dans.le.certificat.servercrt.pem. Et oui, des petites choses qui embêtent quand on ne les connait pas.
Bon, je ne sais pas comment je vais résoudre ça. J'ai bien envie d'essayer d'installer une autre version de openLDAP.
Journée pas évidente ! J'ai pas trop avancé. Je me suis cassé les dents sur les certificats en essayant de mettre en place TLS pour OpenLDAP?. Heureusement que ce matin j'ai configuré les aliases via LDAP pour postfix, ça me donne l'impression d'avoir fait quelque chose.
Sinon bah, la fonction annuaire de openLDAP fonctionne plutôt bien. On peut y accéder notamment via Thunderbird, Evolution, Outlook, etc.
Patrice a tenté de se coller à ProFTP? mais la FreeBSD semble trop vielle et cassée, donc à voir. Je pense qu'on va faire une box qui fera ProFTP? + esclave openLDAP mis à jour grâce à slurpd qu'il me reste à mettre en oeuvre.
Sinon, en rentrant, j'ai mis LDAP sur lupin également, avec une configuration postfix (aliases, exemple : fridim@fridim.org --> fridim-nlp@neuf.fr). J'ai ensuite, assez facilement, avec phpldapadmin ajouté fripette :-)
Alors, pour demain (je me motive !), je vais mettre en place SASL, pour de vrai, doucement, calmement (kerberos grrr). Je lirai aussi un peu de doc sur FreeBSD, histoire de me former un peu.