Mise en place d’un serveur ownCloud 6.1, utilisation de l’annuaire du SE3, gestion du partage de documents.

, par Louis-Maurice De Sousa, Marc Bansse

Owncloud est un logiciel libre, qui permet de créer/gérer son propre « cloud », à la facon de Dropbox®, Hubic® et autres plateformes d’hébergements. Les fichiers sont donc stockés sur votre serveur, et seuls les utilisateurs avec l’administrateur du serveur peuvent avoir accès aux fichiers.
Ce « cloud » permet le partage de documents entre professeurs et élèves, et peut remplacer des logiciels tels que Google drive® et autres outils collaboratifs.
On pourra utiliser l’annuaire du se3 pour la création automatique des comptes et la mise dans des groupes, ce qui rendra la gestion du service très simple.

Première partie : Préparation de la machine servant de « cloud ».

L’installation se fera dans ce tutoriel avec une version d’Ubuntu server, mais toute distribution GNU/Linux devrait fonctionner sur une machine dédiée et possédant une contenance disque suffisante (dans mon cas j’utilise deux disques durs, un premier de 180 Go pour le système mais un disque de capacité bien moindre conviendrait parfaitement pour le système, et un deuxième de 2 To monté en /var/www/). Les fichiers des utilisateurs se situent dans le répertoire owncloud qui sera dans /var/www/.
La qualité du service va évidemment dépendre de la machine mais surtout de la connexion Internet de l’établissement (débits montants *et* descendant).

MAJ Novembre 2014 : Ubuntu server 14 LTS n’est pas assez sécurisé pour owncloud, on utilisera donc de préférence une debian squeeze ou wheezy.
Voir l’article de clubic

L’installation du système d’exploitation se fait de façon très simple et intuitive.

Dans le cas d’Ubuntu server, il faut choisir un nom d’utilisateur, mais le mot de passe choisi sera aussi celui de l’administrateur (on pourra ensuite passer « root » en tapant « sudo su »).

Il faudra ensuite choisir le mode de partitionnement et régler le proxy du slis le cas échéant

Choisir d’installer les mises à jour de sécurité automatiquement.

Choisir openssh, on peut aussi choisir LAMP puisque par la suite certains paquets seront à rajouter (mysql, apache, php, etc).

Laisser l’installation se terminer.

Se loguer et faire les mises à jour.

Passage en IP fixe
Il faut impérativement que le serveur ait une ip fixe. Vous pouvez réserver l’ip avec le module DHCP du SE3, mais il vaut mieux rendre l’IP statique pour que le serveur ownCloud réponde même avec un SE3 éteint.
Pour se faire éditer le fichier de configuration des interfaces réseau.

on arrive au fichier suivant, avec eth0 configurée en DHCP

Et entrer la configuration souhaitée.

La dernière ligne est très importante, car sans elle les accès à Internet ne pourront se faire qu’avec des adresses IP.

On relance la configuration réseau

On pourra vérifier qu’un ping vers l’extérieur fonctionne et que l’adresse ip est bien celle désirée.

Deuxième partie : installation d’owncloud

On installe les paquets nécessaires :

Il faut alors choisir un mot de passe très solide, l’utilisation de majuscules/minuscules et caractères spéciaux du style #@ sera à faire impérativement pour sécuriser l’accès au serveur de base de donnée (cette opération aura eu lieu avant si vous aviez choisi d’installer un serveur LAMP). Ce mot de passe sera demandé lors de toute installation d’un service web, et en particulier l’installation de ownCloud.

  • La dernière version n’étant pas disponible dans les paquets, nous allons télécharger et décompresser owncloud version 6.0.1, cette version intégrant la modification, en ligne, de documents opendocument.

On va ensuite décompresser l’archive téléchargée, puis la copier dans le repertoire du serveur web.
(la touche tab sera très utile pour ne pas écrire tout le nom)

  • Mise en place des droits d’utilisation
    Pour fonctionner correctement, ownCloud a besoin d’un répertoire data qui n’est pas installé par défaut.

    De même, l’utilisateur du serveur web , www-data, a besoin d’écrire sur certains répertoires, on va donc modifier certains droits.

Configuration du serveur Apache
Pour fonctionner correctement, il faut que les fichiers .htaccess soient activés, ils permettront une gestion des répertoires de façon indépendante (on ne pourra pas lancer un fichier par son adresse physique sur le serveur si on ne doit pas y avoir accès).

