Site icon Le blog des objets connectés

Installation de la gestion documents Alfresco sur un NAS Synology

A la base,  la gestion documentaire est réservée aux entreprises. Leur but est de centraliser en un endroit tous leurs documents, peu importe leur origine : papier, fichiers, clés USB, e-mails, réseaux, sites de partage de fichiers,… L’objectif ultime est de ne plus disposer que d’une seule source à consulter et d’avoir un résultat de recherche complet et instantané.

Pour la sécurité des données, c’est également plus facile à mettre en oeuvre puisqu’il n’y plus qu’un seul endroit à sécuriser.

Un logiciel de gestion de documents comme Alfresco permet de contrôler les contenus de l’entreprise sur la base d’une gouvernance de l’information, d’un respect des règles RGPD,… Pour les particuliers, les fonctionnalités avancées (comme les workflow complexes) sont certes moins utiles mais la fonctionnalité principal, à savoir la gestion documentaire, est intéressante à mettre en oeuvre.

Les avantages d’Alfresco

Quand on songe à la gestion de documents, on ne pense pas directement à tous les avantages. Ils sont pourtant nombreux:

Alfresco est un logiciel distribué sous licence libre. Cela ne coûte donc rien de l’installer. La société Alfresco a un modèle économique qui repose sur la vente d’assistance technique sous forme de souscription pour les clients souhaitant une assistance autre que communautaire, en particulier avec des engagements sur les délais de réponse. Il existe plusieurs versions. Celle que je vais utiliser ici est la version dite « Community » sous licence LGPL c’est-à-dire librement téléchargeable, modifiable, redistribuable et utilisable, dans les limites des règles établies par cette licence.

Il y a plusieurs façon d’installer Alfresco : on peut l’installer sur une batterie de serveurs (c’est la solution pour les entreprises), sur une machine virtuelle, sur son propre PC/MAC,…et on peut même l’installer sur un NAS. C’est d’ailleurs, pour un particulier, la solution la plus adaptée puisque le NAS tourne en permanence et qu’il dispose logiquement de sauvegardes et d’une configuration disque en RAID.

On ne présente plus Synology et ses NAS. Je suis personnellement ravi du mien dont je ne cesse de découvrir de nouveaux usages. L’investissement n’est pas négligeable mais je recommande d’en prendre suffisamment puissant pour couvrir ses besoins (présents et futurs). Le DS1517+, boosté en RAM et en configuration disque RAID5 me semble la machine parfaite pour un particulier ou une petite entreprise. Ce modèle n’est plus en vente maintenant car Synology a produit des modèles encore plus performant :

J’ai déjà expliqué comment y installer le logiciel domotique Jeedom. Cette fois, mon Synology DiskStation 1517+ va servir pour l’installation Alfresco.

Dans cet article, j’ai analysé deux méthodes d’installation, toutes deux basées sur Docker. Docker est un logiciel libre permettant de lancer des applications dans des conteneurs logiciels et c’est un package que l’on peut installer sur un NAS Synology. La première méthode d’installation que je vais présenter est facile mais elle ne fonctionne pas chez tout le monde. La seconde méthode est plus complexe à mettre en oeuvre mais elle fonctionnera partout.

L’installation facile et rapide d’Alfresco sur un NAS Synology

Cette façon d’installer Alfresco repose sur une image docker que l’on trouve toute prête. Il suffit juste de lui passer les paramètres souhaité. Dans ce tutoriel, la configuration sera faite pour utiliser une base de donnée externe sur MariaDB et pour utiliser des répertoires externes à Docker où les données seront stockées.

Préparer le serveur de base de données MariaDB

La première étape consiste à créer une base de donnée pour Alfresco ainsi qu’un utilisateur de cette base de données (avec les bons droits d’accès).

Alfresco peut travailler avec plusieurs stockage pour ses données. Nativement, c’est PostgreSQL. Mais on peut aussi décider, comme ici, d’utiliser une base de donnée externe créée dans MariaDB. L’avantage est alors que, sans préjudice de toutes les fonctionnalité d’Alfresco, on a accès à la base de données sur laquelle on peut, si besoin, faire des requêtes (pour ceux qui maîtrisent le SQL).

