Autres API et protocoles
SIP2
SIP2 (Session Initiation Protocol) est un protocole de communication entre appareils.
Dans le contexte de Koha, SIP2 est utilisé pour la communication entre les bornes de prêt et le Système Automatisé de Circulation (ACS qui dans ce cas-ci est le serveur Koha).
Les communications SIP2 consistent en requêtes et réponses.
Les bornes d’auto-prêt sont « stupides » en ce sens qu’elles envoient des requêtes au serveur Koha qui exécute une logique de traitement pour déterminer le résultat qui est renvoyé en tant que message à la borne d’auto-prêt qui relaie ce message à l’utilisateur.
Avertissement
Note de sécurité concernant l’usage du service SIP2 : Pour vous assurer que votre trafic SIP2 est sécurisé lorsqu’il passe par Internet, utilisez un VPN ou stunnel.
Mise en place de SIP2
Astuce
Des conseils peuvent être trouvés sur le wiki de Koha :
Si vous avez installé Koha avec les paquets Debian, la mise en place de SIP2 se fait aisément. Veuillez simplement suivre les étapes suivantes :
1. In your terminal (in the root Koha directory) write in: sudo koha-enable-sip <instancename>
2. Now you need to configure the SIP2 settings, to do this you need to edit the SIPconfig.xml file which exists in the /etc/koha/sites/<instancename>/ directory. You will need to edit this file as root because it contains passwords (to do so write ‘sudo’ at the start of your command).
par exemple sudo vi /etc/koha/sites/<instancename>/SIPconfig.xml
Note
Note importante : Il y a trois zones dans le fichier SIPconfig.xml que vous devez modifier. Elles sont : service, account et institution.
Service
2.1 Changez la valeur du port vers le début du fichier SIPconfig.xml (identifié par le numéro 1 dans la capture d’écran), pour qu’il ait la même adresse IP que plus loin dans le fichier SIPconfig.xml, identifiée par le numéro 2.
Note
Assurez-vous que les deux valeurs n’ont pas le même numéro de port puisqu’un même port ne peut servir à deux services différents. Lorsque vous décidez du numéro de port à assigner, assurez-vous que ce soit un nombre élevé (c’est à dire plus élevé que 1000) parce que tous les ports sous 1000 requièrent les permissions root.
Account
Les comptes définis dans le fichier SIPconfig.xml sont simplement des comptes qui peuvent utiliser le service SIP2, c’est-à-dire que vous définissez qui peut envoyer et recevoir des commandes SIP2.
Avertissement
Les informations de compte que vous inscrivez ici doivent également exister dans la base de données de Koha, c’est-à-dire que vous devez créer un adhérent dans l’interface professionnelle de Koha avec le même identifiant et mot de passe (sans oublier de lui assigner les permissions de circulation) que le compte d’utilisateur que vous notez dans le fichier SIPconfig.xml.
Note
Il est fortement recommandé de n’inscrire que des utilisateurs Koha avec les permissions de circulation.
La raison pour laquelle nous souhaitons que les utilisateurs SIP2 n’aient que les permissions de circulation plutôt que la permission superbibliothécaire est la restriction de l’accès des utilisateurs SIP2 aux informations confidentielles des adhérents, dans le cas où le système serait compromis.
Si le ACS ou la borne d’auto-prêt était compromis, le fait que les utilisateurs SIP2 n’aient que les permissions de circulation signifie que l’intrus ne pourrait accéder aux données des adhérents que par le terminal plutôt que par l’interface web (qui n’est accessible qu’avec la permission superbibliothécaire). Il s’agit simplement de protection de vos adhérents.
Définition des valeurs de compte :
Login id : Ceci est l’identifiant du compte. - Modifiez-le en conséquence
Password : Le mot de passe du compte - Modifiez-le en conséquence
Delimiter : Il s’agit du type de délimiteur pour l’information du compte - Laissez tel quel
error-detect - Laissez tel quel
Institution : Il s’agit du branchcode de la bibliothèque d’appartenance de l’utilisateur. NOTE : Cette institution doit être définie plut loin dans la section institution du fichier SIPconfig.xml et doit également exister dans la base de données de Koha. Vous devez donc créer un site avec le même branchcode dans l’interface professionnelle de Koha.
encoding : Il s’agit du standard utilisé pour encoder les données du compte
Terminator : Doit correspondre au caractère d’arrêt du serveur SIP2. - Modifiez-le si vous connaissez le caractère d’arrêt du serveur SIP2.
Il est aussi possible d’ajouter des attributs adhérents personnalisés aux comptes SIP2 en utilisant le format suivant :
<patron_attribute field= »XX » code= »CODE1 » /> <patron_attribute field= »XY » code= »CODE2 » /> <patron_attribute field= »XZ » code= »CODE3 » />
Institution
Les informations d’organisation que vous définissez ici doivent correspondre à un site créé dans l’interface professionnelle de Koha.
Avertissement
Vous devez vous assurer que toutes les organisations auxquelles des comptes d’utilisateurs ont été assignés précédemment dans le fichier SIPconfig.xml sont aussi définies dans la section institution du même fichier.
Définitions des valeurs d’institution :
1. Institution id: The branchcode of the library. - Modify this accordingly. Must be the same as created in Koha and the account area.
Implementation : Définit le code qui sera envoyé. - Laissez tel quel
3. Policy: Policy defines the permitted SIP2 commands allowed from SC’s in this institution. For example: renewal=”true” means that SC’s at that institution have permission to send renewal item SIP2 commands.
4. Starting SIP2 Simply write in the command: sudo koha-start-sip <instancename>
Note
Vous avez maintenant un serveur SIP2 opérationnel.
Note
Optionnellement, vous pouvez configurer le comportement d’automates de tris en utilisant les préférences système UseLocationAsAQInSIP et SIP2SortBinMapping.
Utiliser SIP2
SIP2 est un protocole de communication. Les messages envoyés en SIP2 sont soit des requêtes ou des répondes. Les bornes d’auto-prêt envoient des messages de requête au système automatisé de circulation qui effectuera un traitement logique et renverra le résultat à la borne d’auto-prêt en tant que message de réponse.
Le message de requête contient des arguments qui sont des données utilisées par le système automatisé de circulation dans ses fonctions pour exécuter la tâche requise comme renouveler des exemplaires.
Commandes SIP2
Si vous souhaitez utiliser ou tester SIP2 manuellement, vous devrez écrire et recevoir des messages à travers le terminal de Linux.
Pour envoyer et recevoir des messages du serveur SIP2 vous devez utiliser telnet pour ouvrir une connexion SIP2. Vous devez spécifier le numéro de port que telnet doit utiliser.
Vous trouverez cette information au début du fichier SIPconfig.xml (cherchez le numéro de port, tel qu’indiqué par une flèche dans la capture d’écran ci-dessous).
Écrivez dans le terminal
telnet localhost <portnumber>
par exemple telnet localhost 8023
Écrivez l’identifiant et le mot de passe d’un des comptes du fichier SIPconfig.xml.
Vous êtez maintenant connecté au serveur SIP2 et vous pouvez commencer à écrire et envoyer des commandes de requête. La connexion au serveur SIP2 arrive rapidement au bout de son délai, donc si vous n’avez pas terminé d’écrire et de recevoir des commandes, écrivez :
telnet localhost <portnumber>
pour redémarrer la connexion SIP2.
Syntaxe de commande SIP2
Chaque commande SIP2 a un préfixe de 2 chiffres qui définit ce que la commande fait.
Par exemple, pour avoir de l’information à propos d’un adhérent, vous commencez votre commande par le préfixe 63. La réponse du serveur aura un préfixe numérique correspondant.
Vous trouverez ci-dessous un exemple de message de requête pour avoir des information d’adhérent (dans cet exemple, une fiche d’adhérent a été créée dans l’interface professionnelle de Koha avec l’identifiant « joe », le mot de passe « joes » et le numéro de carte « y76t5r43 »).
De plus, un site avec le branchcode « WEL » a été créé dans l’interface professionnelle de Koha et est également défini dans la section institution du fichier SIPconfig.xml) :
Le format de ce message de requête SIP2 est :
Note
La valeur summary est une valeur de 10 caractères. Si Y est inscrit comme valeur summary vous pourrez obtenir un sommaire ainsi que des informations plus détaillées comme résultat.
La valeur dans <YYYYMMDD> <HHMMSS> correspond à la date et l’heure actuelles, en laissant 4 espaces entre YYYYMMDD et HHMMSS vous indiquez que vous désirez utiliser l’heure locale plutôt que UTC.
Note
Dans ce manuel, dans la mesure du possible, les codes alphabétiques pour les champs sont utilisés dans la description des champs des messages SIP2, par exemple AO<institutionid>.
Ces codes alphabétiques peuvent être écrits dans les commandes SIP2 dans le terminal Linux, mais lorsque vous substituez des valeurs (valeurs entre <>), assurez-vous de ne pas écrire les chevrons <>.
Messages SIP2 :
Bloquer un adhérent
Ceci utilise le préfixe 01 pour les messages de requêtes et 24 pour les messages de réponses.
Message de requête :
Note
Card retained est un champ d’un seul caractère, « Y » ou « N », qui indique au système automatisé de circulation qu’une carte a été retenue par la borne d’auto-prêt.
Message de réponse :
Note
<patronstatus> est une valeur de 14 caractères. La valeur Y dans la chaîne veut dire vrai. Chaque position dans cette chaîne (commençant par 0) a une seule valeur correspondante (Y ou N) dans la chaîne.
par exemple, un Y à la position 1 (la deuxième valeur de la chaîne) signifie que les privilèges de renouvellement de l’adhérent sont refusés.
Retourner des documents
Ceci utilise le préfixe 09 pour le message de requête (message envoyé au système automatisé de circulation) et le préfixe 10 pour le message de réponse (message envoyé à la borne d’auto-prêt).
Message de requête :
Note
<no block (Offline)> est un champ d’un seul caractère, soit « Y » ou « N », qui indique si la transaction est exécutée hors-ligne. Comme les transactions hors-ligne ne sont pas supportées, vous devez écrire « N » si vous testez ce message manuellement.
<transactiondate> est un champ de date de 18 caractères au format : AAAAMMJJZZZZHHMMSS.
ZZZZ indique le fuseau horaire, si vous souhaitez utiliser votre fuseau horaire local, vous devez laisser 4 espaces, mais si vous voulez utiliser UTC (Temps Universel Coordonné), vous devez alors laisser 3 espaces vides et un Z.
Message de réponse :
Note
Alert type peut avoir une valeur parmi : 00 : inconnu 01 : réservation local 02 : réservation distante 03 : transfert ILL 04 : transfert 99 : autre
Si un exemplaire est resensibiliser, alors la valeur of <resensitize> devrait être Y et N sinon. La resensibilisation est faire pour assurer que si quelqu’un essaye de voler l’exemplaire il sera détecté.
Prêter des documents
Ceci utilise le préfixe 11 pour le message de requête et le préfixe 12 pour le message de réponse. La syntaxe est similaire à la commande de prêt, détaillé au dessus, à l’exception des préfixes.
Réservation - Peut ne pas être supporté par certains systèmes. Ceci utilise le préfixe 15 pour le message de requête et le préfixe 16 pour le message de réponse.
Message de requête :
Note
<holdmode> est une valeur d’un seul caractère. + veut dire ajouter une réservation, - veut dire supprimer une réservation * veut dire modifier une réservation.
Message de réponse :
Note
<ok> est une valeur d’un seul caractère qui est soit 0 (la réservation n’est pas autorisée ou n’a pas abouti) ou 1 (la réservation est autorisée et a abouti).
<available> est une valeur d’un seul caractère qui est soit Y soit N. Y signifie que le document est actuellement dans la bibliothèque, tandis que N signifie que le document est actuellement en prêt ou que quelqu’un d’autre a une réservation pour ce document.
Information sur un exemplaire : Ceci utilise le préfixe 17 pour le message de requête et le préfixe 18 pour le message de réponse
Message de requête :
Note
Voir la commande de retour de document (décrite ci-dessus) pour des explications de la valeur <xact_date>.
La valeur terminal password est optionnelle.
Message de réponse :
Mise à jour du statut d’un exemplaire : Ceci utilise le préfixe 19 pour le message de requête et le préfixe 20 pour le message de réponse
Message de requête :
Note
<itemproperties> n’a pas une longueur fixe, et vous pouvez optionnellement entrer des valeurs telles que la taille d’un exemplaire et ces valeurs seront stockées dans la base de données Koha pour l’exemplaire.
Message de réponse :
Note
<itempropertiesok> est une valeur d’un seul caractère qui est soit 0 soit 1. 1 indique que la valeur <itemproperties> définie dans la requête de modification du statut d’un exemplaire a été stockée dans la base de données Koha.
Statut adhérent
Ceci utilise les préfixes 23 pour les messages de requêtes et 24 pour les messages de réponses.
Message de requête :
Message de réponse :
Note
La valeur utilisé pour <patronvalidity> est Y (valide) ou N (invalide) La valeur dans le champ <YYYYMMDD> < HHMMSS> est la date/heure actuelle.
La raison de l’espace entre les deux valeurs est pour définir que l’on souhaite utiliser l’heure locale à la place du temps UTC.
Autoriser un adhérent - Ceci n’est pas encore supporté. Ceci utilise préfixe 19 pour le message de requête et le préfixe 20 pour le message de réponse
Note
Cette commande annule la commande bloquer un adhérent.
Message de requête :
Message de réponse :
Renouvellement Ceci utilise le préfixe 29 pour le message de requête et le préfixe 30 pour le message de réponse.
Message de requête :
Note
<thirdpartyallowed> est une valeur d’un seul caractère qui est soit Y soit N. Si c’est Y alors des tiers peuvent renouvellement les exemplaires.
<noblock> est une valeur d’un seul caractère qui est soit Y soit N. Y signifie que l’exemplaire a été prêté/retourné quand l’ACS était hors connexion.
<nbduedate> est la date de l’opération de prêt/retour quand l’ACS était hors connexion.
<feeacknowledged> est une valeur d’un seul caractère qui est soit Y soit N. Elle indique si l’utilisateur accepte les frais associés à l’exemplaire en cours de renouvellement.
Message de réponse :
Note
<ok> est une valeur d’un seul caractère qui est soit 0 soit 1. Une valeur de 1 signifie que l’exemplaire a été renouvelé avec succès, 0 signifie que l’exemplaire n’a pas été renouvelé.
<renewalok> est une valeur d’un seul caractère qui est soit Y, soit N. La logique de définition de la valeur de <renewalok> est la suivante, Y est définie lorsque l’exemplaire est déjà en prêt pour l’adhérent et doit donc être désensibilisé, ce qui le renouvelle, tandis que N est défini si l’article n’est pas déjà en prêt chez l’adhérent et qu’il ne doit donc pas être renouvelé.
En d’autres termes, cela ne laisse pas les adhérents renouveler des exemplaires qu’ils n’ont pas déjà en prêt.
<magneticmedia> est une valeur d’un seul caractère qui est soit Y (pour oui), N (pour non) ou U (pour inconnu).
<mediatype> est une valeur de trois caractères numériques. Pour une liste des valeurs voir : http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
Fin de session
Ceci utilise le préfixe 35 pour le message de requête et le préfixe 36 pour le message de réponse
Message de requête :
Message de réponse :
Note
<success_or_failure> est soit Y pour succès ou N pour échec.
Paiement des frais - Peut ne pas être implémenté pour le moment. Ceci utilise le préfixe 37 pour le message de requête et le préfixe 38 pour le message de réponse
Message de requête :
Note
<feetype> est une valeur de deux caractères numériques entre 01 et 99. Pour voir une liste des types de frais voir : http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
<paymenttype> est une valeur à 2 chiffres comprise entre 00 et 99. 00 est Espèces, 01 est Visa, et 02 is Carte de crédit.
<currencytupe> est une valeur de trois caractères alphanumériques identifiant la monnaie dans laquelle le paiement est effectué.
Message de réponse :
Note
<paymentaccepted> est une valeur d’un seul caractère qui est soit Y (paiement accepté) oui N (paiement non accepté).
Informations adhérent
Ceci utilise le préfixe 63 pour le message de requête et le préfixe 64 pour le message de réponse
Message de requête :
Message de réponse :
Note
<valid patron> est Y pour valide est N pour invalide.
Note
<hold itemcount><overdueitemcount><chargeditemscount><fienitemscount><recallitemscount><unavaliableholdscount> sont toutes des valeurs de quatre caractères numériques.
Tout renouveler
Ceci utilise le préfixe 65 pour le message de requête et le préfixe 66 pour le message de réponse.
Message de requête :
Message de réponse :
Note
<renewedcount> est une valeur de quatre caractères numériques indiquant le nombre d’exemplaires qui ont été renouvelés.
<unrenewedcount>, a le même format que <renewdcount> mais indique le nombre d’exemplaires non renouvelés.
Connexion
Ceci utilise le préfixe 93 pour le message de requête et le préfixe 94 pour le message de réponse.
Message de requête :
Note
<UIDalgorithm> et <PWDalgorithm> sont des valeurs d’un seul caractère indiquant le type d’algorithme utilisé pour crypter le loginuserid et le loginpassword respectivement.
La valeur 0 signifie que ces valeurs ne sont pas cryptées.
Message de réponse : 941 est une connexion réussie. 940 est une connexion échouée [connection closed by foreign host.] est une connexion échouée
Renvoyer
Ceci demande au receveur de renvoyer le dernier message.
SC -> ACS demande de renvoi est 97
ACS->SC demande de renvoi est 96
Statuts de l’ACS et du SC
Ceci utilise le préfixe 99 pour le message de requête et le préfixe 98 pour le message de réponse.
Message de requête :
Note
<status code> est l’une des 3 valeurs. * 0 : SC est ok * 1 : SC n’a plus de papier * 2 : SC s’arrête. <max print width> est une valeur de 3 caractères qui correspond au nombre entier de caractères que le client peut imprimer. <protocol version> est une valeur de 4 caractères au format x.xx
Message de réponse :
Note
Si vous recevez un message de réponse “96” cela signifie que le message de requête n’est pas valide/n’a pas été compris.
Problème avec SIP2
Impossible de se connecter à l’hôte distant avec la commande telnet localhost <portnumber>
3 solutions à ce problème sont :
Vérifiez que le numéro de port dans la commande ci-dessus est le numéro de port indiqué dans le fichier SIPconfig.xml au chemin indiqué par le numéro 1 (dans la section Mise en place de SIP2 - Service). Dans l’exemple, comme le numéro de port est 6001, la commande correcte est : telnet localhost 6001.
Vérifiez si certains userid sont utilisés plus d’une fois dans le fichier SIPconfig.xml. L’userid (qui est simplement l’identifiant (username) de l’utilisateur Koha) doit être unique dans le fichier SIPconfig.xml. Si vous avez plusieurs fois le même userid dans votre fichier, cela causera l’échec de la connexion à SIP2 avant même d’avoir une chance de s’identifier.
Vérifiez que le compte adhérent défini dans le fichier SIPconfig.xml existe également dans la base de données de Koha avec le même identifiant, mot de passe et a la permission circulate. Si vous avez vidé et recréé la base de données de Koha après la création du compte adhérent depuis l’interface professionnelle de Koha et la création du fichier SIPconfig.xml, alors le compte adhérent n’existera plus dans la base de données et il faudra le recréer depuis l’interface professionnelle de Koha.
Pour accéder aux logs de SIP2 dans votre instance Koha, allez dans le dossier suivant : /var/log/koha/<instancename>
Puis, visualisez la sortie des fichiers sip-error.log et sip-output qui donne des informations détaillé sur les erreurs de SIP2.
cat sip-error.log
cat sip-output.log
Lien utile sur les commandes SIP2
http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
LDAP
Setting up LDAP (Lightweight Directory Access Protocol) for Koha allows you to store all user information in a central database which is accessed both by your organisation’s Koha instance and for users to authenticate on other existing systems.
LDAP is a protocol used for file discovery over networks and network authentication.
LDAP configurations are powerful allowing you to customise how Koha and LDAP interact. LDAP can be configured so that new accounts created in LDAP can be synced down into the Koha database, additionally updates to the LDAP user account are synced down to the Koha database.
However Koha cannot sync data up to the LDAP server, thus the data traffic when using LDAP is only one directional.
Auth_By_Bind is set to 1 where a Microsoft Windows Active Directory system is in use in the LDAP database.
Before going through the steps to configure LDAP you will need the following information/actions from the organisation
The organisation will need to open a port to allow access to their AD from the server.
Information on the access to the AD server (IP address/hostname, port, SSL info)
Information on the configuration of the AD server (relevant OUs, DCs, CN formats relative to usernames)
Mapping between AD fields and Koha fields, including defaults
Default values for things not provided by AD (categorycode, branchcode for example)
To authenticate a user do we bind as them (seems to be common for AD) or do we use an account and login with that and then check? If the latter, we’ll need details of how to log in
Do the existing usernames in Koha match the usernames that we’ll be using to look them up in AD? If so, good. If not, how will we deal with duplicate users?
Steps to set up LDAP with your Koha instance
1 In Linux terminal navigate to the directory containing the koha-conf.xml file which will either be in: * /etc/koha/sites/<instance-name>/ OR * /etc/koha/
2 Open the koha-conf.xml file with root permissions: sudo vi koha-conf.xml
3 Scroll down to the line containing ‘<useldapserver>0</useldapserver>’ and change it to: <useldapserver>1</useldapserver>
4 Then in the next line below write in the LDAP configurations below:
<ldapserver id="<ldapserverid>">
<hostname><hostname></hostname>
<base>dc=<domaincontroller>,dc=<domaincontroller></base>
<user>cn=<nameofuser>, dc=<domaincontroller>,dc=<domaincontroller></user> <!--This is the username of user account with permissions to query the LDAP server -->
<pass><password></pass> <!-- This is password of the user account with permissions to query the LDAP server-->
<replicate><either0or1></replicate> <!-- add new users from LDAP to Koha database -->
<welcome><either0or1></welcome> <!-- send new users the welcome email when added via replicate -->
<update><either0or1></update> <!-- update existing users in Koha database -->
<auth_by_bind><either0or1></auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison, e.g., to use Active Directory -->
<principal_name><principalname></principal_name> <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
<mapping> <!-- match koha SQL field names to your LDAP record field names-->
<firstname is="givenname"></firstname>
<surname is="sn"></surname>
<address is="postaladdress"></address>
<city is="l">Athens, OH</city> <!-- Athens,OH is the default value for
city of all users logging into Koha -->
<zipcode is="postalcode"></zipcode>
<branchcode is="branch">Central</branchcode>
<userid is="uid"></userid>
<password is="userpassword"></password>
<email is="mail"></email>
<categorycode is="employeetype">EM</categorycode>
<phone is="telephonenumber"></phone>
</mapping>
</ldapserver>
5 Save and exit the koha-conf.xml file
6 Check the LDAP connection works by writing in:
ldapsearch -H ldaps://host.name -s base -x -w « » -d 1
Note
Note about hostname Hostname can either be a alphanumerical name or it can be the LDAP server IP address (its optional to write port number). By default the ldaps default port number is 636, whilst ldap default port number is 389
Note
Note about the replicate and update fields The replicate LDAP config field for LDAP in the koha-conf.xml file allow the Koha database to be added to with a new borrower account whenever a user logs into Koha (either the staff client or OPAC) with their LDAP username and password (assuming the same username and password does not already exist in the Koha database).
Whereas the update LDAP config field (in the same file allows) allows for user information in the LDAP database to be synced down to the Koha database. e.g. if someone gets married and their surname changes then the new surname only needs to be updated in the existing LDAP database and that will be synced down to the Koha database automatically if the update configuration is set to 1.
About the mapping fields (the fields highlighted green) <city is= »l »>Athens, OH</city>
The left hand column name (highlighted yellow) is the name of the column in the LDAP database.
The column name inside quote marks (highlighted pink) is the name of the column in the Koha database. NOTE: This can be filled with any value if there is no equivalent column name in the Koha database as exists in the LDAP database.
The value highlighted cyan is the default value for the specified Koha and LDAP columns. So in the above example all user records in the Koha and LDAP databases will by default have the city value of ‘Athens, OH’.
Example of the LDAP configurations:
<useldapserver>1</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
<ldapserver id="ldapserver" listenref="ldapserver">
<hostname>ldaps://example.co.au</hostname>
<base>ou=employees,dc=companya,dc=com,dc=au</base>
<user></user> <!-- DN, if not anonymous -->
<pass></pass> <!-- password, if not anonymous -->
<auth_by_bind>1</auth_by_bind>
<replicate>1</replicate> <!-- add new users from LDAP to Koha database -->
<update>0</update> <!-- update existing users in Koha database -->
<principal_name>ou=employees,dc=companya,dc=com,dc=au</principal_name>
<mapping>
<userid is="uid" ></userid>
<cardnumber is="uid" ></cardnumber>
<email is="mail" ></email>
<surname is="sn" ></surname>
<firstname is="givenname" ></firstname>
<categorycode is="1">EM</categorycode>
<branchcode is="1">SYD</branchcode>
</mapping>
</ldapserver>
The values in the mapping area are not always the same, and it depends on what is in your organisations LDAP database. For example some organisations do not use <userid> instead each user is only identified by the <email> field and so no <userid> is written.
Troubleshooting LDAP
The log that LDAP errors are printed to depends on several factors:
If plack is not disabled then LDAP errors are displayed in the plack-error.log file If plack is disabled then the location that LDAP errors are printed to is either the opac-error.log file (if the user is logging into the OPAC) or the intranet-error.log file (if the user is logging into the staff client) All of these three log files are accessible in the following directory:
/var/log/koha/<instance>/