Il y a eu beaucoup de changements.
On a eu quelques difficultés à utiliser iodbc (gestionnaire de drivers odbc) avec myodbc (driver odbc pour mysql) sur la sarge. Il en était de même avec postgresql (driver odbc : odbc-postgresql). J'ai essayé de le faire sur ma machine perso (sous kubuntu 5.04) en utilisant postgresql ça a marché nickel on a donc décidé de changer de distrib et de sgbdr.
voilà le détail :
Code :
- sudo apt-get install postgresql odbc-postgresql iodbc libiodbc2 libiodbc2-dev
|
postgresql : le sgbdr
odbc-postgresql : le driver odbc
iodbc : le gestionnaire
libiodbc2-dev : contient le fichier sql.h nécessaire à la compilation de openldap avec le support d'un back-end sql
le fichier /etc/odbc.ini doit ressembler à ça :
Code :
- [ODBC Data Sources]
- pgsql=postgresql
- ;pgsql est le dsn, c'est à dire le nom de la source de données odbc. postgresql est le nom du driver odbc à utiliser (à indiquer dans /etc/odbcinst.ini)
- [pgsql]
- Driver=/usr/lib/odbc/psqlodbc.so
- Description=Connexion à LDAP/POSTGRESQL
- Servername=localhost ;la machine sur laquelle tourne postgresql
- Port=5432 ;le port de postgresql
- Protocol=6.4 ;je sais pas trop quoi mettre ici, 7.x devrait marcher
- FetchBufferSize=99
- Username=test ;nom d'utilisateur de la base de données
- Password=test ;mot de passe de cet utilisateur
- Database=pg_ldap ;nom de la base de données
- ReadOnly=no
- Debug=1
- CommLog=1
- [ODBC]
- InstallDir=/usr/lib/odbc
|
fichier /etc/odbcinst.ini :
Code :
- [postgresql]
- Description=ODBC pour PostgreSQL
- Driver=/usr/lib/odbc/psqlodbc.so
- [ODBC]
- Trace=1
- Debug=1
- Pooling=No
|
On crée la base de données pg_ldap et l'utilisateur test sous l'identité postgres :
Code :
- sudo su - postgres
- createdb pg_ldap
- createuser --no-createdb --no-adduser --password test
|
au prompt password on donnera le mot de passe test (ce que vous voulez, tout comme le nom d'utilisateur et le nom de la bdd, le tout étant de donner les bons paramètres dans /etc/odbc.ini)
Il serait bon d'éditer le fichier /etc/postgresql/pg_hba.conf pour gérer les accés à postgresql et les méthodes d'authentification (typiquement password = avec mot de passe, trust = sans mot de passe)
A ce stade on doit pouvoir tester la connexion odbc :
Code :
- iodbctest
- iODBC Demonstration program
- This program shows an interactive SQL processor
- Driver Manager: 03.52.0001.0928
- Enter ODBC connect string (? shows list): ?
- DSN | Driver
- ------------------------------------------------------------------------------
- pgsql | postgresql
- Enter ODBC connect string (? shows list): dsn=pgsql
- Driver: 07.03.0200 (libpsqlodbc.so)
- SQL>
|
Si vous avez le prompt SQL c'est bon.
J'ai ensuite compiler openldap à partir des sources. http://www.openldap.org/software/download/
J'ai choisi de prendre la dernière version stable : 2.2.24
Code :
- tar xzf openldap-version.tgz
- cd openldap-version
- ./configure --enable-sql --without-cyrus-sasl --disable-bdb --enable-crypt
- make depend
- make
- make install
|
le fichier de conf se trouve alors ici : /usr/local/etc/openldap/slapd.conf
l'exécutable ici : /usr/local/libexec/slapd
lancer slapd avec l'option -d 1 permet d'avoir les message de debug et donc de voir les eventuel erreurs.
pour un exemple de slapd.conf et pour la suite je vous renvoie sur le tuto que j'ai suivi : http://www.samse.fr/GPL/ldap_pg/HOWTO/index.html
Pour l'option dbname du slapd.conf, il ne faut pas mettre le nom de la base de données mais le DSN.
Toutes les commandes de cette page http://www.samse.fr/GPL/ldap_pg/HOWTO/x132.html ont fonctionné sauf la dernière. Le message d'erreur m'indique qu'il faut utiliser une authentification (plus) forte. Je penche du côté de sasl. Il faudra donc changer les options utilisées au ./configure
Je sais pas quel paquet installer pour ubuntu (je préfèrerai nettement un paquet à des sources)
Je ne trouve pas de paquet cyrus-sasl ni saslauthd
Comme d'hab si vous avez des renseignements à ce niveau, je prends !
C'est tout pour l'instant
Aprés ça j'enchaine sur samba. Je cherche également des renseignements concernant l'interface php qu'on veut écrire.
Faudra-t-il passer par odbc ? ldap ? ou s'adresser directement à postgresql ? Dans ce dernier cas est-ce plus difficile que php/mysql (qu'on trouve plus couramment).
Message édité par phoenix-dark le 29-04-2005 à 11:53:55
---------------
Pingouins dans les champs, hiver méchant.