Linagora: installation de LinShare

LinShare est une application de Linagora permettant de partager des fichiers entre utilisateurs. Ces fichiers peuvent être chiffrés et signés.

LinShare utilise une base de données PostgreSQL notamment pour gérer les fichiers déposés.

L’authentification des utilisateurs se fait via une base LDAP.

On suppose ici que LinShare authentifie ses utilisateurs grâce à l’annuaire LDAP d’OBM = un utilisateur créé dans OBM aura donc automatiquement un compte LinShare.

Voir installation d’OBM

Préparatifs

On installe ici LinShare sur une machine différente de celle d’OBM.

Donc installation de PostgreSQL et Java :

# aptitude install sun-java6-jre postgresql

PostgreSQL

Il faut ensuite créer l’utilisateur postgreSQL :

# su postgres
$ createuser linshare -P
Entrez le mot de passe pour le nouveau rôle :
Entrez-le de nouveau :
Le nouveau rôle est-il un super-utilisateur ? (o/n) n
Le nouveau rôle doit-il être autorisé à créer des bases de données ? (o/n) n
Le nouveau rôle doit-il être autorisé à créer de nouveaux rôles ? (o/n) n

Et toujours avec l’utilisateur PostgreSQL, créer les bases de données linshare et linshare_data :

$ createdb -O linshare linshare
$ createdb -O linshare linshare_data

Java Cryptography Extension (JCE)

Si vous voulez chiffrer vos fichiers, il vous faut installer cette extension Java.

Download : http://www.google.fr/#hl=fr&source=hp&q=java+cryptography+extension+download

Une fois dézippé, vous devez être en possession de 2 fichier jar : local_policy.jar et US_export_policy.jar.

Copiez ces 2 fichiers dans le répertoire jre/lib/security de votre HOME Java :

/usr/lib/jvm/java-6-sun/jre/lib/security/

Installation de LinShare

Se connecter au préalable en SSH à la machine avec l’option -X pour avoir un affichage graphique :

# ssh -X root@ip.de.la.machine

Installer linshare (préalablement downloadé ici et uploadé sur la machine, cela va de soi…) :

# java -jar linshare-0.8-SNAPSHOT.jar

Vous pouvez laisser les options par défaut, de toute manière, on va tout changer, hé hé hé…

Par défaut, LinShare est logé dans /usr/local/linshare/, il contient Jetty, le serveur web java qui va exécuter LinShare.

Le fichier de configuration de LinShare doit être placé dans le répertoire de Jetty /usr/local/linshare/jetty/resources/, il a pour nom linShare.properties et comme contenu :

#******************** LDAP FOR AUTHENTICATION
#if you use ssl with ldap put ldaps in url                                   

ldap.auth.url=ldap://ip.de.ldap.obm:389 ## IP de la machine où se trouve la base LDAP d'OBM
ldap.auth.base=dc=domaine.ltd,dc=local  ## LinShare ne gère pour le moment qu'un domaine, mettre le domaine inséré dans OBM
ldap.auth.baseDN=ou=users
ldap.auth.userDN=                       ## connexion anonyme donc pas d'user ni de password
ldap.auth.password=
ldap.pageSize=0
ldap.hash.algo=SHA
# Strategy is SIMPLE, DEFAULT_TLS, or EXTERNAL_TLS for SASL connection. TLS is not supported at this time by linShare
ldap.auth.strategy=SIMPLE
#Leave ldap ssl configuration empty if not used. Give path to a java trustore.
ldap.auth.ssl.trustore.file=
ldap.auth.ssl.trustore.password=                                                                                     

#******************** MAIL CONFIGURATION TO SEND MAIL INFORMATION TO USER

mail.smtp.host=localhost
mail.smtp.user=
mail.smtp.password=
mail.smtp.sender=linshare@domaine.ltd
mail.smtp.auth.needed=false
mail.smtp.charset=UTF-8                

#******************** DATABASE

### H2
#linshare.db.url=jdbc:h2:file:linshare
#linshare.db.username=linshare
#linshare.db.password=
#linshare.db.driver.class=org.h2.Driver
#linshare.db.persistence_manager=org.apache.jackrabbit.core.persistence.bundle.H2PersistenceManager
#linshare.db.dialect=org.hibernate.dialect.H2Dialect

### PostgreSQL
linshare.db.username=linshare
linshare.db.password=linshare
linshare.db.driver.class=org.postgresql.Driver
linshare.db.url=jdbc:postgresql://localhost:5432/linshare
linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect
linshare.db.persistence_manager=org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager

#show sql command in console (true in debug mode)
linshare.db.show_sql=false
#format sql command in console (true in debug mode)
linshare.db.format_sql=false
#generate statistics with hibernate
linshare.db.gen_stats=false
# can be create, create-drop, update, validate, choose validate for production
linshare.db.hbm2ddl.auto=create