Pour cela, nous allons modifier le fichier 000-default présent dans le serveur apache.

Remplacer "None" par "All" après AllowOverride concernant le répertoire /var/www/

Il faudra ensuite activer deux modules d’Apache

On vous demandera ensuite de redémarrer le serveur Apache

Troisième partie : configurer ownCloud

Nous allons lancer à partir d’un poste du réseau, via un navigateur, la première interface d’ownCloud :

http://ip-du-cloud/owncloud/
(Si vous diposez d’un Slis, il est possible de donner un nom à cette machine)

Cliquer sur "Avancé", un nouveau menu apparaît. Choisir MySQL

Entrez les données demandées :

  • Utilisateur : root
  • Mot de passe : celui défini lors de l’installation de mySql-server
  • Nom de la base : à definir (éviter un nom standard comme « owncloud »)
  • Serveur : localhost

On remarquera que le compte administrateur du cloud peut être choisi comme on le souhaite.

Il faudra d’ailleurs éviter le nom « admin » car celui-ci sera présent dans la base ldap, ce qui risque peut-être de créer des conflits (je n’ai pas testé).

On arrive ensuite sur le premier écran de présentation du « cloud »

Quatrième Partie : Première exploration de l’interface ownCloud et de son administration

En haut à droite, un menu spécifique à l’administrateur permettra de gérer les utilisateurs, et l’administration d’ownCloud. De même, un onglet personnel que possède chaque utilisateur lui permettra de personnaliser son espace personnel (choix icône,etc).

Gestion des utilisateurs/quota
Pour ajouter un utilisateur de façon manuelle, on va cliquer sur « Utilisateurs »
Il suffit de rentrer un login, puis un mot de passe, éventuellement l’ajouter à un/plusieurs groupe(s) existants.
Pour créer un groupe, il suffit de cliquer sur l’utilisateur, puis à « Groupes » puis créer un groupe.

On pourra régler la taille de stockage possible par défaut pour un utilisateur.

On peut également donner des droits à un utilisateur concernant l’ensemble d’un groupe. Pour cela, il faut ajouter l’utilisateur dans la partie groupe Admin

Ainsi, si on coche la case « user », l’utilisateur pourra changer les mots de passe ou autres paramètres des membres de ce groupe « user ».

Ceci ne marche qu’avec les comptes crées localement, une fois connecté au ldap du SE3, il ne sera pas possible de changer les mots de passe des utilisateurs du ldap, car seule une lecture de l’annuaire sera faite .

Un œil dans la partie Administration nous indique que nous ne sommes pas en https.

Il est possible de modifier la configuration du serveur apache pour qu’il fonctionne en https, mais le gros inconvénient est que le reverse proxy du slis (qui va permettre l’accès au cloud à l’extérieur de l’établissement), ne fonctionne que sur le port 80. Par conséquent, si on veut que le cloud fonctionne en connexion sécurisée, il faudra qu’un administrateur ayant le root du slis autorise ce reverse proxy vers le port 443 (cette procédure ne peut être faite avec l’interface seule) . Ou alors, il faut mettre le ownCloud dans la DMZ du Slis.

La procédure à suivre pour activer le ssl sur le serveur apache est décrite sur différents sites, dont celui-ci

  • Accès au cloud de l’extérieur.

La première chose à faire est de paramétrer le SLIS pour que le cloud soit accessible
de l’extérieur. procédure détaillée ici
On ira dans la partie « REVERSE PROXY » pour faire correspondre l’adresse locale du cloud avec l’adresse extérieure. Ou mettre le serveur dans la DMZ.

dirigée vers

Adresse externe générée
"http://lyc-tartempion-ville.ac-versailles.fr/owncloud/"

  • configuration des partages

L’intérêt du cloud va résider dans la possibilité de partager les documents.
Néanmoins, la gestion des partages ne pourra pas être spécialement réglée pour un utilisateur. Seuls les choix présentés sont possibles.

On réglera initialement la gestion des partages de la façon suivante, pour éviter des problèmes que nous verrons juste après, même si les modifications pourront être effectuées par la suite.

Cinquième partie : Authentification via l’annuaire ldap du SE3

MAJ novembre2014 : La procédure suivante ne marche qu’avec owncloud 6.0.1. Il sera possible d’utiliser l’authentification du se3 sur une version ultérieure mais seulement via une mise à jour de la version 6.0.1 vers la nouvelle.

