Installer un serveur owncloud 8 avec l'annuaire du se3

De Wiki Dane (ex wikitice)
Aller à : navigation, rechercher

Auteur : Marc Bansse (Lycée Jacques Prévert de Longjumeau). Owncloud est un logiciel en constante évolution. N'hésitez pas à apporter vos contributions/corrections.

MAJ 25 Janvier 2016:

  • Nouveau paramétrage pour accéder aux partages samba pour la version 8.2.2 (supprimer impérativement les anciens).
  • Amélioration du module "Stockage Externe SMB/CIFS" pour accéder aux partages du se3 depuis l'extérieur de l'établissement (installation du paquet php5-libsmbclient et prise en charge des caractères spéciaux dans les noms de fichier et de répertoires du se3).
  • montage automatique du cloud sur les bureaux des clients Linux avec le paquet davfs2.
  • ATTENTION, si vous faites une maj de wheezy vers jessie, la config apache2 est changée.

https://doc.owncloud.org/server/8.2/admin_manual/installation/source_installation.html#apache-configuration-label

Sommaire

Présentation

Owncloud.JPG

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. Owncloud 8 va permettre le partage de documents entre utilisateurs du se3 (professeurs et élèves), d’accéder de chez soi à ses documents placés sur le se3 (comme le faisait le LCS), et va doter l’établissement de plusieurs outils collaboratifs libres (messagerie/dialogue personnel ou de groupe du type facebook, agenda,etc...). 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: installation du logiciel sur un serveur dédié

Mise en place du système d'exploitation

On installera une distribution Debian Wheezy minimale, avec seulement un accès en ssh. Un disque dur de taille réduite pourra servir au système d'exploitation. Un deuxième disque dur de contenance importante pourra être monté en /var/www/


L'adresse IP du serveur devra être statique (une réservation de l'ip par le se3 est néanmoins possible ). Editer le fichier d'interface et entrer les valeurs désirées.

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address 172.20.0.3
netmask 255.255.0.0
gateway 172.20.0.1

Enregistrer et quitter relancer la connexion

/etc/init.d/networking restart

Vérifier que le serveur accède bien à internet.

installation des paquets nécessaires et du logiciel

apt-get install apache2 php5 php5-gd php-xml-parser php5-intl php5-sqlite php5-mysql
smbclient curl libcurl3 php5-curl mysql-server php5-ldap

Il faut alors choisir un mot de passe très solide pour l'administrateur de la base MySQL, 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.

cd /var/www/ 
wget https://download.owncloud.org/community/owncloud-8.0.2.tar.bz2 
tar xjf owncloud-8.0.2.tar.bz2

Note : derrière le proxy Amon, il faut soit déclarer le proxy https au préalable, soit utiliser l'url en http (http://download.owncloud.org/community/owncloud-8.0.2.tar.bz2)

On pourra directement installer la version 8.1.3 qui a maintenant été testée et dont les applications décrites ici sont compatibles en faisant

wget https://download.owncloud.org/community/owncloud-8.1.3.tar.bz2

montage automatique du disque en /var/www/

Le montage permanent du disque en /var/www/ sera à faire en ajoutant une ligne au fichier /etc/fstab On repère l'UID du disque dur avec la console.

blkid

On note cette valeur (ou copier/coller). on édite le fichier /etc/fstab (après avoir fait une copie)

cp /etc/fstab /etc/fstab.sav
nano /etc/fstab

on ajoute les deux lignes suivantes.

#montage de WD 2To Black en /var/www
UUID=44bcf779-967e-48ab-810b-e15063809c13 /var/www/     ext3    defaults        0       2

Il faudra redémarrer le serveur pour que les changements soient bien pris en compte.

choix du répertoire d'accueil des données d'owncloud 8

Il faut créer un répertoire data dans owncloud et changer les propriétés du répertoire owncloud pour que l'utilisateur du service web ait des droits de lecture/écriture.

mkdir /var/www/owncloud/data
chown -R www-data:www-data /var/www/owncloud/

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.

nano /etc/apache2/sites-enabled/000-default

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

09 sites-enabled.JPG

Il faudra ensuite activer deux modules d’Apache

a2enmod rewrite
a2enmod headers
service apache2 restart

Configuration pour le module Stockage Externe SMB/CIFS avec le serveur se3

Si vous avez l'intention d'activer le module Stockage Externe SMB/CIFS pour permettre d'accéder aux partages du se3 depuis l'extérieur de l'établissement, la documentation en ligne d'Owncloud recommande, depuis sa version 8.1, d'installer le paquet php5-libsmbclient pour un bon fonctionnement du module. Pour cela :

