
Raspberry – Un cloud personnel et illimité avec OwnCloud
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 :
- Préparation du disque dur
- Préparation de la base de donnée Owncloud
- Installation et configuration d’Owncloud
- 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 😉