Installation d’ownCloud sous Debian
Sommaire
I. Présentation d'OwnCloud
OwnCloud est une application OpenSource de stockage en ligne et de gestion de fichiers, on l’apparente généralement au très connu Dropbox car ownCloud permet de stocker et de synchroniser des fichiers entre un ou plusieurs postes/serveurs et le serveur OwnCloud, remplissant ainsi le rôle de serveur de sauvegarde pour mettre en sécurité les fichiers et de serveur synchronisation. Pour mettre en place ce service vous devez disposer d’un serveur web utilisant PHP et MySQL ou SQLite. Voyons cela ensemble
Parmi les fonctionnalités, on y trouve évidemment la possibilité de partager des fichiers, mais également de lire de la musique directement en ligne grâce au lecteur intégré, un calendrier, une gestion de contacts, la visualisation et l’édition de documents en ligne, la visualisation et le classement de photos dans des galeries, etc. De plus, de nombreux plug-ins sont disponibles afin de greffer de nouvelles fonctionnalités à ownCloud. Vous trouverez plus d'information sur les nouveautés apportées par OwnCloud 8 dans notre article sur les nouveautés d'OwnCloud 8
Dans ce tutoriel, nous allons voir ensemble comment installer OwnCloud sur une machine Debian, avec Apache pour le serveur web couplé à PHP et SQLite.
II. Préparation du serveur web
Avant d’installer l’application ownCloud, le serveur web doit être préparé si vous ne l’avez pas déjà fait. Pour se faire, nous allons installer le serveur web Apache ainsi que PHP et différentes librairies dont OwnCloud a besoin, nous allons saisir les commandes suivantes :
apt-get update apt-get install apache2 php5 php5-common php5-gd apt-get install php5-sqlite curl libcurl3 libcurl3-dev php5-curl
Pour information, on installe apache2, php5 et SQLite ainsi que plusieurs modules PHP. Toutefois, pour information, MySQL s'installe automatiquement avec ownCloud lors de l'installation via apt-get.
III. Installation d’ownCloud
Maintenant, continuons avec l’installation d’ownCloud et la fin de la configuration de notre serveur Linux. Voici les commandes que vous devez saisir :
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list apt-get update apt-get install owncloud
Ici, nous venons d'insérer une nouvelle ligne vers le dépôt contenant OwnCloud adans notre fichier sources.list puis nous avons mis à jour nos dépôts et installé OwnCloud. Lors de l'installation d'OwnCloud, le service de base de données MySQL s'installe également, il va alors falloir indiquer deux fois un mot de passe pour l'utilisateur "root" de MySQL :
Note : Pour information, les paquets PHP5 permettant à PHP de communiquer avec MySQL s'installent également automatiquement lors de l'installation d'OwnCloud. Cela nous facilite donc la tâche 🙂
Nous allons ensuite définir le groupe “www-data” contenant l’utilisateur du même nom utilisé par Apache en tant que groupe propriétaire sur les répertoires utiles au fonctionnement d’ownCloud, nous saisirons pour cela les commandes suivantes :
cd /var/www/ chown www-data:www-data -R owncloud/
Ensuite, nous allons passer à la modification des permissions sur ces mêmes répertoires, l'option "-R" permet d'avoir une récursivité, c'est-à-dire que les changements de droits vont s'appliquer à tous les sous-répertoires également :
chmod 770 -R owncloud/
Pour qu'OwnCloud fonctionne correctement dans Apache, il faut activer les modules rewrite et headers d’Apache. Rewrite permet la réécriture d’URL, et, headers permet de gérer les en-têtes des requêtes et réponses HTTP :
a2enmod rewrite a2enmod headers
Pour des questions de sécurité, il faut empêcher l’accès au répertoire « data » d’ownCloud. Pour cela, un fichier .htaccess est déjà présent et préconfiguré dans OwnCloud. Il contient une directive permettant de refuser l’accès à tout le monde et une seconde permettant d’empêcher le listing de tout le contenu du répertoire :
deny from all IndexIgnore *
Note : « data » est le répertoire des données d’ownCloud
Afin que le fichier .htaccess soit pris en compte, la directive AllowOverride de votre serveur web doit être définie sur « All » et non sur « None » sinon les fichiers .htaccess sont ignorés. Modifiez le fichier « default » situé dans « /etc/apache2/sites-enabled » afin d’obtenir ceci :
<Directory> Options -Indexes FollowSymLinks MultiViews AllowOverride ALL Order allow,deny allow from all </Directory>
Puis, pour finir, nous pourrons redémarrer le serveur Apache :
service apache2 restart
L’accès depuis le navigateur sur les données du dossier data devrait être interdit (pour vérifier, aller sur http://IP_du_serveur/owncloud/data, à la fin de l’installation).
IV. Finalisation de la mise en place
Pour finir, accédez à ownCloud depuis l’interface web pour finir l’installation et créer l’utilisateur « admin ». Puis, allez sur le navigateur web et saisissez l’URL « http://IP_du_serveur/owncloud », voici ce que vous pourrez voir :
Comme vous pouvez le voir, OwnCloud nous indique que le système de base de données SQLLite sera suffisant pour les installations standards. Si vous ne pensez pas avoir besoin d'un très grand volume pour votre OwnCloud, saisissez simplement l'identifiant et le mot de passe de votre utilisateur administrateur puis cliquez sur "Terminer l'installation".
En revanche si vous savez que votre OwnCloud sera amené à gérer une certaine charge (ce qui sera le cas si vous être dans une entreprise par exemple), cliquez sur "Stockage & base de données" pour accéder à la possibilité d'utiliser d'autres systèmes de base de données. On sélectionnera alors "MySQL/MariaDB".
Si vous utilisez MySQL, il faudra se rendre en ligne de commande sur votre interface MySQL pour y saisir les lignes de commande qui permettront de créer une base de données et un utilisateur dédié à OwnCloud. On crée l'utilisateur et la base de données :
CREATE USER "owncloud"@"localhost" IDENTIFIED BY "password"; CREATE DATABASE owncloud;
Note : Pensez à remplacer "password" par un mot de passe fort.
On donne tous les droits à l'utilisateur sur la base de données :
GRANT ALL PRIVILEGES ON owncloud.* TO "owncloud"@"localhost"; FLUSH PRIVILEGES ;
Il faudra ensuite renseigner les champs correspondants (user, password, nom de la base de données ..) :
N'oubliez pas de saisir les identifiants de votre administrateur principal puis cliquer sur "Terminer l'installation".
OwnCloud est fin prêt, tout est fonctionnel. Vous pouvez vous connecter avec l’utilisateur « admin » en allant sur l'URL " http://IP_du_serveur/owncloud" :
Il ne reste plus qu'à vous amuser avec OwnCloud ! Pour rappel, nous avons une catégorie dédiée à OwnCloud qui vous permettra d'aller plus loin dans sa configuration : tutoriels OwnCloud
Bonjour et merci Florian pour ce partage,
Utilisant Owncloud en SSL avec multi vhost et LDAP, je rencontre depuis un moment un problème majeur et je voudrais connaitre ton point de vue.
En effet, il semble que la partie Webdav de Owncloud ne prend pas en charge la fonction Lock file. Ce qui cause des gros problèmes tant pour la syncro avec le client mais aussi avec d’autres logiciel Webdav classique (mapping de ficher sans cache par exemple).
Cela ce traduit pas la corruption de donnée, disparition de donnée ou encore par des modifications qui disparait par magie …
Bref, j’ai cru comprendre que cette fonction est bien pris en charge via Webdav module de Apache2 mais pas dans le code de Owncloud. Une idée ?
Merci pour ta réponse,
Bonne journée,
OneKid
Bonjour,
Là comme ça je ne serais pas trop te dire… Je n’ai jamais traité ce cas de figure. As-tu des choses dans les logs de ton serveur ? Quel est l’objectif de la fonction Lock File ?
Je t’invite fortement à créer un sujet dans notre forum pour que plus de personnes soient au courant de ton problème, et, que l’on puisse t’aider. De plus, nous souhaitons traiter les problèmes dans le forum directement.
Merci.
Bonne journée à toi aussi
Florian
Cool je test ca en prod ! en moment !!
bonjour a tous et merci pour ce jolie tuto moi jai eu le droit a ca comme probleme
Erreur
Error while trying to create admin user: SQLSTATE[HY000] [14] unable to open database file
je pense que tt simplement vu que je n ai pas trouver le fichier default a modifier dans /etc/apache2/sites-enabled pouvez vous maider svp
Hello,
petit update pour Debian 7 au niveau du owncloud.list
Ensuite ajouter la clé :
Et hop!
Bonjour!
Très bien expliqué! Merci!
En effet, maintenant avec Debian 7 c’est :
echo ‘deb http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/ /’ >> /etc/apt/sources.list.d/owncloud.list
wget -qO – http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key | apt-key add –
La partie avec le .htaccess et le fichier 000-default peut être ignorée car à présent configuré de base (http://IP_du_serveur/owncloud/data inaccessible).
Idem désormais pour le MySQL ?!
Merci
Bonjour,
Très bon tutoriel, merci pour le partage !!
Toutefois, ayant suivant le tutoriel de A à Z, je me retrouve à ne pas pouvoir accéder à Owncloud lords de la dernière étape… Il me met clairement accès refusé. Je pense que c’est une histoire de droit mais je en vois pas laquelle ?
Un peu d’aide serait la bienvenue,
Merci par avance.
Bonjour,
Avez-vous bien fait toutes les commandes concernant les droits détaillées dans le tuto ? Vérifiez que les droits que vous avez correspondent à ceux que l’on cherche à obtenir en saisissant les différentes commandes.
Salut,
Bon un pti peu galere car j’avais plus touche de console depuis oula quelques temps 😀 mais bien
Juste une question je voudrais déplacer le répertoire de stockage vers une autre partie de ma débian en fait je voudrais mettre owncloud en tandem avec mon samba
Une réinstall toute bête ou tu as une astuce, je regarde aussi les fichiers mais si tu as l’astuce je veux bien prendre
merci
Re
Bon j’ai trouve si cela te semble utile je pourrais te faire un pti tuto format PDF ou un post à la suite
Bye
Merci pour ce tuto, c’est la deuxième fois que je l’utilise mais cette fois sans avoir au préalable installé le serveur LAMP.
Résultat: rapide, facile, nickel.
Il serait tout de même pas mal de mettre à jour l’article, particulièrement pour le passage à la version 7 de debian.
Un grand merci.
Merci Florian, tuto très efficace ! Et quel bonheur de savoir ses données hébergées par son serveur !
Pourquoi ne pas utiliser les paquets owncloud 7 disponibles dans testing/unstable et dans wheezy-backports ?
Ah, je vois. Billet posté en 2013 mais (ré-)annoncé sur twitter aujourd’hui…
Bonjour,
Merci pour ce tuto,
Je suis sur Ubuntu 14.10 et j’ai installé owncloud de la manière suivante sur xterminal
sudo sh -c « echo ‘deb download.opensuse.org/repositories/isv:/…unity/xUbuntu_14.10/ /’ >> /etc/apt/sources.list.d/owncloud.list »
sudo apt-get update
sudo apt-get install owncloud
Je me rends compte que que toutes les données vont se stocker sur la partition principale alors que j’ai une seconde partition de 140 Go qui onviendrait pour le stockage
je crée donc (après avoir utilisé une première fois owncloud) un autre endroit pour le stockage, j’opère de la manière suivante:
Sudo service apache2 stop
puis j’ouvre l’éditeur pour modifier le chemin des données qui va se situer sur la nouvelle partition: (ma nouvelle partition porte l’étiquette datas et est accessible dans « /media/gege »
sudo nano /var/www/owncloud/config/config.php
et je change la ligne par
‘datadirectory’ => ‘/media/gege/datas/owncloud_data’,
ensuite je tape:
sudo mv /var/www/owncloud/data /media/gege/datas/owncloud_data
Le dossier Data est copié sur le nouvel emplacement
Je redémarre le service apache:
sudo service apache2 start
Je lance le navigateur sur « localhost/owncloud »
et j’ai le message suivant:
Le répertoire (/media/gege/datas/owncloud_data) est invalide
Veuillez vérifier que le répertoire de données contient un fichier « .ocdata » à sa racine.
Je vérifie et le fichier .ocdata est bien présent dans le repertoire /media/gege/datas/owncloud_data
Qu’elle est la solution ?
merci pour votre aide
Bonsoir je voudrais savoir pourquoi quand je modifie bien tout se qu’il faut pour définir la taille d’upload cela ne fonctionne pas, il reste bloqué à 512M.
Je cherche de partout sur internet et je ne trouve pas.
Bonjour Neijul974,
Je t’invite à t’inscrire sur notre site puis à créer un nouveau sujet dans le forum, cela permettra à ce que l’on te vienne en aide 🙂
Merci
Florian
Salut bon tuto,
j’ai mis un ddns sauf qu’il ne pointe pas vers owncloud mais sur /var/www/index.html que faire pour avoir accès directement a owncloud svp?
Salut nico,
Ajoute /owncloud/ à la fin de ton URL DynDNS pour indiquer que tu souhaites accéder à ce dossier (dans le cas où le dossier d’ownCloud s’appelle bien comme ceci). Si ça ne fonctionne toujours pas, tu peux créer un nouveau sujet dans le forum pour que l’on te vienne en aide ! 🙂
Merci
Florian
bravo , merci pr ce grand effort
Merci pour ce tutoriel.
Quelqu’un ici saurait-il me dire si possibilité il y a de changer la fréquence de synchronisation lorsque owncloud détecte un nouveau dossier/fichier ?
Je m’explique : actuellement owncloud synchronise de suite lorsqu’il détecte un nouveau fichier/dossier. Je souhaiterais allonger ce temps de détection de nouveau fichier/dossiers à 3heures par exemple. Possible ?
Merci.
Bonjour ,
Est ce que quelqu’un aurai une solution pour supprimer des utilisateurs owncloud . Je m’explique j’appuie sur l’icone corbeille cela supprime l’utilisateur mais quand je rafraichis la page il revient merci d’avance.
Merci Florian pour ce tuto remarquablement clair !
Bonjour, je suis débutant en BTS SIO et je viens de me lancer dans les solutions libre pour de plus en plus de connaissances et d’expériences.
Aimant les nouvelles technologies, je suis tombé sur cette solution qui me semble vraiment hyper intéressante. j’ai ne pu m’empêcher de constater de remarquer dans tous les tutos qu’on ne peux prendre qu’un dossier dans le répertoire (var/www/…) dans le stockage interne de l’ordinateur pour espace d’échange du stockage des données cloud. D’où ce qui m’amène à la question; qu’en est-il et comment faire s’il l’on veut prendre un disque dur externe avec son espace de stockage dans sa globalité. C’est à dire que le répertoire « data » contenant les données se trouve dans un disque dur externe et non dans le stockage de mémoire du disque interne du pc(serveur).
Merci par avance pour la réflexion.
Salut Deucalion,
Pour que tes données soit sur le disque externe, je pense qu’il faudrait que tu copie/déplace le dossier data sur ce disque et que ensuite tu fasse un lien symbolique du dossier data du disque dur externe vers le dossier owncloud du serveur web.
Normalement ça devrait passer.
bonjour j’ai du mal a installer le owncloud sous debian 8.0