1. Dans le package center de Synology, rechercher “maria” et cliquer sur install pour “MariaDB 10”.

2. Choisir un mot de passe pour la base de données. Bien noter le Port, 3307, car il sera nécessaire plus tard,

3. Cliquer sur le bouton “open”

4. Cliquer sur la case à cocher “Enable TCP/IP connection” et puis cliquer sur le bouton “Apply”

Installer phpMyAdmin et créer une base de données

Pour utiliser ou configurer les bases de données MariaDB de façon conviviale, on peut installer phpMyAdmin dans le package center de Synology.

1. Dans le package center de Synology, rechercher “phpmyadmin” et cliquer sur install pour “phpMyAdmin”.

2. Ouvrir un browser internet et inscrire l’adresse http://(adresse_IP NAS Synology)/phpMyAdmin/

Introduire “root” comme username, “MariaDB 10” comme serveur et le mot de passe introduit ci-dessus pour MariaDB10. Cliquer sur le bouton “Go”. 

3. Créer une base de donnée pour Alfresco. Cliquer sur New (en haut dans la fenêtre de gauche). En dessous de “Create database”, indiquer “Alfresco” et cliquer sur le bouton “Create”. Bien noter le nom de la base de donnée, ici Alfresco, car elle sera nécessaire lors de la création d’Alfesco.

4. Créer un utilisateur. Cliquer sur la base de donnée créée (à gauche dans l’écran) et puis sur l’onglet “SQL” dans la fenêtre de droite. Dans la zone de texte en dessous, inscrire la commande suivante et puis cliquer sur “Go”

create user mon_user IDENTIFIED BY ‘password’

Il faut bien remplacer nom_user et password par ceux ce votre choix, que l’on utilisera ensuite lors de l’installation d’Alfresco. Evitez toutefois le caractère “&” qui est connu pour poser problème.

5. Donner les droits d’accès à l’utilisateur en exécutant cette commande (au même endroit que celle ci-dessus):

GRANT ALL PRIVILEGES ON Alfresco.* TO ‘nom_user’;

Il faut aussi remplacer nom_user par celui choisi à l’étape précédente.

6. Cliquer ensuite sur l’onglet Privileges, éditer le user alfresco et lui donner les droits “GRANT”

L’installation d’Alfresco 

1. Dans le menu principal, lancer l’application Docker (si elle n’existe pas, il faut d’abord l’installer via le Package Center de Synology)

2. Cliquer sur “Registry”. Dans la loupe, inscrire “alfresco” et puis cliquer sur le bouton “Search”. Double-cliquer ensuite le package gui81 / alfresco.

3. Choisir “latest” pour la version et cliquer sur le bouton “Select”

4. Dans Image, une image se téléchargera. Elle doit atteindre la taille de 2 Gb environ. Une fois téléchargée, le bouton “Launch” sera accessible. Cliquer dessus. 

5. Donner un nom au container et cocher la case “Execute container using high privilege”. Cliquer sur le bouton “Advanced Settings”

6. Sortir de Docker et lancer File Station sur le NAS Synology. Dans File Station, créer tout d’abord un répertoire Alfresco sous le répertoire “docker”. Dans ce répertoire Alfresco, créer un répertoire appelé “content” et un répertoire appelé “data”. Cela donne l’arborescence suivante:

7. De retour dans docker, cliquer sur le tab “Volume”. Ajouter deux volumes afin de faire le mapping entre les deux répertoires créés ci-dessus et Alfresco en cliquant sur “Add Folder” et en introduisant ces paramètres:

8. Cliquer sur le tab “Port Settings”.  Au niveau de la ligne du “Container Port” 8080, remplacer le mode “Auto” par un port à votre choix (un port libre). Bien noter le port car il sera nécessaire pour se connecter à Alfresco. Si jamais vous ne changez pas le mode “Auto”, ce port changera à chaque redémarrage du container Docker et donc il faudra à chaque fois venir le rechercher pour connaître l’URL de connexion à Alfresco. 

9. Cliquer sur le tab “Environnement”. A cette étape, ajouter six variables : DB_USERNAME (qui doit contenir le nom d’utilisateur créé ci-dessus dans PHPmyAdmin), DB_PASSWORD (mot de passe de l’utilisateur précédemment utilisé), DB_HOST (l’adresse IP de votre NAS Synology. Bien remplir cette variable avec une adresse IP car la documentation précise : “If the DB_HOST environment variable is not set, or set to localhost, then the image will use the internal PostgreSQL server.”. Or on souhaite utiliser MariaDB ici), DB_KIND (indiquer ici mysql), DB_NAME (le nom de la base de donnée créé ci-dessus dans PHPmyAdmin) et FTP_PORT (qui, malgré son nom, est le port à utiliser pour la base de donnée c’est-à-dire le port 3307 par défaut si vous ne l’avez pas changé lors de l’installation de MariaDB).

Cette étape 9 est cruciale car c’est ici que l’on paramètre Alfresco. La liste de tous les paramètres possibles est consultable ici : cliquer sur Docker / Image et puis cliquer sur le bouton bleu avec la flèche vers le haut à droite juste à côté de l’image gui81/alfresco:latest

Ce lien dirige vers une page web oùu l’on trouve les options d’installation (dont celles que je viens de citer mais bien d’autres encore):

10. Cliquer sur le bouton “Apply’.

Il faut maintenant attendre un peu. Ce n’est pas parce que le container tourne dans Docker que c’est terminé. L’installation peut durer, selon la configuration de votre NAS, une vingtaine de minutes avant que tout ne soit créé (par exemple la base de données). 

Se connecter à Alfresco 

1. Pour se connecter à Alfresco, il suffit d’ouvrir un browser internet et d’y indiquer cette adresse http://(adresse_IP NAS Synology):32500 (le numéro du port est celui choisi à l’étape 8).

Le nom d’utilisateur par défaut est admin et le mot de passe, par défaut, admin également.

Si jamais vous avez un message d’erreur, comme “Your authentification détails haven’t been recognized or Alfresco Content Services may not be available at this time”, c’est sans doute parce que Alfresco est toujours en cours d’installation. Patientez donc encore un peu et recommencez ensuite. Si cela ne fonctionne toujours pas, c’est sans doute que vous avez indiqué de mauvais paramètres à l’étape 9 ou que l’installation n’a pas pu se faire correctement (par exemple la base de données est injoignable ou n’a pas pu être installée car le port de connexion était déjà pris).

Quelques soucis avec ce mode d’installation

Chez certains utilisateurs, cette méthode d’installation fonctionne à merveille. Mais, chez d’autres, Alfresco ne reconnait pas la base de donnée MariaDB. Cela se vérifie dans phpMyAdmin : aucune table n’est créée dans la base de données Alfresco. N’ayant pu se connecter à MariaDB, Alfresco a installé sa propre base de données PostgreSQL (dans le répertoire partagé créé dans le folder Docker, on constate un sous-répertoire qui s’appelle PostgreSQL). En soi, vous avez alors Alfresco qui fonctionne mais la base de donnée n’est pas celle souhaitée et elle se trouve dans Docker. En cas de réinstallation d’Alfresco, vous risquez de tout perdre.

Après investigation, je pense (mais sans certitude) que c’est lié à un problème réseau. Quand on se connecte en SSH au container Docker et  qu’on essaie la commande “ping” vers l’adresse IP du NAS Synology (sur lequel MariaDB est installé), il est fort probable que l’on reçoive un time-out. Par contre, la commande “ping” vers google.com fonctionnera probablement. Voici ce que cela donnait, chez moi (chez vous, l’adresse IP doit être remplacée avec l’adresse IP du NAS Synology).

XXX@SynologyNAS:~$  sudo docker exec -it gui81-alfresco1 /bin/bash

Password: 

[root@gui81-alfresco1 /]# ping 192.168.0.255

PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data.

— 192.168.0.255 ping statistics —

10 packets transmitted, 0 received, 100% packet loss, time 9003ms

[root@gui81-alfresco1 /]# ping google.be  

PING google.be (216.58.214.3) 56(84) bytes of data.

64 bytes from lhr26s05-in-f3.1e100.net (216.58.214.3): icmp_seq=1 ttl=118 time=12.3 ms

64 bytes from lhr26s05-in-f3.1e100.net (216.58.214.3): icmp_seq=2 ttl=118 time=11.9 ms

