logo_linshare

INSTALLATION CONFIGURATION LINSHARE AVEC LIAISON LDAP ou ACTIVE DIRECTORY SUR DEBIAN

LinShare est une application de partage de fichiers sécurisés libre et gratuite, développée et distribuée par l’entreprise Linagora selon les méthodes de développement du logiciel libre/open source.

LinShare permet la mise en place d’une plate-forme de partage de fichiers, avec une contrainte forte de sécurité, entre les collaborateurs d’une entreprise mais également avec des correspondants externes. (Src : Wikipedia)

 

Sources : http://www.linshare.org/

 

Pré-Requis : Debian Squeeze à Jour

1 – Installation des pré-requis

Appuyer sur [TAB] puis sur [ENTREE]

Appuyer sur [TAB] puis sur [ENTREE] (Si vous acceptez la licence) !

2 – Installation de la base de données

Linshare a besoin d’une base de données pour fonctionner. Nous allons utiliser PostgreSQL. Il va falloir créer deux bases de données, linshare et linshare_data.

2-1 Création d’un utilisateur

Nous allons créer un utilisateur linshare pour la base PostgreSQL

Se connecter en utilisateur postgresql

Lancer l’interpréteur PostgreSQL

Saisir les commandes suivantes

2-2 Création des bases

Toujours en utilisateur Postgres, saisir dans l’interpréteur PostgreSQL les commandes suivantes.

Quitter l’interpréteur

Revenir en root

2-3 Configuration des accès PostreSQL

Afin de nous identifier en tant qu’utilisateur PostgreSQL linshare, saisir les lignes suivantes dans le fichier pg_hba.conf

METTRE DES TABULATIONS ENTRE LOCAL ET ALL ET ALL PUIS DEUX TABULATIONS ENTRE ALL ET PASSWORD

Redémarrer les services PostgreSQL

Tester la connexion à la base

Quitter la base

2-4 Insertion des schémas SQL

Pour faire fonctionner linshare, il faut insérer les schémas SQL fourni dans les sources. Il faut récupérer les sources via Subversion.

Création d’un dossier temporaire.

Se déplacer dans ce dossier

Récupération des sources

Se déplacer dans le dossier contenant les scripts SQL

Insertion des scripts

3- Configuration de Linshare

2-1 Création de l’utilisateur linshare pour Tomcat

Cet utilisateur aura les droits administrateurs de Tomcat. Il permettra l’administration de ce service via une page web.

Éditer le fichier tomcat-users.xml

Saisir la ligne suivante

Redémarrer les services Tomcat

Tester le bon fonctionnement. Depuis un navigateur, saisir l’URL
http://IP.DE.VOTRE.SERVEUR:8080/manager/html

Saisissez votre identifiant et mot de passe configurés plus haut, la page ci-dessous doit apparaitre.

2-2 Création des répertoires pour linshare

 

 

2-3 Fichier de configuration

Copie des fichiers de configuration

Indiquer à Tomcat, le chemin de configuration de linshare. Éditer le fichier /etc/default/tomcat6.

Modifier la ligne JAVA_OPTS et rajouter à la fin de celle-ci -Dlinshare.config.path=file:/etc/linshare

Modification du fichier linshare.properties

 

3 – Démarrage de Linshare

3-1 Déploiement de linshare

Télécharger l’archive .war sur le site de Linshare. Dans mon cas j’ai utilisé le fichier linshare-1.2.2-without-SSO.war

https://forge.linshare.org/projects/linshare/files

Une fois le fichier téléchargé, renommez le en linshare.war

Pour installer Linshare, nous allons passer par l’interface d’administration Tomcat.

Depuis un navigateur, saisir l’URL
http://IP.DE.VOTRE.SERVEUR:8080/manager/html

Cliquer sur Parcourir, aller chercher le fichier linshare.war puis cliquer sur Deployer

Une fois le fichier déployé, il apparait dans la liste. Cliquer sur Démarrer

Cliquer sur Ok

Afin de vérifier de bon fonctionnement ou un éventuel problème, saisir la commande suivante :

3-2 Première connexion

Linshare est maintenant installé. Pour vérifier son fonctionnement, saisir l’adresse suivante dans un navigateur internet

http://ip.de.votre.serveur:8080/linshare

Identifiant : root@localhost.localdomain

Mot de passe : adminlinshare

Si tous se passe bien, la page suivante va apparaitre.

Linshare nécessite une base LDAP (Active Directory, OpenLDAP..) pour l’authentification LDAP.

4 – Liaison Active Directory

Pré-requis : Adresse mail des utilisateurs renseigné dans l’AD

4-1 Création d’une connexion LDAP

Cliquer sur Domaine puis Créer une connexion LDAP

Saisir les informations demandées puis cliquer sur Valider

Identifiants : Nom pour la connexion (Ex : Test)

URL du LDAP : ldap://ip.de.votre.AD:389

Principal : DN du compte qui permet l’accès a AD (Ex: CN=Administrateur,CN=Users,DC=domaine,DC=local)

Credentials : Mot de passe du compte

4-2 Création d’un Modèle de Domaine

Un modèle de domaine permet de définir comment récupérer les informations liées aux utilisateurs et dans quelle unité d’organisation les trouver.

Cliquer sur Domaines puis Créer un modèle de domaine

Saisir les informations demandées.

Identifiant : Identifiant unique pour le modèle (Ex:Test_Modele)

Description : Description du modèle (Ex: Modèle de test)

Commande auth : Commande permettant l’authentification à linshare.

/!\ Modifier la commande par celle-ci : ldap.list(domain, « (&(objectClass=*)(givenName=*)(sn=*)(|(mail= »+login+ »)(uid= »+login+ »))) »); /!\

Commande searchUser : Commande utilisée pour rechercher un utilisateur.

/!\ Modifier la commande par celle-ci :
ldap.list(domain, « (&(objectClass=*)(mail= »+mail+ »)(givenName= »+firstName+ »)(sn= »+lastName+ »)) »);

Une fois tous les champs remplis, cliquer sur Valider

4-3 Création d’un Domaine

Cliquer sur Domaines puis Créer un domaine

Saisir les informations demandées puis cliquer sur Valider

Identifiant : Identifiant unique (Ex: Domaine1)

Clé différentielle : Permet de spécifier une unité d’organisation spécifique (OU= Users,DC=mondomaine,DC=local)

Default Locale : Langue par défaut

Rôle de l’utilisateur : Rôles des utilisateurs pour ce domaine

Description : Description du domaine (Ex: Mon domaine fonctionne)

Policy Identifier : Définit une règle d’ACL

Modèle de domaine : Modèle à utiliser

LDAP Identifier : Connexion LDAP à utiliser

 

Depuis un navigateur internet, saisir les informations suivantes puis cliquer sur Connexion.

http://ip.de.votre.serveur:8080/linshare

Identifiant : adresse mail renseigné dans l’AD

Mot de passe : mot de passe AD

Si l’authentification se passe bien, la fenêtre suivante devrait apparaître

5 – Installation OpenLDAP

Si vous souhaitez comme moi séparer vos utilisateurs AD et vos utilisateurs Linshare, vous pouvez monter une base OpenLDAP. Pour cela commencer par installer le paquet slapd

La fenêtre suivante apparait, saisir un mot de passe puis Ok

Saisir de nouveau le mot de passe puis Ok

5-1 Installation des utilitaires

Configuration

Sélectionner Non puis [Entree]

Saisir un nom de domaine puis Ok

Saisir un nom d’organisation puis Ok

Saisir un mot de passe puis Ok

Confirmer le mot de passe puis Ok

Sélectionner HDB puis Ok

Non puis appuyer sur [ENTREE]

Choisir Oui puis [ENTREE]

Choisir Non puis Entree

Une base est maintenant créée.

5-2 Vérification

5-3 Interface d’administration

Pour administrer OpenLDAP plusieurs solutions existent: interfaces web, applications etc…

Dans mon cas je vais utiliser LdapAdmin, une application disponible sur le site suivant. Ce logiciel est entièrement gratuit.

Disponible sur le SourceForge à l’adresse suivante : http://sourceforge.net/projects/ldapadmin/files/ldapadmin/

Une fois l’archive téléchargée et décompressée, exécuter LdapAdmin.exe

Cliquer sur Start puis Connect

Double-Clique sur New Connection

Saisir les informations demandées puis cliquer sur Ok.

