Recherche

Sommaire

Pages enfant
  • Guide d'exploitation

Cette page reprend tous les éléments essentiels pour l'administration et l'exploitation de Nuxeo par l'administrateur.
Les chapitres abordés sont:

Administration et exploitation du serveur

Manipulation courante

Le script nuxeoctl présent dans <nuxeo.racine>/bin permet d'interagir avec le service. ll suffit de lancer nuxeoctl help pour avoir la liste des possibilités.

Les logs

Ils se trouvent par défaut sous <nuxeo.racine>/log
Leur emplacement peut être redéfini par la valeur du paramètre : nuxeo.log.dir

La commande jbossctl permet de lire les logs du serveur jboss.

Sauvegarde et restauration

Stockage des documents

Les documents sont stockés dans le répertoire data/binaries (dont l'emplacement est paramétrable via nuxeo.conf en utilisant le paramètre nuxeo.data.dir).

Il convient également de sauvegarder la base de données utilisées (dump de la base,qui doit intervenir avant la sauvegarde des document en cas de sauvegarde à chaud pour maintenir la consistance des données).

Groupes basés sur un filtre LDAP

Warning

Nuxeo dispose d'un bouton permettant de gérer les utilisateurs. Nous nous ne recommandons pas son utilisation pour ajouter des groupes et/ou des utilisateurs dans le LDAP. Nous partons du principe que le LDAP est alimenté par le SI de l'établissement. Le but n'est pas que Nuxeo soit un outil de manipulation des données du LDAP.

Nuxeo reconnait les groupes LDAP (notion de groupOfUniqueNames ou groupOfNames).

Il peut aussi travailler sur des groupes basés sur des filtrages d'attributs LDAP.

Pour cela :

  • on doit définir dans LDAP un groupe d'objectClass groupofurls.
  • ensuite, on déclare un attribut memberURL contenant une url de la forme ldap:///ou=people,dc=univ,dc=fr??sub?(&(att1=truc)(ett2=machin)(departmentnumber=57))

Ce groupe pourra alors être utilisé dans la gestion des droits d'accès dans les interfaces de Nuxeo. Attention, cependant, l'utilisation de ce type de groupe avec de larges populations impactées peut avoir des répercussions sensibles sur les performances (requêtes très nombreuses à l'annuaire).

Administration de la plate-forme

Gestion des droits dans Nuxeo

Le groupe "members" dans Nuxeo

Par défaut, Nuxeo utilise un groupe "members" qui correspond à tous les utilisateurs authentifiés de la plate-forme.
Dans un fonctionnement de Nuxeo indépendant du système d'information, les utilisateurs sont créés et gérés directement dans la plate-forme. Chaque utilisateur est donc associé au groupe "members" de manière automatique.

Dans ESUP-ECM, Nuxeo a été branché sur un annuaire LDAP, mais la notion du groupe "members" existe toujours. En effet, dès la création de la base de données, un droit en lecture à tous les espaces par défaut est donné au groupe members.
Le problème est de savoir si ce groupe est réel ou non ?

Lors de l'installation, il vous a été demandé de renseigner le paramètre ldap.group.defaultGroup.

Cas 1: ldap.group.defaultGroup=members et le groupe "members" existe dans le LDAP
Dans ce cas, à chaque fois qu'un nouvel utilisateur se connectera à Nuxeo, il y aura une vérification de l'appartenance au groupe "members" défini dans le LDAP.
Comme un droit de lecture est donné par défaut à "members" dans Nuxeo, tous les utilisateurs du grouper LDAP auront le droit de lire l'espace racine par défaut.

Cas 2: ldap.group.defaultGroup=members et le groupe "members" N'existe PAS dans le LDAP

Dans ce cas, à chaque fois qu'un utilisateur se connectera à Nuxeo, il sera automatiquement rattaché au pseudo groupe "members" par nuxeo.

Comme un droit de lecture est donné par défaut à "members" dans Nuxeo, tous les utilisateurs authentifiés auront le droit de lire l'espace racine par défaut.

Cas 3: ldap.group.defaultGroup=mon_groupe et le groupe "mon_groupe" existe dans le LDAP

C'est comme le cas 1 mais le groupe members est vide et seulement les utilisateurs de mom_groupe dans LDAP sont membre de mom_groupe dans nuxeo.

Comme un droit de lecture est donné par défaut à "members" dans Nuxeo, aucun utilisateur n'aura le droit de lire l'espace racine par défaut. Pour donner accès il faut donner un droit de lecture à mom_groupe

Cas 3: ldap.group.defaultGroup=mon_groupe et le groupe "mon_groupe" N'existe PAS dans le LDAP

C'est comme le cas 2 mais le groupe members est vide et les utilisateurs authentifiés sont automatiquement rattachés à mom_groupe

Comme un droit de lecture est donné par défaut à "members" dans Nuxeo, aucun utilisateur n'aura le droit de lire l'espace racine par défaut. Pour donner accès il faut donner un droit de lecture à mom_groupe

En résumé
Le stockage des documents dans Nuxeo se fait de manière arborescente. Les espaces par défaut sont:
---- root (Domaines du serveur default)
-------- Default domain
------------ Sections
------------ Templates
------------ Workspaces
Dans certains cas, un droit de lecture totale sur l'espace "root" est donné à tous les utilisateurs. Ce droit est hérité par défaut dans les sous-espaces (Default domain, Sections, Templates, etc.)

Le groupe "administrators" dans Nuxeo

Le groupe "administrators" a un fonctionnement assez proche du groupe "members" dans Nuxeo. Ce groupe existe par défaut dans Nuxeo et correspond aux administrateurs de la plate-forme.
Si on créée un groupe "administrators" dans le LDAP, un droit de gestion totale sera donné aux membres de ce groupe. Sinon, seul l'utilisateur défini par ldap.user.defaultAdministratorId dans la configuration au moment de l'installation aura ce droit à la création de la base de données.

En effet, Nuxeo définit "en dur" un droit de gestion totale pour le groupe "administrators". Si ce groupe existe dans le LDAP, tous les membres seront administrateurs.

Le "groupe" "Everyone" dans Nuxeo

Dans l'interface de gestion des droits, il est possible de "Bloquer l'héritage des droits" sur un espace. Dans ce cas, on voit apparaître une "Permission interdite" au groupe "Everyone" dans tous les sous-espaces.

Il est important de comprendre que ce groupe "Everyone" est une notion abstraite dans Nuxeo. En effet, le groupe "Everyone" n'existe pas en tant que tel et n'est donc pas utilisable dans les interfaces de sélection des groupes.
Cette notion permet simplement de signaler à l'utilisateur que tous les droits hérités sont coupés à partir de cet espace.

Les accès anonymes aux espaces

Il est possible de définir des accès anonymes à des espaces donnés. Pour cela, il suffit de rechercher un utilisateur sur la chaîne "invite". Nuxeo vous propose alors l'utilisateur "invite Anonyme" qu'il faut sélectionner et à qui il faut donner un droit de lecture.

A partir de cette étape, tous les documents déposés ou publiés dans l'espace seront accessibles publiquement sur internet.

Modifier les droits sur l'espace 'root'

Des droits existent par défaut

Comme vu précédemment, des droits par défaut peuvent être positionnés sur l'espace 'root' de Nuxeo si ldap.group.defaultGroup=members et "members" existe dans le LDAP.

Dans ce cas, tous les utilisateurs authentifiés auront par défaut une visibilité totale sur tous les espaces de Nuxeo.
Il est donc recommandé de bloquer l'héritage des droits sur l'espace 'Templates' à tous les utilisateurs. Il faudra laisser le droit de Lire au groupe "members" sur les racines 'Sections' et 'Workspaces'.

En revanche, il faudra "Bloquer l'héritage des droits" sur les sous-espaces de 'Sections' et 'Workspaces' en fonction des besoins exprimés par votre établissement.
Les utilisateurs devront dans la majorité des cas avoir accès en lecture sur 'Sections' et 'Workspaces' et le filtrage plus fin devra se faire sur les sous-espaces.

Aucun droit par défaut

Dans les cas où aucun droit n'est défini par défaut à la racine, il sera nécessaire de les définir manuellement.
Pour cela, un droit de lecture devra être positionné au groupe correspondant à tous les utilisateurs depuis les espaces :
---- root (Domaines du serveur default)
-------- Default domain
------------ Sections
------------ Workspaces

Ce droit de lecture est nécessaire pour que l'utilisateur puisse se déplacer dans l'arborescence des espaces.
Ensuite, comme vu dans le paragraphe précédent, il sera nécessaire d'affiner les droits dans les sous-espaces de 'Sections' et 'Workspaces'.

Les multi-fichiers

La version 1.0 de ESUP-ECM ne permet pas réellement le dépôt de fichiers multiples. Pour déposer un ensemble de fichiers (exemple: mini site web composé de pages web, images, etc.), ceux-ci devront être déposés sous la forme d'un fichier ZIP.

Lors de l'accès à ce fichier après un référencement dans ORI-OAI par exemple, il sera dézippé et montré à l'utilisateur sous forme d'un mini site web si un fichier index.htm ou index.html est trouvé à la racine.

Dans le cas contraire, on proposera à l'utilisateur de télécharger le fichier ZIP.

Utilisation de nuxeo-shell : quelques exemples

Voir le "Nuxeo book" (en anglais) pour plus de détails : la liste complète des commandes, le mode batch et interactif, etc ...

Il faut indiquer la machine virtuelle Java:

cd <nuxeo.dir.parent>/nuxeo-dm-5.2.0/nuxeo-shell/
export JAVA_HOME=<repInstallationJava>
export PATH=$JAVA_HOME/bin:$PATH

Reconstruire les index applicatifs

Les index applicatifs nuxeo sont reconstruits en utilisant la commande index . La recherche plein texte s'appuiera sur les index créés ici.

./nxshell.sh -h 127.0.0.1
> cd default-domain
127.0.0.1> index
127.0.0.1> quit

Modifier les permissions sur les répertoires ou les documents

Il peut être nécessaire de forcer les droits sur des répertoires ou des documents , dans le cas où ces droits ont été enlevés par erreur ou mauvaise manipulation.
Le script modifyPermissions.js a été étendu pour répondre à ce besoin. En voici un exemple d'utilisation.

./nxshell.sh -h 127.0.0.1

> cd default-domain/workspaces/myworkspace
127.0.0.1> view example                                                                                                                               [donne l'UID du document "example" du workspace myworkspace]

127.0.0.1> script --file <rep_src_esup_ecm>/nuxeo-shell-scripts/modifyPermissions.js <UID>                            [ ajoute le droit ReadWrite sur le document pour tous ("members") ]

127.0.0.1> script --file <rep_src_esup_ecm>/nuxeo-shell-scripts/modifyPermissions.js <UID> admin Everything   [ajoute les droits Everything (gérer) sur le document pour l' administrateur ]

Importer des données

./nxshell.sh -h 127.0.0.1

127.0.0.1>cd default-domain/workspaces/tmp                                                                  [On se place sur le chemin Nuxeo où l'on veut importer]

127.0.0.1>fsimport </path_to_docs>  .                                                                             [On importe à partir du sytème de fichiers]

127.0.0.1>index default /default-domain/workspaces/tmp                                                   [On indexe les dossiers importés]
127.0.0.1> quit

Passer en mode debug

./nxshell.sh -h 127.0.0.1

> log debug
> quit

  • Aucune étiquette