64 bytes from lhr26s05-in-f3.1e100.net (216.58.214.3): icmp_seq=3 ttl=118 time=12.6 ms

C’est lié à l’architecture de Docker qui isole, pour la sécurité, les containers de celui qui les contient. J’ai par contre du mal à comprendre comment cela fonctionne chez certains. Sans doute ont-ils une configuration réseau plus poussées (avec par exemple des mac vlan) ou des tables de routages évoluées.

Il y a moyen de dégager des solutions au niveau de Docker, comme par exemple cocher cette case lors de l’installation (et supprimer alors les ports settings puisque les ports settings sont incompatibles avec ce mode) :

Ce faisant, le container Docker sera installé dans le même réseau que la base de donnée. Mais ce n’est pas encore certain que tout fonctionnera car il y a parfois des problèmes de ports déjà utilisés par le NAS Synology et que Alfresco ne parviendra pas à utiliser.

Bref, pour ceux où cela fonctionne, tant mieux. Pour les autres, vous pouvez soit vous contenter de l’installation qui se fera avec PostgreSQL (en interne dans le container) au lieu de MariaDB (en externe sur le NAS Synology). Ou bien, bien mieux, vous pouvez installer Alfresco via le mode d’installation officiel. C’est l’objet de la suite de cet article.

La façon officielle, mais complexe, d’installer Alfresco

Afin d’avoir un aperçu global de cette méthode d’installation, il est intéressant de regarder la vidéo officielle: https://www.alfresco.com/thank-you/thank-you-downloading-alfresco-community-edition 

Pour cette installation d’Alfresco, j’ai décidé d’utiliser une base de donnée sur un serveur MariaDB. Mais, contrairement à l’installation décrite ci-dessus, ce serveur MariaDB ne sera pas celui des packages Synology mais plutôt un serveur MariaDB dans un container Docker. Ce faisant, toute l’installation d’Alfresco reposera sur des containers Docker appartenant au même réseau (ce qui simplifie la configuration réseau). Pour accéder à cette base de donnée, phpMyAdmin sera également installé mais via Docker également.

Cette seconde méthode d’installation repose principalement sur trois étapes:

  1. Préparation d’une image Alfresco avec un fichier Dockerfile
  2. Configuration des services (les containers, les ports, les volumes, les liens,…) dans le fichier docker-compose.yml
  3. Lancement de la commande docker-compose up pour réaliser l’installation

Préparation de l’image via un fichier Dockerfile

Récupération d’un driver JDBC pour se connecter à la base de donnée

Un driver JDBC est ce qui permet au code Java d’Alfresco de se connecter à une base de données. Nativement, et c’est bien dommage, les images Alfresco ne contiennent pas de driver JDBC pour MariaDB mais, par contre, elles contiennent un driver JDBC pour PostgreSQL.  

On va donc commencer par télécharger un driver JDBC sur le site https://mariadb.com/kb/en/about-mariadb-connector-j/ . La tentation est grande de prendre le dernier disponible dans la catégorie “platform independent” à savoir donc la version 2.7.1 et le fichier mariadb-java-client-2.7.1.jar pour Java 8. Mais, cela conduirait plus tard à une impasse. Alfresco n’est pas encore capable de gérer cette version et, en l’utilisant, vous obtiendrez cette erreur au démarrage du container “docker_alfresco_1”:

Caused by: java.lang.IllegalArgumentException: Dialect must be explicitly set for database: MariaDB

Il faut donc choisir la version 2.2.3 et copier le fichier mariadb-java-client-2.2.3.jar (c’est bien le fichier le .jar qu’il faut copier. Il ne faut pas le décompresser pour copier son contenu) dans le répertoire docker du NAS Synology (le répertoire créé par défaut lors de l’installation de Docker).

Note: si la copie ne fonctionne pas, vérifiez les droits administrateurs dans Control Panel / Shared Folder. Il faut que l’utilisateur qui lancera l’installation d’Alfresco puisse accéder en lecture et en écriture au répertoire Docker,

Création de la structure sous le répertoire