Pour un serveur owncloud 8.1

  • Pour un serveur Debian Jessie, saisir sur le serveur Owncloud, en tant que root :
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community:/8.1/Debian_8.0/ /' >> /etc/apt/sources.list.d/php5-libsmbclient.list
wget http://download.opensuse.org/repositories/isv:ownCloud:community:8.1/Debian_8.0/Release.key
apt-key add - < Release.key
apt-get update
apt-get install php5-libsmbclient
  • Et pour un serveur Debian Wheezy :
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community:/8.1/Debian_7.0/ /' >> /etc/apt/sources.list.d/php5-libsmbclient.list
wget http://download.opensuse.org/repositories/isv:ownCloud:community:8.1/Debian_7.0/Release.key
apt-key add - < Release.key
apt-get update
apt-get install php5-libsmbclient

Pour un serveur owncloud 8.2

  • Pour un serveur Debian Jessie, saisir sur le serveur Owncloud, en tant que root :
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_8.0/ /' >> /etc/apt/sources.list.d/php5-libsmbclient.list 
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_8.0/Release.key
apt-key add - < Release.key 
apt-get update
apt-get install php5-libsmbclient
  • Et pour un serveur Debian Wheezy :
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/php5-libsmbclient.list 
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add - < Release.key  
apt-get update
apt-get install php5-libsmbclient

* Installation d'owncloud

Configuration principale

Nous allons lancer à partir d’un poste du réseau, via un navigateur, la première interface d’ownCloud : http://ip-du-cloud/owncloud/

10 installation owncloud navigateur.JPG

Cliquer sur "avancé" pour choisir une installation de la base de donnée MySQL

13 config owncloud.JPG

Choisir un login/mdp pour le compte administrateur (ne pas choisir un compte déjà existent du se3). Laisser le répertoire des données inchangé. 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

Terminer l'installation pour arriver sur la page de présentation

petite modification à faire avant de continuer

En allant dans l'interface d'administration deux messages d'erreur apparaissent: - Un premier vous disant que le site n'est pas en https (et qui restera tant que le cloud ne sera pas en https). - Un deuxième précisant que l'utf-8 n'est pas choisi par défaut dans le php.ini. On va donc remedier à cela. Un bref petit tour sur le serveur.

nano /etc/php5/apache2/php.ini

chercher la ligne contenant "default_charset = "UTF-8 " (touche CTRL+W puis taper UTF suivi de la touche entrée pour la trouver plus facilement) Décommentez-la.

service apache2 restart

Un retour dans l'interface et le message d'erreur a disparu.

Si un message vous indique "Ce serveur ne peut se connecter à Internet.", notamment si vous êtes derrière un proxy Amon, il faut ajouter dans le fichier :

/var/www/owncloud/config/config.php

la ligne

'proxy' => 'IP_DU_AMON:3128',

Configuration ldap

On veut que ce soit le se3 qui gère les comptes du cloud. Il va donc falloir que le cloud puisse consulter l'annuaire du se3 (ldap) de façon à ce que tout compte du se3 soit un compte du cloud. Tout compte crée/supprimé sur le se3 le sera aussi sur le cloud (pas les fichiers qu'il faudra effacer en fin d'année). Aller dans les applications non activées et activer "LDAP USER AND GROUP BACKEND" Se rendre ensuite dans ADMINISTRATION

25 config vierge ldap.JPG

Une bonne partie des informations pourront être obtenues dans l’explorateur ldap du SE3 en allant dans "annuaire>explorateur ldap"

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 à renseigner 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. Dans ce cas, remplir d'abord la dernière ligne. Même si le voyant n'est pas au vert, continuer. Il y a une latence très importante si l'annuaire est important.

27 onglet1 ldap base.JPG

On clique sur poursuivre pour arriver à l’onglet « User Filter ».On cochera seulement la case « person ». 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.

29 onglet3 login filter.JPG

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.

31 onglet4 group filter rempli.JPG

Il faudra ensuite cocher tous les groupes que l’on souhaite faire apparaître. C’est ici que l’administrateur du cloud va devoir choisir comment il voudra organiser les partages. Nous choisirons plus tard de n'autoriser que des partages entre membres d'un même groupe pour des raisons de sécurité.