#******************** GENERAL PROPERTIES

linshare.info.urlShare=http://ip.de.linshare:8080
linshare.productionMode=true
#linshare.db.hbm2ddl.auto=create
linshare.dir=${LINSHARE_HOME}/var/lib/linshare/repository/
#local work directory to encrypt/decrypt data
linshare.encipherment.tmp.dir=${LINSHARE_HOME}/var/lib/linshare/tmp
#local work directory to sign data
linshare.signature.tmp.dir=${LINSHARE_HOME}/var/lib/linshare/tmp/linSignDocuments
#directory used to store shared files
linshare.files.directory=${LINSHARE_HOME}/var/lib/linshare/repository

linshare.config.path=${LINSHARE_HOME}/jetty/resources/

# user connect with a different url (e.g. CAS url)
linshare.info.url.base=http://ip.de.linshare:8080/
linshare.info.url.internal=http://ip.de.linshare:8080/

#url for jws, application to decrypt document (jwsDecrypt.jar)
#javawebstart.decrypt.url.codebase=http://localhost:8080/linshare/applet

# internal user see all other internal user by default in the Users tab ?
linshare.users.internal.defaultView.showAll=true

:!: :!: Mettez les bonnes IPs dans ce fichier de configuration !!

Une ligne importante :

# can be create, create-drop, update, validate, choose validate for production
linshare.db.hbm2ddl.auto=create

Mettez bien cette option à create lors du premier lancement de LinShare pour que la BDD s’initialise correctement.

Pour que LinShare puisse utiliser la base PostgreSQL, il faut ajouter un connecteur java PostgreSQL qu’il faut placer dans le répertoire lib de Jetty.

Sur votre machine OBM, récupérez le connecteur qui se trouve à cet emplacement :

/usr/share/apache-tomcat-6.0.20/lib/postgresql-8.3-604.jdbc4.jar

Puis copiez le dans le répertoire lib de jetty :

/usr/local/linshare/jetty/lib/postgresql-8.3-604.jdbc4.jar

Adaptez les noms en fonction de la version dont vous disposez.

Vous pouvez maintenant lancer LinShare :

/usr/local/linshare/linshare.sh start

Rendez-vous sur l’interface web : http://ip.de.linshare:8080 (n’oubliez pas le port 8080 !!).

Vous pouvez logiquement vous connecter avec comme identifiant votre mail OBM et votre mot de passe OBM.

Bravo !!

Maintenant, éditez le fichier de configuration de LinShare (/usr/local/linshare/jetty/resources/linShare.properties) et modifiez l’option de la ligne linshare.db.hbm2ddl.auto=create.

Il faut changer l’option create en update.

Arrêtez LinShare :

/usr/local/linshare/linshare.sh stop

Puis relancez-le pour prendre en compte le nouveau réglage :

/usr/local/linshare/linshare.sh stop

Note : à l’heure où j’écris ces lignes, linshare.sh ne connait pas l’option restart, mais vous pouvez la définir, amis codeurs :-)

Derniers réglages

Connectez-vous en tant qu’administrateur par défaut de linshare :

login: root@localhost.localdomain
passwd : adminlinshare

La première chose à faire est de définir un ou plusieurs administrateurs. Allez sur Utilisateurs ⇒ Editez l’utilisateur à modifier ⇒ Rôle de l’administrateur : Administrateur

Déconnectez-vous.

Logguez-vous avec votre utilisateur ayant les droits d’administration.

Il est indispensable, pour des raisons de sécurité, de supprimer maintenant le compte temporaire d’administration, cochez la case supprimer le compte administrateur temporaire présente dans l’onglet Administration.

Ce n’est pas fini !!!

Ré-éditez le fichier de configuration (vous savez où il se trouve maintenant) et passez l’option de la ligne linshare.db.hbm2ddl.auto de update à validate.

Relancez LinShare (stop-start).

That’s all folks !! Enjoy !!

A lire également

3 réflexions au sujet de « Linagora: installation de LinShare »

  1. Salut,

    j’ai un problème avec la commande :

    root@debian-linshare:/home# java -jar linshare-0.9.7.jar
    bash: java : commande introuvable

    pour j’ai bien installé sun-java6-jre au debut.

    Si tu as une idée je suis preneur.

  2. Bonjour,
    Je tente de connecter le linshare avec mon AD avez vous une version à jours de ce tutoriel et ou des fichiers de configuration des domaines pour la recherche d’utilisateur

    1. Bonjour,

      Non, désolé je n’ai pas de version plus à jour de ce tutoriel, qui en passant date de l’époque où j’ai eu à mettre ça en place et est donc sûrement obsolète.

      Bon courage,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *