Raspberry – Un cloud personnel et illimité avec OwnCloud

Martin Abadie
Martin Abadie
Étudiant en master 2 d'informatique, spécialité AIGLE (Architecture et InGénierie du Logiciel et du wEb), à l'université de Montpellier, je suis passionné par les nouvelles technologies et le Raspberry.

Vous avez sûrement un cloud de type Dropbox, GoogleDrive, OneDrive ou Asus WebStorage, etc… Seulement vous avez remarqué que bien que ces services d’hébergement de données soient gratuits, ils sont limités par la taille, à moins d’y laisser quelques euros par mois…😒  Mais pas avec Owncloud 😋

En effet, Owncloud est une application web vous permettant de transformer votre Raspberry en un cloud personnel, où la capacité de stockage ne sera limitée que par le disque dur externe que vous y aurez branché. Bien entendu, vous pourrez accéder à votre cloud depuis n’importe où dans le monde sur n’importe quelle plateforme.

De plus, vous pourrez créer plusieurs utilisateurs, et créer des dossier partagés entre utilisateurs, ou même partager des dossiers ou fichiers via une url avec n’importe qui!

Bref c’est comme Dropbox, sauf que c’est gratuit, et seul votre disque dur externe limitera la capacité de stockage 😊

 

 

Pré-requis 

  • Raspberry Pi fonctionnel MySQL (ici)
  • Une certification SSL validée par un tier (ici)
  • Un disque dur externe (1To c’est super)

 

Sommaire :

  1. Préparation du disque dur
  2. Préparation de la base de donnée Owncloud
  3. Installation et configuration d’Owncloud
  4. Création d’utilisateurs

 

 

         Préparation du disque dur

Pour commencer, vous allez préparer votre disque dur externe pour qu’il soit monté sur votre système à chaque démarrage de votre Raspberry. Pour cela, on va devoir formatter le disque dur, ce qui implique la perte de toute information contenue dessus, faites donc préalablement une sauvegarde de votre disque dur externe.

Maintenant que vous avez tout sauvegardé, on va commencer. Tapez la commande suivante pour afficher toutes les partitions montées sur votre Raspberry

sudo fdisk -l

Vous pouvez donc voir les deux partitions de votre carte SD (mmcblk0p1 | mmcblk0p2) ainsi que celle de votre disque dur externe (sda1) comme suit

Device        Boot        Start        End        Sectors        Size        Id        Type
/dev/mmcblk0p1            8192         131071     122880         60M         c        W95 FAT32 (LBA)
/dev/mmcblk0p2            131072       62333951   62202880       29,7G       83       Linux

Device        Start       End          Sectors        Size        Type
/dev/sda1     2048        1953521663   1953519616     931,5G      Linux filesystem

Maintenant que vous connaissez le nom de votre disque dure externe, vous allez formater votre disque dur, mais pour cela vous devez démonter votre partition si elle est déjà montée

sudo umount /dev/sda1

Une fois votre partition démontée, passez au formatage

sudo fdisk /dev/sda

Puis entrez la lettre d pour supprimer la partition existante, puis appuyez sur la touche n pour créer une nouvelle partition, puis p pour créer une partition primaire.

On vous demande le nombre de partitions à créer, par défaut 1, tapez donc Entrer, puis on vous demande le secteur de départ, tapez Entrer pour sélectionner le secteur par défaut, puis Entrer pour le secteur de fin par défaut.

Vous allez spécifier que cette partition sera une partition Linux, pour cela, tapez t puis 83 pour indiquer que c’est une partition Linux.

Enfin tapez sur w pour valider toutes les étapes précédentes.

Vous avez donc préparé la partition de votre disque dur externe, cependant, elle est vide, il faut donc la formater, au système de fichier ext4, entrez donc la ligne suivante

sudo mkfs.ext4 -b 4096 sda1

Maintenant que votre disque dur est formaté, vous allez créer le répertoire de montage de votre disque dur externe à la racine du système (tous les fichiers contenus sur votre disque dur externe se trouveront donc au chemin suivant /Data)

sudo mkdir /Data

Ensuite vous allez éditer le fichier fstab pour indiquer au système où monter la partition à chaque démarrage

sudo nano /etc/fstab

Puis ajoutez la ligne suivante à la fin de votre fichier (ctrl + x puis o ou y pour enregistrer et fermer le fichier)

/dev/sda1      /Data           ext4    defaults          0       2

Redémarrez pour vérifier le bon montage de votre partition. Vous en avez terminé avec la préparation du disque dur externe qui contiendra toutes les données hébergées sur votre cloud 😊

 

 

         Préparation de la base de donnée Owncloud

Owncloud, tout comme WordPress, nécessite une certaine base dont une base de donnée. Pour cela, on va créer une base de donnée dédiée à Owncloud. Durant cette étape, vous allez créer un utilisateur et lui affecter un mot de passe. Je vous conseil de nommer cet utilisateur Admin et de lui affecter un mot de passe dont vous aurez besoin pour gérer les utilisateurs de votre cloud.

Allez, connectez vous à MySQL

sudo mysql -uroot -pMOT_DE_PASSE_SUPERUTILISATEUR

Une fois connecté, créez la base de donnée owncloud

CREATE DATABASE owncloud;

Puis créez un utilisateur administrateur qui aura tous les privilèges sur cette base de donnée

GRANT ALL PRIVILEGES ON owncloud.* TO NOM_DE_L_UTILISATEUR@localhost IDENTIFIED BY 'MOT_DE_PASSE';

Bien mettre les ‘ autours du mot de passe. Puis tapez exit pour quitter la SGBD.

 

 

         Installation et configuration d’Owncloud

Pour commencer Owncloud va avoir besoin de quelques supplément que vous allez installer

sudo apt-get install php5-cli php5-gd php5-common php5-cgi sqlite3 php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm php5-curl memcached php5-memcache varnish php5-apcu -y

Puis vous allez configurer php pour autoriser le transfert de fichier de 2Go. Pour cela, éditez le fichier de configuration /etc/php5/fpm/php.ini

sudo nano /etc/php5/fpm/php.ini

Puis trouvez les lignes suivantes et remplacez les valeurs en gras suivantes (comme d’habitude ctrl + x puis o ou y pour quitter et sauvegarder)

upload_max_filesize = 2000M
post_max_size = 2000M

Relancez Apache2 pour prendre en compte les changements

sudo service apache2 restart

Voilà qui est bon pour la configuration de php. Maintenant passons au téléchargement et à l’installation d’ownCloud

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

Une fois téléchargé, décompressez l’archive

sudo tar xvf owncloud-9.1.3.tar.bz2

Placez le répertoire décompressé dans le dossier des sites web

sudo mv owncloud /var/www/

Puis supprimez ce qui ne sert plus

sudo rm owncloud-9.1.3.tar.bz2

Maintenant affectez l’utilisateur Apache comme propriétaire du répertoire Owncloud pour qui soit accessible depuis internet

sudo chown -R www-data:www-data owncloud

Vous allez maintenant indiquer à Apache que vous avez un site owncloud

sudo nano /etc/apache2/sites-available/owncloud.conf

Et collez-y les éléments suivants

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

Puis créez un lien symbolique

sudo ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

Ensuite on va configurer Apache comme il est recommandé par Owncloud

a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

Puis redémarrez Apache

sudo service apache2 restart

Finalement on va créer le dossier qui accueillera tous les fichiers hébergés par Owncloud

sudo mkdir /Data/cloud/data

Puis on lui affecte le propriétaire Apache

sudo chwon -R www-data:www-data /Data/cloud

 

Passons enfin à la configuration d’Owncloud!

Dans votre navigateur, entrez votre_nom_de_domaine/owncloud

Vous devriez arriver sur la page suivante

Remplissez les champs comme suit

Nom d’utilisateur : le nom d’utilisateur que vous avez choisi dans MySQL, pour moi Admin
Mot de passe : le mot de passe lié à l’utilisateur Admin
Répertoire des données : /Data/cloud/data
Utilisateur de la base de données : root
Mot de passe de la base de données : mot de passe superutilisateur
Nom de la base de données : owncloud

Puis cliquez sur Terminer l’installation pour terminer l’installation, ce qui peut prendre 30 secondes.

Ça y est votre cloud est opérationnel! 😎

 

 

         Création d’utilisateurs

Maintenant que vous êtes connecté à votre super Raspberry, allez à en haut à droite de la page et cliquez sur Admin > Utilisateurs pour accéder à la gestion des utilisateurs de votre cloud.

En haut, entrez alors le nom d’un utilisateur et un mot de passe puis cliquez sur Créer. Vous pouvez donc dès maintenant vous connecter avec cet identifiant.

Maintenant que ce tutoriel est terminé, je vous conseille tout de même de fouiller un peu cette nouvelle application pour découvrir toutes ses fonctionnalités 😉