Suite du premier article sur la mise en place d’une solution de Cloud personnel. Nous allons voir ici comment configurer plus en détail Owncloud.
Dans ce billet nous verrons donc comment faire pour :
1. Utiliser un disque dur externe : Permet de gérer plus efficacement la solution. Vous pouvez ainsi transférer un plus grand nombre de médias.
2. Améliorer le temps de chargement : Méthode permettant de gagner de précieuses secondes lors de votre navigation sur owncloud.
3. Se connecter en HTTPS (Protocole SSL) : Méthode pour « forcer » la connexion en HTTPS à Owncloud. Ceci dans le but de sécuriser la connexion à Owncloud.
PRE-REQUIS
Tutoriel :
- Installation et configuration de Raspbian
- Overclocker son Raspberry-Pi
- Un Cloud personnel sur le Raspberry-Pi (1/2)
Matériel :
- Disque Dur externe
- Hub USB auto alimentée
[toc]
Utiliser un disque dur externe
l’intérêt de mettre en place une solution de « Cloud » et notamment de pouvoir stocker et d’accéder facilement à un nombre conséquent de données. Pour ce faire, il peut-être intéressant de couplés notre solution avec un disque dur externe.
J’ai réalisé cette partie avec un disque dur de 500Go. Cependant, il faut ajouter une autre source d’alimentation (HUB USB) pour alimenter à la fois le Raspberry-Pi et le disque dur.
Avant de commercer, formater votre disque dur au format ext3 ou ext4.
Comment formater un disque sous linux ?
On crée un répertoire qui va nous servir à « ouvrir » le disque :
sudo mkdir /media/owncloud
On branche maintenant le Disque dur au Raspberry-Pi, et on lance la commande suivante :
sudo blkid
Vous devriez alors avoir à l’écran les informations sur votre disque dur.
Garder alors précieusement les informations du disque. Soit dans mon cas :
/dev/sda1: UUID="1a91d804-2635-4a9c-bc57-d90f5ca0cac6" SEC_TYPE="ext2" TYPE="ext3"
On édite maintenant le fichiers qui spécifie à quel endroit et monté notre disque :
sudo nano /etc/fstab
Modifier le UUID selon votre cas :
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 UUID="96f64567-c459-4d3d-9f52-e6aabee544d2" /media/owncloud ext4 defaults 0 2 # a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
Ensuite on redémarre notre petite machine et on vérifie si le disque se monte correctement :
sudo reboot cd /media/owncloud ls -al
Maintenant nous allons déplacer le chemin d’accès à Owncloud et créer quelques liens symboliques pour que l’on sache toujours où chercher les données.
On commence par stopper le service apache2 :
sudo service apache2 stop
[encart coul=’info’]Dans ce tutoriel le répertoire owncloud et présent dans Apache soit « /var/www/owncloud ». Vous pouvez si vous le souhaitez transférer le contenu directement à la racine.
Mais dans ce cas, n’oubliez pas de modifier les commandes suivantes en conséquence.
Commande pour déplacer le contenu à la racine :
cd /var/www/ sudo find owncloud -maxdepth 1 -mindepth 1 -exec mv {} . \; sudo rmdir owncloud
[/encart]
Déplacement de « /var/www/owncloud/data » vers « /media/owncloud » et création d’un nouveau lien symbolique :
sudo mv /var/www/owncloud/data /media/owncloud/data sudo ln -s /media/owncloud/data /var/www/owncloud/data
On applique la même modification au dossier « config » :
sudo mv /var/www/owncloud/config /media/owncloud/config sudo ln -s /media/owncloud/config /var/www/owncloud/config
Puis on modifie les attribut des fichiers, et on relance Apache :
sudo chown -R www-data:www-data /media/owncloud sudo service apache2 start
Toutes les données que vous transférez à partir d’Owncloud iront maintenant sur votre disque dur externe.
Améliorer le temps de chargement
Lors de l’utilisation d’owncloud, il se peut que le temps de chargement soit assez long… Notamment parce que lorsque l’on demande une page sur le serveur, le serveur doit compiler la page de la source de PHP et comme l’alimentation du RPi est basse, cela peut provoquer des ralentissements.
Ainsi pour améliorer le temps de chargement, nous avons la possibilité mettre en place un système de « cache » PHP.
Ceci permettant de passer de 20 secondes (lors de la première visualisation de la page) à 7-8 secondes par la suite !
Mémoire cache : mémoire qui enregistre temporairement des copies de données provenant d’une autre source de donnée, afin de diminuer le temps d’accès (en lecture ou en écriture).
Passons donc à l’installation et au redémarrage du service :
sudo apt-get install php-apc sudo service apache2 restart
Évidemment, suite à l’installation la première fois que vous accéderez à une page cela risque d’être lent (20-25 secondes), mais lorsque vous reviendrez vous devriez remarquer une amélioration significative.
Se connecter en HTTPS (Protocole SSL)
Dans cette partie, nous allons améliorer la sécurisation de notre accès à ownCloud à travers une couche SSL en transformant les échanges HTTP en une session sécurisée HTTPS.
HTTPS permet au visiteur de vérifier l’identité du site web auquel il accède, grâce à un certificat d’authentification émis par une autorité tierce, réputée fiable (utilisé pour des transactions bancaires).
Pour commencer, on va modifier le fichier « virtual hosts » d’apache.
On se dirige alors dans le répertoire suivant :
cd /etc/apache2/sites-available/
On accède au fichier, puis dans la section « Directory », on modifie le paramètre « AllowOverride » comme ci-dessous :
sudo nano default-ssl #on modifie la ligne : AllowOverride None #Par : AllowOverride All
AllowOverride :
- Lorsque cette directive est définie à « None », les fichiers « .htaccess » sont totalement ignorés. Dans ce cas, le serveur n’essaiera même pas de lire les fichiers « .htaccess » du système de fichiers.
- Lorsque cette directive est définie à « All », toute directive valable dans le « Contexte » .htaccess sera autorisée dans les fichiers « .htaccess ».
Avant de fermer le fichier, vérifier que vous disposez d’une ligne avec « SSLEngine on », et que vos certificats SSLCertificateFile et SSLCertificateKeyFile sont bien à l’emplacement noté.
On active ensuite les modules et on relance le service Apache :
sudo a2enmod ssl sudo a2ensite default-ssl sudo service apache2 reload
Maintenant, on se dirige vers notre navigateur web et on se connecte à Owncloud en HTTPS > https:://@IP_du_RPi/owncloud.
On passe ensuite par le menu d’administration comme l’image suivante :
Et on coche la casse Enforce HTTPS :
Pour terminer, on vérifie que notre modification et valide.
Pour se faire, on se déconnecte et on tente de se reconnecter en HTTP > http:://@IP_du_RPi/owncloud.
Si tout se passe bien, l’accès devrait passer de HTTP en HTTPS !
Maintenant toutes vos communications entre les machines de client et votre serveur seront cryptées. 🙂
Si vous n’avez pas déjà de certificat SSL, vous pouvez vouloir produire votre propre et le faire signer par CACERT gratuitement.
Conclusion partie (2/2)
J’espère que ce tutoriel vous aura permet de mieux appréhender cette solution de Cloud personnel.
N’hésitez pas à me faire part de vos retours d’expérience sur la solution ou d’éventuel problème pour la mettre en œuvre.
A Très vite !
Ce tutoriel est valide à 100% avec la version 7 de owncloud. Cependant il est possible que certains paramètres soient à revoir selon les versions (précédentes ou futures).
Sources : Owncloud, Owncloud.forum, Linux-france, Ubuntu-fr.org, coagul, samhobbs.
7 replies to "Un cloud personnel sur le Raspberry-PI : OwnCloud (2/2)"
Bonjour,
Le tutoriel est génial, ca marche très bien mais dès que je me déconnecte de owncloud, je ne peux plus me reconnecter!
J’ai le message suivant:
« Le répertoire (/var/www/owncloud/data) est lisible par les autres utilisateurs
Veuillez changer les permissions du répertoire en mode 0770 afin que son contenu puisse être listé par les autres utilisateurs. »
Est que vous avez une idée de la manière de résoudre ce pb?
Merci!!
Bonjour Edwin,
Est-ce que tu as essayé de changer les droits du répertoire comme le précise le message ?
Tu as directement ce message en essayant d’accéder à la page de login ou c’est lorsque tu te connecte ?
Bon courage et tiens moi au courant de l’évolution! 🙂
Bonjour, j’ai installé ceci, puis j’ai préféré utiliser samba pour les données sur mon disque dur externe, mais lorsque j’écris sur le dossier (du DDE), la mémoire du raspberry pi (carte sd) se réduit en même temps, et il y a donc écriture sur la carte… Une idée? merci
Bonjour,
j’ai suivi le tuto à la lettre très bien.
en local owncloud se lance tres bien.
mais avec mon adresse ippublic j’ai le message it work
….
owncloud the web server software is running but no content has been added, yet
je suis novice, mais je pense qu’un lien n’a pas été fait.
pouvez vous m’aider
Merci
Bonjour
lors de la commande
sudo find owncloud -maxdepth 1 -mindepth 1 -exec mv {} . \;
il me dit qu’il ne peut pas deplacer les fichier car les dossiers ne sont pas vide
je fais quoi SOS
Jules
Bonjour,
Pouvez-vous me dire comment faire avec php pour diminuer les temps de chargement ?
Cordialement
Bonjour,
Je viens d’avoir quelque chose de vraiment bizarre. Je me suis déconnecté pour utiliser un deuxième compte (jusque la tout est normal) mais à la connexion, impossible de me reconnecter sur les 2 comptes.
J’ai comme erreur depuis mon fichier error.log dans mon serveur apache :
PHP Warning : Unknown : POST Content-Lenght of 12 bytes exceeds the limit of 10 bytes in Unknown on line 0.
Ce que je ne comprend pas c’est que la version pc/smartphone marchent, c’est uniquement via le navigateur que rien ne marche …