On ne cochera 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 ces groupes n’incluent pas d’enseignant et ne permettront 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). MAJ: depuis la version 8.1.3 il n'y a plus de case à cocher mais des groupes à sélectionner (avec le clavier shift + fleches). quelques secondes suffisent. De même de nombreux tests intermédiaires permettent de voir si le paramétrage marche bien.

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 (mp3,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.

32 onglet advanced rempli.JPG

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 ira vérifier que les utilisateurs ont bien été détectés avec leurs groupes respectifs

5 utilisateurs.JPG

N'importe quel utilisateur du se3 possède maintenant un compte et peut partager des documents avec tout membre d'un de ses groupes.

Accès au cloud de l'exterieur

Etablissements sous Slis

Rendre le cloud accessible de l'exterieur est très simple avec un slis: Il suffit d'ajouter une ligne dans la partie reverse proxy qui va faire pointer l'adresse du type: http://ipducloud/owncloud/ vers le suffixe /owncloud/ L'adresse externe est donc http://lyc-tartempion.ville.ac-versailles.fr/owncloud/ Si le cloud est en https il faudra écrire une regle en jnat dans la table de routage, ce qui va être assez difficile puisque personne n'assure la maintenance des SLIS, il vaut donc mieux rester en http classique.

Etablissements sous AMON

Amon comme le slis permet de faire un reverse proxy. Comme vous n'avez pas la main sur le reverse proxy du AMON, il faudra Etablir un ticket Carina pour que la DSI fasse cette redirection. L'adresse générée sera du même genre que celle générée par le slis.

Ajout du nom de domaine dans la config du cloud

Dernière étape:pour que le cloud soit accessible de l'extérieur, il faudra ajouter dans le fichier de configuration l'adresse du domaine, pour plus de sécurité.

nano /var/www/owncloud/config/config.php

10 trusted domain.JPG

Précision pour la mise à jour des applications vers la version 8.1.3

Cette documentation est faite à partir d'owncloud 8.0.2. Vous pouvez directement installer owncloud 8.1.3. La majorités des applications s'installent maintenant depuis l'onglet "+ Applications" du menu administrateur. Si vous êtes sous owncloud 8.0.x , la mise à jour du cloud se fera mais les applications seront temporairement désactivées. Il faudra se déconnecter et certaines apps demanderont à ce que vous lanciez la maj.

Maj.JPG

Une fois terminée on a:

Maj ok.JPG

L'application "news" a provoqué un bug une fois la mise à jour effectuée. Si vous l'avez déjà faite et que vous ne pouvez plus accéder à l'interface, il suffit de supprimer en console le répertoire apps/news et de réinstaller l'ancienne version.

upload, applications sur ordinateurs/tablettes et partage de documents

Upload de documents

Pour accéder/uploader des documents il y a trois façons de faire:

  • Avec l'interface web
  • Avec le client de synchronisation Owncloud
  • Avec le protocole webdav

Avec l'interface

Le chargement d’un fichier vers le cloud va se faire par un simple glisser/déposer du fichier vers le navigateur (cela ne marche pas avec des répertoires). Il sera également possible de cliquer sur le bouton "envoi" pour envoyer des fichiers vers le serveur.

Avec le client owncloud

Il sera préférable de charger des répertoire en utilisant l'application PC,Mac ou Linux Owncloud qui est gratuite. 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(applications owncloud est payante mais des applications gratuites permettront d’accéder aux documents en utilisant le protocole webdav) . Ainsi l'installation du client permettra de synchroniser un répertoire que vous choisirez. Tout fichier placé dans ce répertoire sera automatiquement envoyé vers le cloud. De même tout document placé sur le cloud par vous ou par quelqu'un qui partage un document sera automatiquement copié sur votre ordinateur. Sous Linux on pourra utiliser le gestionnaire de fichier en faisant : "se connecter à un serveur distant". On entrera l'adresse sur serveur webdav et les informations de connexion. Il doit être possible de faire la même chose avec windows mais je n'ai pas encore réussi.

Avec le protocle webdav pour des applications sur téléphone/tablette

  • Owncloud permet l'utilisation du protocole webdav qui va permettre d'acceder à ses fichiers. L'adresse est
http(s)://adresseducloud/owncloud/remote.php/webdav/  avec un port de 80 (443 en https).

Montage du cloud directement dans un client Linux

  • Si l'établissement possède des clients Linux, on peut aussi utiliser le paquet davfs2 pour monter le cloud dans un dossier apparaissant sur le bureau. On peut alors accéder au cloud par un simple clic et déposer des dossiers dessus.

Il faut pour cela installer le paquet davfs2 sur un client linux avec un compte local ou du réseau. un répertoire /etc/davfs2 sera installé en local sur le poste. Le contenu de ce répertoire devra être copié dans le skel du se3 dans un répertoire .davfs2 Le répertoire /.davfs2 qui va être copié dans le home de l'utilisateur doit ensuite être copié dans le skel du se3 pour la distribution (/home/netlogon/clients-linux/distribs/wheezy/.skel/ )

On ajoute aussi un répertoire vide cloud dans le skel de la distribution. Toute utilisateur possède donc dans son home un répertoire .davfs2 avec un fichier de conf placé dedans et un répertoire cloud qui servira pour le montage.

Ensuite, on ajoute dans la partie function ouverture_perso () du fichier /home/netlogon/clients-linux/bin/logon_perso du se3:

#le paquet davfs2 doit être déjà installé sur les postes par un fichier unefois.bat ou par mesapplis-debian.txt
#Pour la suite, le répertoire .davfs est déjà placé dans le skel du se3. le fichier de conf davfs2 (présent aussi dans /etc/davfs2) s'y trouve sans modif préalable.
chmod 750 "$REP_HOME"/.davfs2/certs/
#On efface les fichiers de conf copiés lors de la première installation du paquet davfs2 pour éviter un conflit.
rm /etc/davfs2/davfs2.conf
#creation d'un fichier secrets placé dans le /home/login/.davfs2 avec emplacement, login et mdp du cloud.
touch "$REP_HOME"/.davfs2/secrets
#récupération du mot de passe  stocké provisoirement dans le fichier /etc/se3/tmp/credentials
MOTDEPASSE=$(sed -e '1d;s/password=//' /etc/se3/tmp/credentials*)
* le fichier credentials dans la version Jessie se nomme credentials_login, il faut donc bien mettre un "*" pour que le montage marche pour les ditribs jessie et wheezy. 
#on écrit point de montage login et mdp du compte owncloud dans le fichier /home/login/.davfs2/secrets
echo "$REP_HOME/cloud/" "$LOGIN" "$MOTDEPASSE" >> "$REP_HOME"/.davfs2/secrets
chown root:root "$REP_HOME"/.davfs2/secrets
chmod 600 "$REP_HOME"/.davfs2/secrets
# on indique qu'un fichier secrets va être utilisé dans le fichier de conf, ainsi que son emplacement.
echo "secrets   $REP_HOME/.davfs2/secrets" >> "$REP_HOME"/.davfs2/davfs2.conf
#montage du cloud avec les droits login:lcs-users sur le répertoire
mount.davfs http://172.20.0.3/owncloud/remote.php/webdav/  "$REP_HOME/cloud/" -o  uid="$LOGIN,gid=lcs-users,conf=$REP_HOME/.davfs2/davfs2.conf"
#on place un lien symbolique pour qu'un dossier cloud apparaisse sur le bureau
ln -s "$REP_HOME"/cloud "$REP_HOME"/Bureau/cloud


Il ne faut pas oublier ensuite d'ajouter dans la partie "function fermeture_perso ()"

umount /home/"$USER"/cloud
#on commente la ligne "true"

Applications pour accéder aux documents

Sous Android

On pourra utiliser l'application ES Explorer. On choisira le protocole ftp en entrant l'adresse du serveur http://lyc-tartempion.ville.ac-versailles.fr/owncloud/remote.php/webdav/ avec le port 80 (443 si on est en https). Un utilisateur pourra placer sur le cloud un fichier audio qu'il aura enregistré par un simple copier/coller. Un partage avec l'enseignant/élève permettra à l'écoute directement sur le cloud par l'aplication Music.

L'application Owncloud est également gratuite si on passe par la source fdroid mais cela demande un peu plus de connaissances pour les utilisateurs de base d'androïd.

Sous Ios

On pourra utiliser l'application "Documents bye readdle" qui est gratuite toujours en utilisant l'adresse webdav. D'autres applications sont également disponibles.

Pour le traitement de texte, wps Office permet de lire/écrire/modifier des fichiers directement dans le cloud.


N'hésitez pas à rajouter à cet article les applications pédagogiquement utiles utilisant le webdav et qui peuvent directement enregistrer/lire des choses depuis le cloud.


Partage de documents

On retourne dans l'interface. Dans la partie administration il faudra configurer les partages de la sorte

20 partage ok.JPG

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).