Il va falloir en premier, activer le module ldap dans le cloud.

Pour cela, on va cliquer sur « application » en bas à gauche pour afficher les modules présents nativement sur le cloud.
On activera les deux modules suivants.

On retourne ensuite dans la partie administration.
On remarque qu’un module est en rouge, donc absent.
On va donc l’installer manuellement sur le serveur en tapant

Puis on va redémarrer le serveur apache2

En actualisant la page, tout doit être au vert. Ensuite on doit trouver ce menu.

Une bonne partie des informations pourront être obtenues dans l’explorateur ldap du SE3.

Le présent tutoriel a été réalisé avec une machine virtuelle, et réseau/annuaire virtuel.
Dans le cas d’un lycée, le dn de base est plus compliqué que celui affiché sur les captures d’écran.


On placera dans le premier onglet l’ip du se3, puis le port 389 (port du ldap).

Dans la deuxième ligne, on placera le dn d’un utilisateur autorisé à lire l’annuaire, donc admin ou adminse3.
uid=adminse3,ou=People,ou=lyc-tartempion-ville,ou=ac-versailles,ou=education,o=gouv,c=fr

Dans la troisième ligne, on mettra évidemment le mot de passe correspondant au compte choisi.

Dans le dernière ligne, on placera le dn de base, même si les deux branches People et Groups seront à renseignées plus tard dans la partie « advanced ».

ou=lyc-tartempion-ville,ou=ac-versailles,ou=education,o=gouv,c=fr

ATTENTION : parfois la dernière ligne est grisée, il faut donc tout effacer et recommencer depuis la première ligne.

On clique sur poursuivre pour arriver à l’onglet « User Filter ».On cochera seulement la case « person ».

La configuration peut-être considérée comme incomplète, mais continuer quand même.
On attends que les utilisateurs soient détectés, cela peut être très long avec un annuaire de 1000 personnes.

On continue en cliquant sur « Poursuivre ».
On choisira un login correspondant à l’UID, pour que la connexion se fasse avec le même login/mdp que le se3. Ne pas éditer le filtre.

On passe à l’onglet suivant, toujours par la touche « Poursuivre ».
On va donc choisir parmi tous les groupes possibles, ceux qui nous serviront au partage de fichier.

Pour cela, on va cocher « TOP » pour les classes d’objets.

Il faudra ensuite cocher tous les groupes que l’on souhaite faire apparaître. C’est ici que l’administrateur va devoir choisir comment il voudra organiser les partages.

on ne cochera donc pas la case élève, car un tel choix permettrait à un élève de partager un document avec tous les élèves du lycée, ce qui peut conduire à de très graves dérives. De même, on évitera de cocher les groupes « classes » car ce groupe n’inclue pas d’enseignant et ne permettra donc pas d’échange prof/élève.

Il va falloir trouver des groupes communs aux enseignants d’une classe, et avec les classes en question.
Le choix peut se porter sur le fait de faire apparaître le groupe « prof », les groupes « matière »,« équipe » et les groupes « cours ».
On peut aussi cocher « administratifs » pour les AVS, documentaliste,etc (bon courage...cette étape m’a pris bien du temps vu le nombre de groupes à cocher 850).

Ainsi, un professeur de physique fera partie de plusieurs groupes simultanément (prof, matière_PH-CH, Cours_PH-CH_TS2,Cours_PH-CH_sec_9, etc.) tandis qu’un élève de TS2 ne fera partie que des groupes Cours_PH_CH_TS2 ;Cours_MATHS_TS2,etc.


On remarque que les groupes sont trouvés au fur et à mesure, cela peut être très long...

Ainsi, il y a une double sécurité : les élèves ne peuvent pas partager de documents avec tous le monde. S’ils décident de partager un document, ils doivent le faire avec un de leur groupe lié à une matière Cours_PH-CH_TS2, et l’enseignant faisant partie de ce groupe pourra voir le document partagé. Les élèves seront donc moins tentés de partager des bêtises (divx,etc)

On a presque terminé les réglages de base. On va affiner les derniers réglages en allant à droite sur l’onglet « Advanced »

Laisser tels quels les paramètres de connexion, puis remplir les paramètres de répertoire.

Le premier champ sert uniquement à indiquer ce que le cloud affichera en haut une fois connecté.

On écrira « cn » si on veut que le nom complet apparaisse (Victor Hugo), si on écrit « uid », on trouvera « Hugov ».

  • Dn arbre utilisateur :