A cette étape, on va créer des répertoires et sous-répertoires sous le répertoire docker du NAS Synology. Le but est double. Tout d’abord y stocker les fichiers qui sont nécessaires pour créer une image installable d’Alfresco (comme le driver JDBC de l’étape précédente). Ensuite, recueillir des fichiers d’Alfresco : les fichiers de données et de base de données, les logs,… On créé donc des répertoires et sous-repertoires dans lequel Alfresco rangera et utilisera des fichiers (et auquel on aura facilement accès car se connecter au container Docker pour récupérer des fichiers est bien plus compliqué que de faire un copier-coller via explorer/finder).

La structure suivante (à gauche sur la photo) est à créer:

Les étapes à suivre sont:

1. Dans File Station sur le NAS Synology, créer la structure de répertoires et de sous répertoires telle que décrite ci-dessus

2.Donner les droit d’exécution à chaque répertoire et sous-répertoire de la structure créée. 

XXX-Mac:~ YYY$ ssh nom_utilisateur_admin_NAS_Synology@Adresse_IP_NAS_Synology

XXX@SynologyNAS:/$ cd /

XXX@SynologyNAS:/$ cd /volume1/docker

XXX@SynologyNAS:/volume1/docker$ chmod +x alfresco

4. Dans le répertoire config:

# Required to isolate logs folder
dir.root=/usr/local/tomcat/alf_data

# Outbound email configuration
mail.host=smtp.gmail.com
mail.port=465
mail.username=****@gmail.com
mail.password=****
mail.protocol=smtps
mail.smtps.starttls.enable=true
mail.smtps.auth=true

<alfresco-config>

  <!– Disable the CSRF Token Filter –>

  <config evaluator=”string-compare” condition=”CSRFPolicy” replace=”true”>

      <filter/>

  </config>

</alfresco-config>

Détermination de la version d’Alfresco à installer

De nombreuses images existent pour installer Alfresco mais il faut bien choisir laquelle installer.

Pour les versions, il faut se souvenir de leur signification. Les versions EA (Early Adopters) sont destinées à ceux qui souhaitent tester très rapidement les produits et les nouvelles fonctionnalités. Les GA (General Availability) sont, elles, plus stables et recommandées dans notre cas de figure.

On trouve, à cette adresse https://www.alfresco.com/thank-you/thank-you-downloading-alfresco-community-edition, la dernière version GA disponible. Il s’agit de la 6.2.0 à l’heure d’écrire cet article et c’est donc cette version qui sera la base de notre installation d’Alfresco.

On peut ensuite vérifier que la version est disponible sur le NAS Synology. Dans Docker: Registry / faire une recherche sur “alfresco” / Choisir “alfresco/alfresco-content-repository” / Cliquer sur “Download” / regarder les valeurs possibles. On doit y trouver la version 6.2.0.

Rédaction du fichier Dockerfile

Ici, on créé un ficher texte que l’on appelle Dockerfile. Ce fichier va contenir toutes les commandes nécessaires pour créer notre image personnalisée d’Alfresco à savoir une image qui se base sur la version 6,2,0 et qui incorpore le driver JDBC pour se connecter à la base de données sur MariaDB.

Sur MAC, vous pouvez utiliser l’utilitaire “Atom” et sur windows, le notepad. Le contenu de ce fichier doit être:

FROM alfresco/alfresco-content-repository-community:6.2.0-ga

ARG TOMCAT_DIR=/usr/local/tomcat

COPY mariadb-java-client-2.2.3.jar $TOMCAT_DIR/lib

Ligne 1: On indique à Docker qu’il doit se baser sur l’image alfresco/alfresco-content-repository-community:6.2.0-ga (c’est-à-dire le numéro de version qu’on a déterminé à l’étape précédente).

Ligne 2: cette ligne contient une variable avec le chemin de Tomcat dans lequel on doit copier les fichiers.

Ligne 3: on indique qu’il faut copier le driver JDBC (fichier .jar) dans la librairie (répertoire lib) de Tomcat. Tomcat se chargera tout seul de son installation. On se souvient qu’on avait copier ce fichier .jar dans le répertoire docker au début de la procédure d’installation

Il faut bien sauver le fichier, dans le répertoire docker (celui créé automatiquement à l’installation de Docker), sans extension et sous le nom exact Dockerfile.

Création de l’image Alfresco