35 partage blaise pascal.JPG

Tout fichier partagé apparaitra dans la catégorie "Partagé avec vous" de l'utilisateur concerné.

Par exemple, si 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 apparait. « 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.


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.

Tableau partage cloud.JPG

* activation/utilisation d'outils collaboratifs

Application préinstallées

Owncloud 8 possède un certain nombre d'applications pré-installées. Pour les activer on ira dans la partie + Applications et on activera: Bookmarks ; Calendar ;Deleted files ;Search Lucène ;Documents ;External Sites ;External storage support ...

ATTENTION: ne pas activer l'application WebDAV user backend car elle est incompatible avec la gestion ldap. L'application activité peut être désactivée car elle possède le même défaut que certains réseaux sociaux: suivre ce que font les autres.

Visualisation de Documents Via Libreoffice

on va retourner sur le serveur:

apt-get install default-jre 
apt-get install --no-install-recommends libreoffice-writer
apt-get install default-jdk

Ensuite on éditera le fichier de configuration

nano /var/www/owncloud/config/config.php

on ajoutera dans la liste des paramètres

'preview_libreoffice_path' => '/usr/bin/libreoffice',

Il ne reste plus qu'à aller dans la partie Administration et activer la prise en charge MS WORD locale

Preview libreoffice.JPG

