Un cloud personnel sur le Raspberry-PI : OwnCloud (2/2)
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.
Tutoriel :
- Installation et configuration de Raspbian
- Overclocker son Raspberry-Pi
- Un Cloud personnel sur le Raspberry-Pi (1/2)
Matériel :
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.
On crée un répertoire qui va nous servir à « ouvrir » le disque :
1 | sudo mkdir /media/owncloud |
On branche maintenant le Disque dur au Raspberry-Pi, et on lance la commande suivante :
1 | 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 :
1 | /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 :
1 | sudo nano /etc/fstab |
Modifier le UUID selon votre cas :
1 2 3 4 5 | 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 :
1 2 3 4 | 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 :
1 | sudo service apache2 stop |
Mais dans ce cas, n’oubliez pas de modifier les commandes suivantes en conséquence.
Commande pour déplacer le contenu à la racine :
1 2 3 | cd /var/www/ sudo find owncloud -maxdepth 1 -mindepth 1 - exec mv {} . \; sudo rmdir owncloud |
Déplacement de « /var/www/owncloud/data » vers « /media/owncloud » et création d’un nouveau lien symbolique :
1 2 | 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 » :
1 2 | 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 :
1 2 | 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 et 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 !
Passons donc à l’installation et au redémarrage du service :
1 2 | 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.
Pour commencer, on va modifier le fichier « virtual hosts » d’apache.
On se dirige alors dans le répertoire suivant :
1 | cd /etc/apache2/sites-available/ |
On accède au fichier, puis dans la section « Directory », on modifie le paramètre « AllowOverride » comme ci-dessous :
1 2 3 4 5 6 | 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 ».
On active ensuite les modules et on relance le service Apache :
1 2 3 | 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.
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.