Pour créer l’image Alfresco, on va se baser sur l’utilitaire docker build via une commande SSH. Cette image sera créée sur base du fichier Dockerfile que l’on a défini à l’étape précédente.

Dans une fenêtre SSH, une fois connecté au NAS Synology:

sudo docker build -t alf_repo_fj:1.0 /volume1/docker

On utilise la commande sudo pour obtenir les droits nécessaire à la bonne exécution des commandes Docker (le mot de passe de l’utilisateur, qui doit avoir les droits administrateurs sur le NAS Synology, est alors demandé).

Le paramètre -t sert à nommer l’image avec le nom alf_repo_fj (que chacun est libre de choisir) et la version 1.0 (que chacun est également libre de choisir).

Pour rappel, Dockerfile a été sauvé dans le répertoire /volume1/docker

Le lancement de la commande donne ceci:

XXX@SynologyNAS:/volume1/docker$ sudo docker build -t alf_repo_fj:1.0 /volume1/docker

Password: 

Sending build context to Docker daemon  272.5MB

Step 1/4 : FROM alfresco/alfresco-content-repository-community:6.2.0-ga

 —> 5644477d8b35

Step 2/4 : ARG TOMCAT_DIR=/usr/local/tomcat

 —> Using cache

 —> 74eeec653130

Step 3/4 : COPY mariadb-java-client-2.2.3.jar $TOMCAT_DIR/lib

 —> Using cache

 —> 63ae57ff4cc2

Successfully built 63ae57ff4cc2

Successfully tagged alf_repo_fj:1.0

Le dernier “successfully built”, à savoir 63ae57ff4cc2, est l’image ID. C’est l’identifiant technique de l’image créée.

On peut vérifier que l’image est bien présente:

XXX@SynologyNAS:/volume1/docker$ sudo docker image ls

REPOSITORY   TAG        IMAGE ID           CREATED             SIZE

alf_repo_fj      1.0         63ae57ff4cc2      2 minutes ago      1.41GB

On note que l’on retrouve le même Image ID (63ae57ff4cc2), le bon nom (alf_repo_fj) et la bonne version (1.0)

On peut aussi se rendre sur l’interface Docker sur le NAS Synology et regarder dans les images. On y trouvera celle que l’on vient de créer (tout en haut sur la photo ci-dessous):

Configuration via un fichier docker-compose.yml pour PostgreSQL

Cette étape de l’installation d’Alfresco consiste à configurer l’installation. On peut, pour démarrer de rien, télécharger le fichier de configuration par défaut Alfresco Community Download 6.2 GA docker-compose et le décompresser dans le répertoire docker (celui créé automatiquement lors de l’installation de docker).

On édite ensuite le fichier docker-compose.yml avec un éditeur (soit un éditeur de texte soit un éditeur plus intelligent comme Atom sur MAC). On se rend alors compte de la complexité de l’installation car le fichier est très technique.

Par défaut, ce fichier se base sur une configuration avec PostgreSQL comme serveur de base de donnée. Pour ceux qui ne souhaitent pas utiliser MariaDB comme serveur de base de données et qui souhaitent donc conserver PostgreSQL, je vous conseille de lire ce paragraphe. Pour les autres, vous pouvez passer au point suivant (Configuration via un fichier docker-compose.yml pour MariaDB),

Pour utiliser PostgreSQL, il y a quand même un petit changement à faire dans ce fichier.  Le NAS Synology utilise en interne une base de donnée PostgreSQL pour certains de ses packages. Il y a donc, par défaut, déjà une base de donnée PostgreSQL sur le NAS Synology et le port par défaut de PostgreSQL, à savoir le 5432, est déjà utilisé. Si on ne fait rien, l’installation d’Alfresco débouchera sur cette erreur :

driver failed programming external connectivity on end point docker_postgres_1″, “Error starting userland proxy”, “listen tc p 0.0.0.0:5432: bind: address already in use”

Connecté en SSH sur le NAS Synology, on peut faire le même constat:

XXX@SynologyNAS:/volume1/docker$ netstat -anp tcp | grep 5432

(Not all processes could be identified, non-owned process info

 will not be shown, you would have to be root to see it all.)

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN                         

unix  2      [ ACC ]     STREAM     LISTENING     43579                        /run/postgresql/.s.PGSQL.5432