Un clic sur un document permettra de le voir et de l'éditer même si la compatibilité laisse encore à désirer.

Office libreoffice.JPG

outil de messagerie/dialogue

Espace de messagerie interne/ discussion (style facebook) Owncloud 8 permet de créer des espaces de discussion personnels, ou par groupe. Il sera également possible de joindre des fichiers stockés sur le cloud. Il n’y a donc maintenant plus besoin d’avoir les adresses mails des élèves/professeurs, ni même d’utiliser des plateformes de type fb/forum d’échange très utilisés par les professeurs de langue. L'application MUSIC que nous verrons ensuite permettra de lire les enregistrements envoyés par les enseignants/élèves.

19 groupe discussion.JPG
Message.jpg

Pour cela,

cd /var/www/owncloud/apps/
wget https://github.com/simeonackermann/OC-User-Conversations/archive/master.zip
unzip master.zip
mv OC-User-Conversations-master/ conversations
chown -R www-data:www-data /var/www/owncloud/

Il ne reste plus qu'à activer l'application dans l'interface qui y apparait sous le nom "USER CONVERSATIONS".

Lorsqu'un message est reçu, une petite icone de notification apparait

19 message recu.JPG

Application Music

Music va permettre de jouer en streaming des fichiers musicaux. Un élève/professeur va pouvoir déposer des fichiers musicaux qui pourront directement être joués sur le cloud. Une plateforme du style edmondo n'est donc plus nécessaire.

sur le serveur:

cd /var/www/owncloud/apps/
wget wget https://apps.owncloud.com/CONTENT/content-files/164319-music.zip
unzip 164319-music.zip
chown -R www-data:www-data /var/www/owncloud/

Activer l'application sur l'interface. On peut maintenant lire un fichier audio et le partager par le cloud.

Music.JPG

Calendrier collaboratif

Un utilisateur va pouvoir créer un événement dans un calendrier.

13 calendrier avant partage.JPG

Une fois cet événement créé, il pourra être partagé en cliquant dessus (un onglet partage est apparu). Ici tous les professeurs verront qu’une réunion est prévue .

14 calendrier après partage.JPG

Une telle option sera très utilisée par des enseignants du tertiaires qui planifient des taches/projets au fur et à mesure de l’année avec leurs élèves.

Gestion des raccourcis

Le but ici est de pouvoir entrer des favoris dans le cloud, les classer par étiquette pour pouvoir les retrouver/utiliser facilement quelque soit le navigateur autorisé.

Raccourcis.JPG

Pour ajouter un favori manuellement il suffira d’entrer son adresse et de cliquer sur Ajouter. Celui-ci sera ajouté en rechargeant la page. Un clic sur le stylo permettra d’ajouter un descriptif du site, mais surtout de mettre une étiquette qui permettra de classer en différentes catégories les liens, pour n’afficher que la catégorie souhaitée.

Favoris etiquette.JPG

Un clic sur un favori ouvrira le site dans une nouvelle fenêtre.

Liens externe

Il sera très pratique d'afficher des liens externes au cloud (portail du CDI, Pronote,etherpad,etc). Une icone vers le site apparaitra dans le menu général On ira dans l'interface d'administration, dans la rubrique sites externes et on entrera le nom qui apparaitra dans le menu, suivi de l’adresse du site.

Sites externes.JPG


ownnotes

Ownnote est un outil de prise de notes personnelles qui peut éventuellement être utile mais non indispensable, Libreoffice ayant été déjà installé dans la partie document. Sur le serveur on fera:

cd /var/www/owncloud/apps/
wget https://github.com/Fmstrat/ownnote/archive/ownNote-0.0.6.zip
unzip ownNote-0.0.6.zip
mv ownnote-ownNote-0.0.6/ ownnote

Ensuite on éditera le fichier de configuration

nano /var/www/owncloud/config/config.php

ajouter avant la fin

'custom_csp_policy' => "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *",

sauvegarder et remettre les droits correctement:

chown -R www-data:www-data /var/www/owncloud/

Une icone Notes apparaitra dans le menu général et permettra d'écrire des breves notes avec tableau et images

Ownnotes.JPG

Lecture des fichiers epub

Owncloud peut lire directement les fichiers epub, un enseignant peut donc mettre en partage un fichier epub (libre de droit évidemment). Sur le serveur:

