Aller au contenu

Un cloud personnel sur le Raspberry-PI : OwnCloud (2/2)

Tuto Raspberry pi 4 ovh
Publié dans Tutoriels · 27 Août 2014
Tags: SERVERSERVEUROWNCLOUDCLOUDRASPBERRY

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.


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 :

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
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 :

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 !

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).

En savoir plus…

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.

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).

En savoir plus : SSL, 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 ».

En savoir plus…

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 :

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 :

Admin > Administration
Admin > Administration

Et on coche la casse Enforce HTTPS :

Sécurité > Forcer HTTPS
Sécurité > Forcer 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.

En savoir plus…

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.






Mentions Légales - raspberry-pi.ovh 2022 © Copyright- Raspberry Pi est une marque déposée de la Raspberry Foundation - Les contenus rédigés par raspberry-pi.ovh sont distribués sous license open source.
Retourner au contenu