unix  3      [ ]         STREAM     CONNECTED     64163                        /run/postgresql/.s.PGSQL.5432

unix  3      [ ]         STREAM     CONNECTED     5802158   

Il faut donc, changer le port de communication pour la base de donnée PostgreSQL que Alfresco va installer. Cela se fait en remplaçant le port 5432 (à trois endroits dans le fichier) par un autre port comme, ici, le port 19132.

Il ne faut pas oublier non plus d’ajouter le “-p 19132” au niveau de “command” dans postgres (voir image ci-dessus). Ce point est crucial car sinon vous n’arriverez pas à vous connecter à Alfresco (ce dernier n’arrivant pas à se connecter à la base de données) et vous obtiendrez ce message d’erreur, peu clair d’ailleurs:

Your authentication details haven’t been recognized or Alfresco Content Services may not be available at this time

Configuration via un fichier docker-compose.yml pour MariaDB

On peut, ici, soit démarrer en téléchargeant le fichier Alfresco Community Download 6.2 GA docker-compose et le décompressant dans le répertoire docker (celui créé automatiquement lors de l’installation de docker). Soit on peut télécharger le mien, ici, et le personnaliser.

Si vous choisissez le fichier docker-compose.yml, les changement à apporter sont:

On sauvegarde ce fichier docker-compose.yml dans le répertoire docker sur le NAS Synology.

Le lancement de l’installation

On se reconnecte ensuite en SSH sur le NAS Synology et on exécute la commande docker-compose pour lancer l’installation

XXX@SynologyNAS:/volume1/docker$ sudo docker-compose -f /volume1/docker/docker-compose.yml up -d

Après un temps assez long (comptez une bonne dizaine de minutes), Alfresco est installé. Attention que ce n’est pas parce que vous voyiez que les containers sont là et actif que l’installation est finie.

Se connecter à Alfresco

Pour se connecter à Alfresco, on se connecte avec un navigateur internet à cette adresse: http://(adresse_IP NAS Synology):8080/share/ 

Par défaut, le nom d’utilisateur et le mot de passe sont admin et admin

Pour se connecter à phpMyAdmin, c’est l’adresse http://(adresse_IP NAS Synology):8095. Vous devriez y voir une base de données alfresco et, dans cette base de données, des tables utilisées par Alfresco.

Le moteur de recherche solr6 est lui accessible avec cette adresse : http://(adresse_IP NAS Synology):8083/solr/

En cas d’erreur 

En cas d’erreur, il faut investiguer. Un bon point de départ consiste à regarder ce qu’il y a dans les logs de chaque container. Sur le NAS Synology, on peut sélectionner le container et puis cliquer sur le bouton “Details”. On a ensuite l’onglet “Log” où on peut chercher les erreurs.

Quelques points 

Erreur lors du chargements des éléments (Error Loading Items) au niveau des utilisateurs 

J’ai constaté cette erreur alors que je voulais ajouter un utilisateur. Après l’avoir créé, impossible de le voir. La solution:

  1. se connecter au container de share : sudo docker exec -it docker_share_1 /bin/bash
  2. aller dans le bon répertoire: cd /usr/local/tomcat/webapps/share/WEB-INF/classes/alfresco
  3. lancer cette commande : cat share-config.xml
  4. Vérifier que la ligne 132 contient <show-authorization-status>true</show-authorization-status>
  5. cette ligne doit être changé et le “true” doit être remplacé par “false”. On le fait via cette commande :

    sed -i ‘s@<show-authorization-status>true</show-authorization-status>@<show-authorization-status>false</show-authorization-status>@’ share-config.xml

  6. lancer cette commande : cat share-config.xml 
  7. Vérifier que la ligne 132 contient <show-authorization-status>false</show-authorization-status>
  8. Redémarrer le container docker_share_1

Conclusion

Voici donc deux méthodes d’installation d’Alfresco sur un NAS Synology. Le plus dur est fait. Il ne reste maintenant plus qu’à configurer Alfresco, à la remplir de document et à profiter des nombreux avantages d’une gestion documentaire professionnelle. D’autres articles, à ce sujet, viendront surement dans les mois à venir.

Quitter la version mobile