cd /var/www/owncloud/apps/
wget https://github.com/Yetangitu/owncloud-apps/blob/master/dist/files_reader-0.6.0.tar.gz?raw=true
mv files_reader-0.6.0.tar.gz\?raw\=true files_reader-0.6.0.tar.gz
tar -xzvf files_reader-0.6.0.tar.gz
chown -R www-data:www-data /var/www/owncloud/

Il ne reste plus qu'à activer l'application "READER (ebook reader)" dans l'interface

Un clic sur un fichier epub ouvrira le livre dans la fenêtre principale

Epub.JPG


Montage des partages samba pour un accès extérieur au se3

Le LCS permettait d’accéder de chez soi aux fichiers du se3, placés dans les /homes et docs des utilisateurs (répertoires classes,travail,etc). Owncloud 8 possède maintenant une option permettant de monter des partages samba en utilisant les identifiants de connexion du cloud (donc les mêmes que ceux du se3). OC8 permet donc de retrouver cette fonction du LCS (ainsi que d’autres que nous verrons ensuite).

A noter :

N'oubliez pas que depuis la version 8.1 d'Owncloud, il est recommandé d'avoir installé le paquet php5-libsmbclient sur le serveur Owncloud pour le bon fonctionnement de ce module (se reporter au paragraphe 2.6 de l'article)
Caractères spéciaux dans les noms de fichiers et de répertoires des partages du se3

La locale du module Stockage Externe SMB/CIFS est réglée par défaut en Anglais. Pour éviter des problèmes avec les fichiers ou répertoires du se3 qui contiennent des caractères spéciaux, il faut régler cette locale en français. Pour cela, sur le serveur Owncloud, en tant que root, saisir :

nano /var/www/owncloud/apps/files_external/3rdparty/icewind/smb/src/Server.php

Modifier la ligne 15 du fichier de la façon suivante :

const LOCALE = 'fr_FR.UTF-8';

Redémarrer votre serveur Owncloud. Ce changement de locale devrait améliorer le fonctionnement Owncloud vis à vis des fichiers du se3 contenant des caractères spéciaux.

Remarque: LE CLOUD UTILISE LA NORME UTF-8, LE SE3 SOUS SQUEEZE NON, il faut donc impérativement que les noms de fichiers.répertoires placés sur le se3 ne contiennent pas d'accent ou de caractère trop exotiques. Un répertoire appelé "chapitre 4 (santé)- l'imagerie médicale" ne sera pas visible par le cloud. S'il est nommé "chapitre 4 (sante) - l_imagerie medicale" alors il sera accessible. Il faut donc prévenir les élèves/enseignants des normes à adopter lors du choix d'un nom de fichier/répertoire dans les répertoires TRAVAIL,Classes etc. Les tiretes du 6 et 8 sont bien pris en compte. La version wheezy ne posera peut-être plus ces problèmes. On peut aussi désactiver l'UTF-8 du cloud mais certaines fonctionnalités risquent de ne plus fonctionner.

De même l'écriture sur le se3 à partir du cloud semble fonctionner si le partage vers des serveurs distants est activé.

Autorisation partages servers.JPG

ERSION 8.1.x Dans l'interface ADMINISTRATION, aller dans la partie stockage externe et choisir "SMB/CIFS en utilisant les identifiantsOC"

Config partages samba.JPG

Le nom d'hote correspond à l'IP du se3 Il faut mettre le nom du partage dans la case "partager" (home, Classe ou autre). Si on veut mettre un sous réperoire du home, il faudra écrire ce sous-répertoire dans la case "sous-répertoire distant"

Il ne reste plus qu'a donner un nom de Dossier "Classe (se3)", éventuellement les groupes utilisateurs qui auront le droit de voir ce partage. Voici ce que l'utilisateur hugov faisant partie du group prof pourra voir, alors qu'un élève n'aura pas le répertoire Classes dans le cas de figure présenté ici.

Presentation fichiers hugov.JPG

MAJ: avec la version 8.2.2, le montage n'est pas le même. SI vous faites une mise à jour 8.1.x vers 8.2.2 alors il faut supprimer les montages déjà présents et refaire la configuration comme dans la photo suivante (ou les fichiers mis sur le se3 après la maj ne seront pas visibles).

Montage samba8.2.JPG

Ne pas s’inquiéter si le voyant n'est pas au vert...cela marche quand même.

Réception des mails académiques pour un enseignant

Il sera possible de configurer le cloud pour recevoir ses mails sur le cloud. L'application mail est très rudimentaire et ne remplace pas un véritable service mail mais elle permet de voir très rapidement ses messages en ne remplissant son login/mdp que la première fois.

Activation app mail pour profs.JPG

On active l'application mail (encore dans la branche expérimentale mais désormais agrée par owcnloud).