ou=People,ou=lyc-tartempion-ville,ou=ac-versailles,ou=education,o=gouv,c=fr

  • Dn groupe utilisateur :

ou=Groups,ou=lyc-tartempion-ville,ou=ac-versailles,ou=education,o=gouv,c=fr

Bien écrire «  MemberUid  » pour que les associations membre/groupes se fassent bien.

Dans la partie Attributs spéciaux, on pourra écrire "uid" dans la case "Convention de nommage du répertoire utilisateur". Ainsi, on pourra facilement voir/naviguer dans les répertoires utilisateurs du dossier data.

Sauvegarder (ceci peut être encore très très long sur un serveur en production). Il faut bien regarder la couleur du bouton sauvegarde, elle change brièvement lorsque la sauvegarde est faite.

On va vérifier si les utilisateurs sont bien présents. Pour cela on va revenir dans le mode « Utilisateur » en haut à droite.

Les utilisateurs s’affichent au fur et à mesure , cela peut encore être très très long sur un annuaire important. Ce n’est pas grave puisque même s’ils n’apparaissent pas encore, on peut se connecter.

Le cloud est maintenant fonctionnel.
On peut remarquer que le nom d’utilisateur est complexe, mais la connexion se fera avec l’Uid. On peut le vérifier en se connectant avec un compte du SE3. Un utilisateur n’a pas de droits d’administration, sauf si on l’a ajouté dans le groupes « admin », ou dans le second onglet « groupe admin » en administrateur d’un groupe comme un groupe classe.

ATTENTION : les comptes « admin », « adminse3 » ne sont que des comptes ordinaires ici, seul celui défini lors de la création de compte va avoir des droits, même si l’administrateur du cloud pourra rendre membres du groupe « admin » les comptes « adminse3 » et « admin ».

Sixième partie :chargement/Partage de documents

Le chargement d’un fichier/répertoire vers le cloud va se faire par un simple glisser/déposer du fichier vers le navigateur.

Le téléchargement du client Windows/Linux/OsX se fera sur le site d’owncloud. Des clients pour ordiphones et tablettes sont aussi disponibles.

Ainsi, on pourra sans problème utiliser le client chez soi, en utilisant l’adresse externe qui aura été inscrite dans le reverse proxy du Slis

ATTENTION :On évitera d’utiliser le client sur les PC du lycée, car par défaut la synchronisation des répertoires se fait dans c :/users/hugov/, ce qui va rendre l’ouverture de session très longue.

  • Partage de fichiers/répertoires.
    On rappelle qu’avec les réglages effectués, une personne ne peut partager des fichiers qu’avec des membres de son groupe.

Le partage de documents se fera d’une façon très simple : il suffit de se positionner sur le fichier, sans le lancer, plusieurs choix apparaissent. Cliquer sur « Partager ».

On aura juste à taper le nom d’un utilisateur/groupe (les premières lettres suffisent du nom ou du prénom) et sélectionner la personne/groupe concerné(e).

Par exemple, le professeur de physique-chimie de la TS2 souhaite partager un répertoire avec sa classe, il lui suffira de taper « cours » et la liste des groupes auxquels il appartient
« Cours_PH-CH_TS2 » sera alors à cocher.
De même si un élève veut partager des documents avec une classe entière, il va devoir choisir un groupe dans lequel il y aura obligatoirement un enseignant et qui pourra donc voir un éventuel abus.

De même on pourra choisir si le fichier est modifiable par ses membres (pratique en cas de fichier de notes de bac par exemple par des collègues d’une matières lors d’un bac blanc), ou choisir une date de fin de validité du partage.

Pour partager un document avec des membre d’une même discipline on tapera « matière ».
Si c’est entre collègues d’une classe, on écrira « équipe ». On tapera « profs » pour partager un document avec l’ensemble des enseignants.

Pour résumer

Pour un professeur
PARTAGER AVEC TAPER
Un professeur ou un élève premières lettres du nom
Tous les professeurs PROFS
Tous les professeurs d’une matière MATIERE
Tous les professeurs d’une classe EQUIPE
Tous les élèves d’une classe COURS
Pour un élève
PARTAGER AVEC TAPER
Un professeur ou un élève premières lettres du nom
Tous les élèves de sa classe COURS

Bonne installation...elle va prendre un peu de temps.

Partager

Imprimer cette page (impression du contenu de la page)