![image](owncloud_logo.png) ![image](raspberrypi_logo.png)

Salut les gens!

Aujourd'hui nous allons travailler sur l'installation d'un serveur OwnCloud sur un Raspberry Pi.

Pour ceux d'entre vous qui auraient été dans le coma ces deux dernières années, voici une présentation rapide:

  • Raspberry Pi : c'est un tout tout petit ordinateur (format carte de crédit). Dans sa version B+, que j'utilise pour ce projet, le processeur est cadencé à 700MHz et la machine dispose de 512Mo de RAM. Il n'y a pas de périphérique de stockage intégré, il faut insérer une carte microSD dans le lecteur du Raspberry. Enfin, il dispose d'une sortie HDMI, de 4 ports USB, une sortie jack pour le son et un port ethernet. Il est alimenté via un port micro USB.

  • OwnCloud : c'est un projet open source qui permet (entre autres) d'avoir sa propre dropbox à la maison. C'est à dire que mes fichiers ne sont pas stockés sur un serveur quelque part aux USA ou je ne sais où, mais bien chez moi. Et il y a un programme côté client qui assure la synchronisation des fichiers du serveur avec un dossier local. OwnCloud fournit aussi une gestion de contacts, un calendrier, et d'autres applications potentiellement développées par vous ou moi (c'est modulaire).

    Prérequis

    Je vais passer l'installation de Raspbian sur le Raspberry Pi (http://www.raspberrypi.org/help/noobs-setup). Je suppose aussi que vous avez des rudiments d'utilisation de l'éditeur Vi.

    1. Installation d'Apache

    Dans le terminal, tapez

    sudo apt-get install apache2

    Test de l'installation : dans un navigateur, essayez d'accéder à http://adresse_du_raspberry/index.html. Si vous avez une page qui dit "It works", bravo!

Sinon, revoyez votre copie :)

2. Installation de PHP et de ses modules nécessaires pour OwnCloud
sudo apt-get install php5 php5-mysql php5-gd

Test de l'installation : créer un fichier /var/www/index.php, contenant ceci: [code]

<?php echo "Ca roule!"; ?>

[/code]

Chargez dans un navigateur http://adresse_du_raspberry/index.html. Vous voyez écrit "Ca roule!" et rien d'autre? Alors on continue!

3. Installation de MySQL
sudo apt-get install mysql-server

A l'installation, on vous demandera d'entrer un mot de passe pour l'utilisateur root de MySQL.

Pour tester l'installation, tapez dans le terminal :

mysql -uroot -pvotre_mot_de_passe

Vous devriez voir une bannière qui dit à peu près ceci :

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 45
Server version: 5.5.40-0+wheezy1 (Debian)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

Puisqu'on y est, nous allons créer maintenant la base de données qui sera utilisée par OwnCloud (le point-virgule est important à la fin de la commande) :

create database owncloud;

Pour quitter la ligne de commande MySQL, tapez exit.

Un peu de configuration

1. Apache

Les fichiers de configuration d'Apache se trouvent dans /etc/apache2.

On va créer un virtual host pour l'accès via notre domaine afraid.org (DNS dynamique, qui nous permet d'accéder depuis l'extérieur à notre Raspberry).

Pour cela, ouvrez le fichier de configuration des Virtual Hosts:

sudo vim /etc/apache2/sites-enabled/000-default

Ajouter le bloc :

<VirtualHost *:80>
  DocumentRoot /var/www/owncloud
  ServerName mon.domaine.afraid.org
</VirtualHost>
 2. Installation de OwnCloud

Positionnons nous dans /var/www, et téléchargeons l'archive (lien vers la dernière version disponible sur https://owncloud.org/install)

cd /var/www
sudo wget https://download.owncloud.org/community/owncloud-7.0.3.tar.bz2
sudo bunzip2 owncloud-7.0.3.tar.bz2
sudo tar xvf owncloud-7.0.3.tar
sudo chown -R www-data owncloud
sudo chgrp -R www-data owncloud

Maintenant nous trouvons un répertoire owncloud dans /var/www. Les deux dernières commandes redéfinissent le propriétaire des fichiers owncloud à www-data (c'est l'utilisateur d'Apache) pour que les répertoires soient accessibles en écriture.

Tans qu'on est dans les parages, nous allons créer le répertoire des données de OwnCloud à l'extérieur du dossier /var/www. Cela permet de protéger les fichiers d'un accès direct par http.

sudo mkdir /var/owncloud-data
sudo chown www-data /var/owncloud-data
sudo chgrp www-data /var/owncloud-data

Connectons-nous de nouveau avec notre navigateur : http://adresse_du_raspberry

Vous devriez voir quelque chose comme ça :

image

Nous allons ici créer notre premier utilisateur OwnCloud, qui sera également administrateur.

En dessous, on nous demande d'entrer les infos de connexion à notre base MySQL (celle qu'on a créée un peu plus haut, vous vous souvenez?) et le chemin vers le dossier de données (/var/owncloud-data).

image

Cliquons sur le bouton Terminer l'installation. L'opération dure un certain temps (1 à 2 minutes, le raspberry n'est pas une machine de haute compétition), et au terme de l'installation nous nous retrouvons avec ceci (tiens,il manque un r à "sur"):

image

Encore un dernier poil de configuration

Allons faire un tour dans le menu en haut à droite > administration, et descendons vers la configuration de Cron. OwnCloud a besoin d'effectuer des tâches régulières, et on a le choix entre les effectuer soit lors de l'interaction avec les pages (Ajax ou Webcron, ce qui peut ralentir les temps d'accès), ou bien au niveau du système (Cron).

Nous allons opter pour la solution Cron niveau système :

sudo vim /etc/crontab

Insérons la ligne suivante à la fin du fichier :

*/15 * * * * root php -f /var/www/owncloud/cron.php > /dev/null 2>&1

Elle va exécuter la commande toutes les 15 minutes.

Installation du programme client

On touche au but!

Il ne reste plus qu'à installer le programme client, disponible sur cette page : https://owncloud.org/install

image
Saisissez l'URL de votre OwnCloud

 

image
Identifiants de connexion

 

image
Dossier de destination et filtrage de la synchronisation

 

image
Et voilà!

 

image
Mon dossier local synchronisé

Alors voilà, nous y sommes arrivés! Nous disposons maintenant d'un serveur de fichiers et d'un client de synchronisation.

Je vous conseille de creuser plus loin, car OwnCloud, ce n'est pas seulement un serveur de fichiers, mais il permet aussi de gérer vos contacts, votre calendrier, musique, photos, documents façon google docs, et de partager tout ça tout en restant maître de vos données!

Article précédent Article suivant