ownCloud

Mise en place d'un serveur ownCloud pour stocker ses données personnelles

Pourquoi un serveur ownCloud ?

ownCloud permet de gérer ses données personnelles chez soi, sans utiliser les services traditionnels qui peuvent vous espionner. Non pas que vous ayez des choses à cacher, mais votre hébergeur de données n'a pas à connaître votre emploi du temps ou vos contacts.

ownCloud peut gérer vos données personnelles en proposant :

  • un calendrier

  • un carnet d'adresses (gestion des contacts)

  • une bibliothèque de documents et de photos

  • le partage de documents avec d'autres utilisateurs

  • l'accès à distance par interface web ou protocole réseau (webDav, cardDav, etc.)

Mise en place

Installation du Raspberry Pi

Vous avez besoin :

  • d'un RaspBerry Pi A ou B (environ 60 € avec son alimentation et une carte SD 4 Go ou plus);

  • clavier USB, souris USB et écran avec connecteur HDMI (d'un convertisseur HDMI/DVI ou HDMI/VGA le cas échéant) ou d'un écran possédant une entrée composite (télévision);

  • d'une connexion Internet;

  • d'environ 45 minutes (si vous êtes débutant).

Suppression des partitions

Depuis le gestionnaire de disques, supprimer les partitions sur la carte SD. L'installation se chargera de créer ceux dont elle a besoin.

Copie du système sur la carte

Téléchargez l'image de la version owncloud-raspberrypi depuis Sourceforge.

Décompressez l'archive.

Copiez-la sur la carte SD (en ligne de commande) :

sudo dd bs=4M if=~/Téléchargements/owncloud-raspberrypi-0.2.img of=/dev/sdc

Sous Windows

Si vous disposez d'une machine sous Windows, utilisez un logiciel comme Win32DiskImager pour copier l'image sur la carte.

Le système demande le mot de passe de l'administrateur puis exécutez la commande de copie. Une fois achevé (après quelques minutes), le résumé s'affiche :

468+1 enregistrements lus
468+1 enregistrements écrits
1966080000 octets (2.0 GB) copiés, 196.511 s, 10.0 MB/s

Éjectez la carte de votre ordinateur et insérez-la dans le port SD du Raspberry.

Configuration de Raspberry

Par défaut, le compte d'accès est :

  • utilisateur : pi

  • mot de passe : owncloud

Sur le raspberry, connectez-vous en SSH :

ssh pi@192.168.0.100

Il peut y avoir l'erreur suivante :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

En génélal, le message d'erreur vous indique la commande à exécuter pourr résoudre le problème. Ici (Linux) :

ssh-keygen -f "/home/moi/.ssh/known_hosts" -R 192.168.0.100

Une fois connecté, lancez la configuration :

sudo raspi-config

Utilisez toute la carte, changez le mot de passe administrateur, définissez votre langue, votre fuseau horaire, etc.

Note

En SSH, vous n'avez pas besoin de définir de disposition clavier.

Ensuite réalisez la mise à jour du système :

sudo apt-get update
sudo apt-get upgrade

Fixez l'adresse IP de votre Raspberry au niveau du DHCP et relancez la machine :

sudo reboot

Configuration de ownCloud

Depuis un navigateur, connectez-vous à votre Raspberry : http://192.168.0.100 (pour notre exemple)

Vous tomberez sur une page de connexion qui vous demande de définir un compte administrateur. Créez un admin (celui que vous voulez) et indiquez le répertoire /media/owncloud pour stocker les données "Répertoire des données". Puis "terminer l'installation" et validez.

Amélioration des performances

Par défaut, les performances sur un Raspberry sont assez faibles. Les pages peuvent être longues à charger.

Activation du cron système

sudo crontab -u www-data -e

Et ajoutez la ligne :

*/15 * * * * php -f /var/www/owncloud/cron.php

Dans ownCloud, allez dans admin > Administration > Cron et sélectionnez Utilise le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.

Cette commande exécutera tous les quarts d'heure le script cron.php au lieu de le réaliser depuis votre session.

Activation du cache PHP (php-apc)

Activez le cache PHP en installant php-apc :

sudo apt-get install php-apc
sudo /etc/init.d/apache2 restart

Augmentez la fréquence de processeur

Augmenter la fréquencte de processeur en passant par la configuration :

sudo raspi-config

Sélectionnez 800 MHz, qui a l'avantage de ne pas augmenter la tension imposée au processeur et donc de conserver un maximum de stabilité.

Administration

Vider les logs

Parfois, lorsque le fichier de logs est assez imposant et que vous avez sélectionné le plus bas niveau d'affichage, il n'est plus possible d'accéder à la page car elle prend toutes les ressources. Pour vider les logs, il faut d'abord se rendre à l'endroit où est stocké le réportoire de données de owncloud. Vous ne pourrez pas aller dans le répertoire car il est protégé. Il faut donc déprotéger data, vider le fichier et reprotéger data :

sudo chmod 777 data
sudo echo '' > ./data/owncloud.log
sudo chmod 770 data

Pour aller plus loin

Augmenter l'espace de stockage

Par défaut, ownCloud utilise le stockage du système qui correspond en général à la carte SD. L'espace de stokage peut vite se retrouver limité. Il convient donc d'ajouter de l'espace et de transférer le contenu dessus.

Clef USB

  1. Branchez la clef USB au raspberry puis listez les partitions :

    sudo fdisk -l

    Dans la liste, vous devez voir votre nouveau périphérique. Par exemple :

    Disk /dev/sda: 31.9 GB, 31876710400 bytes
    117 heads, 17 sectors/track, 31301 cylinders, total 62259200 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xcf0b32bd

    Device Boot Start End Blocks Id System
    /dev/sda1 2280 62259199 31128460 c W95 FAT32 (LBA)

    Nous en déduisons que la clef est montée sur /dev/sda1

  2. Commençons par démonter la clef :

    sudo umount /dev/sda1

    Il se peut que la clef ne soit pas montée automatiquement, auquel cas vous aurez le message :

    umount: /dev/sda1: not mounted
  3. Dans le cas d'un système d'exploitation monté sur une mémoire flash, on conseille généralement un format EXT2 qui sollicite moins le support. Pour un espace de stocackage, comme ici, il est toutefois conseillé d'utiliser un système de fichier journalisé EXT3 ou EXT4. Pour formater au format EXT4, tapez :

    sudo mkfs.ext4 /dev/sda1

    Ou pour formater au format EXT4, tapez :

    sudo mkfs.ext3 /dev/sda1
  4. Déterminez l'uuid de votre clef USB avec :

    sudo ls -l /dev/disk/by-uuid/

    Vous obtenez, par exemple :

    lrwxrwxrwx 1 root root 10 mar 1 08:56 47cc727e-7196-4aae-a737-50a427b860ae -> ../../sda1
  5. Créez un répertoire :

    sudo mkdir /media/storage
  6. Montez la clef dessus :

    sudo mount -t ext4 /dev/sda1 /media/storage
  7. Arrêter owncloud :

    sudo service apache2 stop

    Copiez le contenu du répertoire de données owncloud :

    sudo cp -R /var/www/data /media/storage
  8. Dans /media/storage, vous devez avoir un répertoire data. Affectez-lui les droits ownCloud :

    sudo chown -R www-data data sudo chgrp -R www-data data sudo chmod 770 data
  9. Vérifiez que le contenu a bien été transféré puis supprimez le contenu original

    cd /var/www/
    sudo rm -Rf data
  10. Le répertoire data est effacé. Il faut à présent créer un lien symbolique :

    sudo ln -s /media/storage/data data
  11. Dans le fichier /etc/fstab, ajoutez la ligne :

    UUID=47cc727e-7196-4aae-a737-50a427b860ae /media/storage ext4 defaults 0 2
  12. Sauvez, redémarrez la machine et vérifiez que tout fonctionne.

Interface de messagerie (Mail)

L'application Mail permet d'ajouter une interface de messagerie afin de consulter ses courriels à distance.

le problème des webmails habituels est qu'ils permettent la consultation des messages sur le même serveur. Ce qui signifie qu'ils accèdent directement aux messages de l'utilisateur. Parfois, le fournisseur de webmail en profite pour parcourir les messages, les analyser et en extraire des données pour profiler les usagers et vendre les informations (publicité,…).

En séparant serveur de messagerie (qui ne fait que serveur de messagerie) et webmail (qui ne fait que webmail), il est possible d'avoir un service de consultation de courriel en protégeant sa correspondance.

  1. Télécharger le paquet mail.tar.gz sur GitHub

  2. Décompresser le paquet :

    gunzip mail.tar.gz
    cd /var/www/apps
    sudo tar -xf /home/me/mail.tar
  3. Changer les droits du répertoire :

    sudo chgrp -R www-data mail
    sudo chown -R www-data mail
  4. Dans la partie Applications de ownCloud, activer l'application Mail.

  5. Vous pouvez ensuite utiliser l'application et créer vous comptes. Les messages seront consultables directement depuis votre interface ownCloud

Configuration du HTTPS

à venir…