Connection name : Nom de la connexion

Host : Adresse IP de votre serveur LDAP

Base : DN de la base. Cliquer sur Fetch DNs pour faire apparaitre le DN

Username : Nom d’utilisateur pour l’accès a LDAP

Password : Mot de passe du compte

Une fois la connexion créée, double cliquer sur OpenLDAP

Une fois connecté, la fenêtre suivante apparaît:

Vous pouvez maintenant créer les utilisateurs et les unités d’organisations que vous désirez.

6- Liaison LDAP

6-1 Création d’une connexion LDAP

Cliquer sur Domaine puis Créer une connexion LDAP

Saisir les informations demandées puis cliquer sur Valider

Identifiants : Nom pour la connexion  (Ex : Test)

URL du LDAP : ldap://ip.de.votre.AD:389

Principal : DN du compte qui permet l’accès a AD (Ex: CN=Administrateur,CN=Users,DC=domaine,DC=local)

Credentials : Mot de passe du compte

6-2 Création d’un Modèle de Domaine

Un modèle de domaine permet de définir comment récupérer les informations liées aux utilisateurs et dans quelle unité d’organisation les trouver.

Cliquer sur Domaines puis Créer un modèle de domaine

Saisir les informations demandées.

Identifiant : Identifiant unique pour le modèle (Ex:Test_Modele_LDAP)

Description : Description du modèle (Ex: Modele de test LDAP)

Commande auth : Commande permettant l’authentification à linshare.

/!\ Modifier la commande par celle-ci : ldap.list(domain, « (&(objectClass=*)(givenName=*)(sn=*)(|(mail= »+login+ »)(uid= »+login+ »))) »); /!\

Commande searchUser : Commande utilisée pour rechercher un utilisateur.

/!\ Modifier la commande par celle-ci :
ldap.list(domain, « (&(objectClass=*)(mail= »+mail+ »)(givenName= »+firstName+ »)(sn= »+lastName+ »)) »);

Une fois tous les champs remplis, cliquer sur Valider

6-3 Création d’un Domaine

Cliquer sur Domaines puis Créer un domaine

Saisir les informations demandées puis cliquer sur Valider

Identifiant : Identifiant unique (Ex: Domaine1)

Clé différentielle : Permet de spécifier une unité d’organisation spécifique (OU= Users,DC=mondomaine,DC=local)

Default Locale : Langue par défaut

Rôle de l’utilisateur : Rôles des utilisateurs pour ce domaine

Description : Description du domaine (Ex: Mon domaine fonctionne)

Policy Identifier : Définit une règle d’ACL

Modèle de domaine : Modèle à utiliser

LDAP Identifier : Connexion LDAP à utiliser

7 – Commande de dépannage.

tail -f /var/log/tomcat6/catalina.out

Auteur : POMENTE Guillaume