L'utilisateur trouvera dans son menu l'enveloppe mail.

Icone mail.JPG

Il lui suffira de rentrer les parametres imap du compte. Ceux de l'académie de Versailles sont indiqués ici:

Config mail owncloud.JPG

ATTENTION: Dans mon lycée qui est encore sous SLIS, j'ai du ajouter une règle de routage autorisant le port 465 pour l'envoi. Il en est peut-être de même avec le Amon.

Regle routage slis.JPG

Les mails peuvent maintenant êtres lus et envoyés à partir du cloud.

Mails ok.JPG

Un clic sur l'écrou en bas à gauche permettra de rajouter/supprimer des comptes IMAP.

Mode d'emploi à destination des utilisateurs

J'ai réalisé en début d'année un bref mode d'emploi à destination des professeurs de mon lycée.Il peut servir de base à quelqu'un voulant en faire un autre. Toutes les erreurs/fautes de frappe/d'orthographe qui s'y trouvent sont libres d'utilisation... Fichier:Mode emploi cloud8.odt

Administration du cloud

Une grande partie des opérations pourra se faire par l'administrateur dans la partie Utilisateurs.

Gestion des quotas

Cliquer sur l'écrou en bas à gauche. On pourra mettre un quota par défaut à tous les utilisateurs. Changer ce quota pour une utilisateur ayant besoin de plus de place. On pourra afficher la date/heure de dernière connexion L'administrateur pourra ajouter l'outil "GRAPH" pour suivre l'espace disque. Ceci ne s’avérera nécessaire que si aucun quota n'a été mis en place

Administration.JPG

De même on pourra installer l'application GRAPH pour avoir une visibilité différente. Sur le serveur

cd /var/www/owncloud/apps
wget https://apps.owncloud.com/CONTENT/content-files/166746-ocusagecharts_3.4.3.zip
unzip 166746-ocusagecharts_3.4.3.zip
chown -R www-data:www-data /var/www/owncloud/

Dans l'interface, activer l'application CHARTS

Graphs.JPG

Un peu de sécurité/maintenance

Activer l'envoi de mail sur le serveur avec le service smtp du FAI

Plusieurs outils permettront de surveiller le serveur et pourront envoyer un mail à une adresse définie par l'administrateur Pour cela on utilisera exim, serveur mail sous Debian

dpkg-reconfigure exim4-config 

On arrive sur une interface graphique. Choisir la deuxième proposition (envoi via relais "smarthost" reception smtp). Entrer ensuite le hostname. Valider les choix par défaut jusqu'à arriver à la configuration de votre smtp. Entrer le SMTP de votre FAI (ex: smtp.nerim.net) Continuer jusqu'à la fin de la configuration. Relancer ensuite exim

/etc/init.d/exim4 restart

Faire un essai d"envoi de mail

echo -e "test" | mail -s "TITRE"  votre-adresse-email

Si le mail arrive bien c'est suffisant pour la suite. Pas besoin que les messages de root soient envoyés à cette adresse.

Utilisation du protocole https avec le port 443

Le cloud pourra être utilisé en https pour que les mots de passe ne circulent pas en clair. Le serveur n'est pas particulièrement plus lent avec cette configuration. On trouve très facilement des protocoles pour réaliser facilement cette opération.

Empêcher les attaques par force brute

Il suffira d’installer le logiciel fail2ban qui vérifie les logs et liste les erreurs de connexion. On peut bloquer provisoirement l’IP d’un utilisateur ayant fait plusieurs échecs de suite d’authentification. Ainsi une attaque par force brute est rendue plus difficile. Cela permettra aussi de facilement repérer si un compte fait l’objet de tentatives de piratage(surtout le compte admin). Vous trouverez facilement des tutoriels décrivant comment installer ce logiciel sur le cloud. ATTENTION: depuis la version 8, le filtre à utiliser est:

{"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>', X-Forwarded-For: '.*'\)","level":2,"time":".*"}

Une fois le logciel installé, il suffira de faire

fail2ban-client status owncloud 

le serveur affiche

Status for the jail: owncloud
|- filter
|  |- File list:        /var/log/owncloud.log
|  |- Currently failed: 0
|  `- Total failed:     1
`- action
   |- Currently banned: 0
   |  `- IP list:
   `- Total banned:     0

Ici, il y a eu dernièrement qu'une erreur de connexion. Pas d'IP bannie. On pourra afficher simplement toutes les erreurs de connexion en faisant

cat /var/log/owncloud/ |grep IP:

On pourra surtout configurer fail2ban afin qu'un mail soit envoyé à une adresse définie et qui contiendra l'adresse IP et le whois correspondant. Pour cela, editer le fichier de conf

nano /etc/fail2ban/jail.conf