10 réponses à “INSTALLATION CONFIGURATION LINSHARE AVEC LIAISON LDAP ou ACTIVE DIRECTORY SUR DEBIAN

  1. Bonjour

    Merci pour ce tuto. Plus ou moins nouveau dans le monde linux, j’ai un souci au moment du test de connexion à la base. Authentification échouée pour l’utilisateur linshare.
    Avez vous une idée?

    Cordialement

  2. Bonjour ,
    D’abord un grand merci pour ce tutoriel bien détaillé, je me retrouve face au probleme connexion avec mon ad sur 2003 server r2

    j’ai ce message quand j’utilise un user du domaine voici le message que j’ai

    Etat HTTP 500 –

    ——————————————————————————–

    type Rapport d’exception

    message

    description Le serveur a rencontré une erreur interne () qui l’a empêché de satisfaire la requête.

    exception
    org.mozilla.javascript.EvaluatorException: caractère non autorisé (#1)
    org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:109)
    org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:96)
    org.mozilla.javascript.Parser.addError(Parser.java:146)
    org.mozilla.javascript.TokenStream.getToken(TokenStream.java:825)
    org.mozilla.javascript.Parser.peekToken(Parser.java:172)
    org.mozilla.javascript.Parser.argumentList(Parser.java:1907)
    org.mozilla.javascript.Parser.memberExprTail(Parser.java:2050)
    org.mozilla.javascript.Parser.memberExpr(Parser.java:1958)
    org.mozilla.javascript.Parser.unaryExpr(Parser.java:1813)
    org.mozilla.javascript.Parser.mulExpr(Parser.java:1742)
    org.mozilla.javascript.Parser.addExpr(Parser.java:1723)
    org.mozilla.javascript.Parser.shiftExpr(Parser.java:1703)
    org.mozilla.javascript.Parser.relExpr(Parser.java:1677)
    org.mozilla.javascript.Parser.eqExpr(Parser.java:1633)
    org.mozilla.javascript.Parser.bitAndExpr(Parser.java:1622)
    org.mozilla.javascript.Parser.bitXorExpr(Parser.java:1611)
    org.mozilla.javascript.Parser.bitOrExpr(Parser.java:1600)
    org.mozilla.javascript.Parser.andExpr(Parser.java:1588)
    org.mozilla.javascript.Parser.orExpr(Parser.java:1576)
    org.mozilla.javascript.Parser.condExpr(Parser.java:1559)
    org.mozilla.javascript.Parser.assignExpr(Parser.java:1544)
    org.mozilla.javascript.Parser.expr(Parser.java:1523)
    org.mozilla.javascript.Parser.statementHelper(Parser.java:1202)
    org.mozilla.javascript.Parser.statement(Parser.java:707)
    org.mozilla.javascript.Parser.statements(Parser.java:655)
    org.mozilla.javascript.Parser.statementHelper(Parser.java:1145)
    org.mozilla.javascript.Parser.statement(Parser.java:707)
    org.mozilla.javascript.Parser.statementHelper(Parser.java:1093)
    org.mozilla.javascript.Parser.statement(Parser.java:707)
    org.mozilla.javascript.Parser.parse(Parser.java:401)
    org.mozilla.javascript.Parser.parse(Parser.java:338)
    org.mozilla.javascript.Context.compileImpl(Context.java:2368)
    org.mozilla.javascript.Context.compileString(Context.java:1359)
    org.mozilla.javascript.Context.compileString(Context.java:1348)
    org.linagora.linshare.ldap.JScriptEvaluator.instanceEval(JScriptEvaluator.java:201)
    org.linagora.linshare.ldap.JScriptEvaluator.evalToStringList(JScriptEvaluator.java:144)
    org.linagora.linshare.ldap.JScriptLdapQuery.auth(JScriptLdapQuery.java:154)
    org.linagora.linshare.core.service.impl.LDAPQueryServiceImpl.auth(LDAPQueryServiceImpl.java:70)
    org.linagora.linshare.core.service.impl.UserProviderServiceImpl.auth(UserProviderServiceImpl.java:224)
    org.linagora.linshare.core.service.impl.AbstractDomainServiceImpl.auth(AbstractDomainServiceImpl.java:497)
    org.linagora.linshare.auth.DomainAuthProviderDao.retrieveUser(DomainAuthProviderDao.java:154)
    org.linagora.linshare.auth.DomainAuthProviderDao.authenticate(DomainAuthProviderDao.java:241)
    org.springframework.security.authentication.ProviderManager.doAuthentication(ProviderManager.java:130)
    org.springframework.security.authentication.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:48)
    org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:97)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.35.

      1. précisement comment je peux le testé via l’application car lorsuque j’utilise ldapadmin j’arrvie a me connecter sur mon LDAP ,

        Un grand merci pour votre prise en charge

  3. Bonjour,
    merci pour ce super tuto, par contre j’ai la même erreur que DRAKUN à part que je suis sur un AD 2003 non R2… 🙁

    Une idée?

      1. J’aimerais savoir comment dégugger suivant les message d’erreur car je vien de refaire une nouvelle installation et lorsque je modifie mes paramètres ex ma langue d’affichage, j’ai le message une erreur est survenue …..Veuillez contacter votre administrateur vraiment je ne sais pas ou chercher en cas de problème je suis tout le temps obligé de DROP DATASE linsare* et de le recréer.

        Merci d’avance

    1. Re, pour les commandes ldap.list, je pense qu’il faudrait remplacer les guillemets « par des « .
      En remplaçant j’ai l’erreur suivante :
      Connexion invalide. Vérifiez vos adresse électronique/mot de passe.

      Cdlt.

Les commentaires sont clos.