Dans la section DEFAULT entrer votre adresse mail

destmail=votreadressemail

Dans la suite du fichier remplacer la ligne:

action = %(action_)s

par

action = %(action_mw)s

Relancer ensuite fail2ban

/etc/init.d/fail2ban restart



ATTENTION: il faudra aussi installer le logiciel LOGROTATE ou le fichier de log va rapidement devenir très volumineux.

Antivirus

On peut installer clamav sur le serveur et scanner périodiquement le répertoire data. Ceci provoquera par contre des lenteurs non négligeables mais non génantes la nuit.

les informations suivantes sont essentiellement tirées du site: https://www.lisenet.com/2014/automate-clamav-to-perform-daily-system-scan-and-send-email-notifications-on-linux/

Installation de clamav et de son outil de mise à jour de base virale Freshclam

apt-get update && apt-get install clamav clamav-freshclam

On lance manuellement freshclam au cas où il ne se serait pas lancé.

/etc/init.d/clamav-freshclam start

Création d'un répertoire qui contiendra le script de scan

mkdir -m 0755 /root/.myscripts

Fabrication du script

nano /root/.myscripts/clamscan_daily.sh

On y ajoute les lignes du script placé dans le site lisenet dont l'adresse est donnée en haut.

#!/bin/bash
# written by Tomas Nevar (http://www.lisenet.com)
# 17/01/2014 (dd/mm/yy)
# copyleft free software
#
LOGFILE="/var/log/clamav/clamav-$(date +'%Y-%m-%d').log"; 
EMAIL_MSG="Please see the log file attached."; 
EMAIL_FROM="clamav-daily@example.com";
EMAIL_TO="username@example.com";
DIRTOSCAN="/var/www/";

# Update ClamAV database
echo "Looking for ClamAV database updates...";
freshclam --quiet;

TODAY=$(date +%u);

if [ "$TODAY" == "6" ];then
 echo "Starting a full weekend scan.";

 # be nice to others while scanning the entire root
 nice -n5 clamscan -ri / --exclude-dir=/sys/ &>"$LOGFILE";
else
 DIRSIZE=$(du -sh "$DIRTOSCAN" 2>/dev/null | cut -f1);

 echo "Starting a daily scan of "$DIRTOSCAN" directory.
 Amount of data to be scanned is "$DIRSIZE".";

 clamscan -ri "$DIRTOSCAN" &>"$LOGFILE";
fi

# get the value of "Infected lines" 
MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3); 

# if the value is not equal to zero, send an email with the log file attached 
if [ "$MALWARE" -ne "0" ];then 
  #using heirloom-mailx below 
  echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Found" -r "$EMAIL_FROM" "$EMAIL_TO"; 
fi 
exit 0


Bien penser à changer le répertoire de scan /var/www/ et mettre la bonne adresse email.

On enregistre le fichier puis on va le rendre exécutable

chmod 0755 /root/.myscripts/clamscan_daily.sh

On va créer un lien symbolique pour que ce script soit copié dans le /etc/cron.daily Ainsi le scan sera lancé tous les jours. Le fichier de log sera visible dans le répertoire /var/log/clamav/

 ln /root/.myscripts/clamscan_daily.sh /etc/cron.daily/clamscan_daily

Si un virus est trouvé, un mail vous sera envoyé pour vous signaler le fichier concerné.

Sauvegarde des données

Mon serveur possède 3 disques durs:

  • un premier sda contenant le système.
  • un deuxième sdc dont la partition sdc1 est montée en /var/www/
  • un troisième sdb dont la partition sdb1 n'est pas montée.

sdb1 va servir de partition de sauvegarde pour tout le répertoire /var/www/ . Ainsi, si le disque contenant les données du cloud subit un crash, tout son contenu sera présent dans un deuxième disque. Il suffira juste de le monter en /var/www/ , de remettre les droits corrects sur le répertoire /var/www et le cloud sera relancé en 5 minutes. Pour cela on va créer un répertoire varwww

mkdir /varwww

On va créer un fichier exécutable qui va monter le disque de sauvegarde, effectuer la copie, puis démonter le disque.

nano /usr/local/sbin/savcloud.sh

on ajoute les lignes suivantes

#!/bin/bash
mount -t auto /dev/sdb1 /varwww
rsync -a --del --ignore-errors --force /var/www/ /varwww/
cd /root
umount /varwww

On va rentre le script executable

chmod u+x /usr/local/sbin/savcloud.sh

On lancera ensuite le script automatiquement la nuit

crontab -e

On ajoute après * m h dom mon dow command

0 4 * * * /usr/local/sbin/savcloud.sh -s

Le script est donc lancé toutes les nuits à 4 heures.