Sysadmin

Installer son propre Cloud avec ownCloud 4.5.6

Sommaire

Dropbox

Utilisateur quotidien de Dropbox, plusieurs choses me gênent.

Par exemple la limitation gratuite des 2Go de stockage est très vite atteinte. De plus, je ne pas sais exactement où sont stockées mes données. Il n’est malheureusement pas possible d’utiliser dropbox sur son propre serveur dédié.

Voyons ici comment installer ownCloud, un remplaçant de Dropbox, un peu plus complet.

Le choix d’ownCloud 4.5

En plus d’ownCloud, il existe plusieurs solutions de remplacement comme Syncany, FTPbox ou encore SparkleShare.

Syncany n’est disponible que sur Linux pour le moment. Même si une portabilité Windows et Mac est prévue, le projet semble mort (ou du moins en pause) depuis fin 2011. Présentation par Korben

FTPbox est prometteur mais il n’est pas assez complet et stable pour une utilisation quotidienne.

SparkleShareSparkleshare est plus abouti. A la différence de Syncany il ne possède pas d’applicatif serveur. Le client peut se connecter à plusieurs types de serveurs, notamment un dépôt Git. J’ai testé cette solution avec un dépôt Git sur un serveur dédié. Un cruel manque de stabilité du client et des erreurs de synchronisation m’ont rapidement fait abandonner l’idée.

Enfin, je suis tombé sur ownCloud, un projet open source. A première vue, cela semble être la solution idéale. L’applicatif serveur repose sur un xAMP et le client lourd est multi plateforme.

owncloud

En plus de la synchronisation de fichiers, ownCloud propose une gestion de calendrier et contacts, une interface Web (à la dropbox), une pléthore de plugins, du streaming audio et vidéo, une compatibilité WebDAV, un « client sync » propre et fonctionnel (possibilité de synchroniser X répertoires locaux avec X répertoires distants, contrairement à Dropbox), des comptes utilisateurs, du partage de fichiers entre utilisateurs, du partage public… Bref le paradis ! Liste complètes des features

Dans notre cas, nous n’utiliserons que la synchronisation de fichiers.

Environnement d’installation

Avant toute chose, sachez que j’avais tenté l’installation du serveur ownCloud sur un Debian 6.0 Squeeze. J’ai rencontré des problèmes de synchronisation avec les clients.

Des fichiers XXX_conflict-XXX étaient créées par centaines sur chacun des postes clients lors de la première synchronisation.

Après de longues recherches, j’ai essayé plusieurs solutions :

  • Utiliser le même serveur de temps sur le serveur et les clients pour qu’ils soient parfaitement synchronisés.
  • Installer un client de synchronisation sur le serveur et effectuer la première synchronisation depuis lui même (avec un envoi des données préalable en FTP).
  • Désactiver le versionning de l’application.

A ce jour (février 2013), le problème ne semble pas résolu malgré de nombreux report de bugs.

EDIT (septembre 2013) : sur Debian 7 avec OwnCloud 5.0 : je n’ai plus aucun problème !

Ce genre de chose empêche réellement la mise en production de l’application.

J’ai décidé d’essayer avec Windows Server 2012, le problème ne s’est pas présenté.

Quelques liens :

Parenthèse terminée, voici l’environnement utilisé dans notre cas :

  • Le serveur est un serveur dédié sous Windows Server 2012 Standard Edition accessible depuis une IP publique.
  • Un poste client (fixe) sous Windows 7 64 bits est synchronisé dans le LAN 1. Ses données sont stockées sur un serveur de données (Windows Serveur 2003) dans le même LAN.
  • Un deuxième poste client (portable) aussi sous Windows 7 64 bits est synchronisé dans le LAN2.
  • Un smartphone sous Android doit avoir accès aux répertoires du serveur (via une application Google Play, ou un service FTP)
  • L’interface web doit être accessible pour un client temporaire)

 owncloud environnement

Installation

Le serveur

Prérequis :

J’ai personnellement utilisé Wampserver 2.2E 64 bits :

  • Apache 2.2.22
  • Mysql 5.5.24
  • PHP 5.4.3

curlPatch de php_curl et php_openssl

La version 64bit de PHP compilée avec VC9 présente quelques problèmes au niveau des extensions. Les extensions openSSL et CURL défectueuses empêchent ownCloud de fonctionner.

Les patchs sont disponibles ici pour curl et ici pour php_openssl (ou alors téléchargez l’archive zip ownCloud Win Serv 2012 WAMP 64bits – correctifs SSL et CURL qui contient les 3 fichiers DLL corrigés).

opensslRemplacez les fichiers dans leurs dossiers respectifs :

  • php_curl.dll => C:\wamp\bin\php\php5.4.3\ext
  • libeay32.ddl et ssleay32.dll => C:\wamp\bin\php\php5.4.3\

Il est précisé sur certains forums qu’il faut aussi copier ces 3 fichiers dans C:\Windows\System32 et C:\Windows\SysWOW64. Je n’en ai personnellement pas eu besoin.

Activez les extensions php_curl et php_openssl depuis le menu de Wampserver et redémarrez le.

Installation du site ownCloud

L’installation d’ownCloud se fait comme la plupart des applis web récentes.

Téléchargez les sources de l’application ici, deux possibilités :

  • Utilisation de setup-owncloud.php (Web Installer) : Cette solution a fonctionné sur Debian, mais sur Windows Server + Wampserver c’est une autre histoire. J’obtient une erreur SSL malgré le patch de l’extension php_openssl.dll.
  • Téléchargement des sources (.tar Archive) dans votre répertoire de production, généralement C:\wamp\www\ : C’est la méthode « de secours » mais qui fonctionne à tous les coups.

Peu importe la méthode utilisée, il est essentiel d’arriver à l’écran principal d’installation (et si possible sans aucune erreur), comme ceci :

ownCloud installation

Veillez à bien posséder les droits sur le dossier de stockage (généralement le sous répertoire « data » du dossier d’installation d’ownCloud).

Les clients

Interface WEB

L’interface web de l’application est accessible depuis l’IP ou le nom de domaine de votre serveur (n’oubliez pas d’activer la mise en ligne de vos sites avec Wampserver).

L’ergonomie est au top et la prise en main complète. J’aime particulièrement l’upload par glisser-déposer.

Interface web

 

outils_divers Petite correction de l’interface web : Sur chaque ligne, la taille des éléments est exprimée en Mo, sans l’unité.

Et le plus aberrant dans tout ça, c’est que si un élément dépasse le Go, la taille affichée est > 1000 ! En revanche lorsque vous passez votre souris sur l’élément, la taille est affichée correctement et mesurée avec la bonne unité.

Il n’existe aucun réglage pour modifier cela. Heureusement nous avons à faire à une application libre (j’entends Dropbox partir en courant)… Libre à vous de la modifier !

Sur le serveur, à partir du dossier d’installation d’ownCloud, modifiez la page apps/files/templates/part.list.php.

Vous voyez la ligne 11 ?

$simple_file_size = OCP\simple_file_size($file['size']);

C’est la fonction simple_file_size qui pose problème. Remplacez la par human_file_size.

$simple_file_size = OCP\human_file_size($file['size']);

L’interface web est désormais encore plus ergonomique !

Clients Windows

Téléchargez le client ici (disponible sur Windows, Linux, Mac).

Après l’installation, vous êtes invités à configurer le serveur ownCloud :

owncloud client install 1

 

Si le client est bien connecté au serveur, vous pouvez créer un ou plusieurs dossiers de synchronisation et les placer où bon vous semble (grand moment de bonheur après une longue période de dépendance à Dropbox).

owncloud client install 2owncloud client install 3  owncloud client install 4

Laissez faire la première synchronisation qui peut être très longue.

puce_information

N’oubliez pas que vous êtes dépendant de votre vitesse montante de connexion, cette vitesse est de l’ordre de 100kbit/s sur une connexion ADSL type. De plus, ownCloud semble être très lent sur les répertoires contenant de nombreux petits fichiers.

Ne jugez pas le temps imparti seulement en fonction de la taille de votre répertoire.

Autre chose, il est possible de placer un dossier de synchronisation sur un lecteur réseau (encore une chose que Dropbox ne propose pas) !

Dans l’exemple de cet article, le Client 1 sur le LAN 1 stocke son dossier sur NAS Windows Server 2003.

Veillez à ce que le serveur ownCloud, le client et le serveur de stockage local soient à la même heure. Au besoin relancez une synchronisation NTP.

Google-AndroidClients Android

Sous Android, il existe une application payante pour ownCloud. Vous pouvez la télécharger sur le Google Play. L’application semble stable mais l’explorer n’est pas très complet.

L’interface WEB ownCloud perd toute son ergonomie depuis un accès mobile.

Mise à jour octobre 2013 : Article dédié à l’accès mobile.

 

Globalement, que pensez-vous d’ownCloud ? Le projet est prometteur mais êtes vous prêt à oublier Dropbox et sa stabilité légendaire ?

3 réflexions sur “Installer son propre Cloud avec ownCloud 4.5.6

  • Salut,

    J’ai justement l’objectif de me lancer dans une telle installation sur Windows Server 2012, Debian est LA référence pour une install de ce genre mais mes connaissances sous Linux ne sont pas suffisantes pour m’y lancer.

    J’ai une question : Penses-tu que ça poserait un problème l’install et l’exploitation d’OwnCloud sur une VM (Virtual Box) ? Pour info le PC hôte est sous Windows 7, 16Go de RAM + ajout d’une carte réseau Gigabits dédiée à cette VM…!

    Merci pour ton tuto 🙂

    Répondre
  • Bonjour,

    OwnCloud est assez abouti et puissant pour tourner sans problèmes sur Debian et Windows (serveur ou pas d’ailleurs), et tout ce qui est capable de faire tourner PHP en fait.

    Le plus important est de posséder un serveur web, php et les plugins nécessaires. Le plus dur pour moi à propos de l’installation sur Windows a été de trouver les plugins en 64bits. PHP a évolué et mes liens dans l’article sont obsolètes pour une autre version que la 5.3.4.

    Au niveau de la config hard, pas besoin d’une machine de guerre ! OwnCloud n’effectue pas de traitement lourd (par contre le client de synchro bouffe pas mal de processeur des fois). La carte réseau gigabit sera la bienvenue, surtout sur un LAN. Aucun problème sur une VM, comme je te le disais la configuration minimum requise est assez light ! Ta configuration tiendra largement ! Au passage pour le service Web, ne néglige pas la configuration de la carte réseau virtuelle pour un accès distant.

    Comment te serviras-tu d’OwnCloud ? Sur un LAN ? Personnellement ? Professionnellement ? Avec plusieurs comptes utilisateurs ?

    Et pourquoi une VM dédiée à OwnCloud ?

    Bref, bon courage, n’hésites pas ! Mais quel plaisir de synchroniser ses fichiers sur son propre serveur.

    Cdt, Thibaud

    Répondre
    • « Comment te serviras-tu d’OwnCloud ? Sur un LAN ? Personnellement ? Professionnellement ? Avec plusieurs comptes utilisateurs ? »

      Bah en faites, je souhaiterais m’en servir pour me débarrasser de Dropbox, Hubic et autre Google Drive. Ne plus êtes soumis à leurs limites et SURTOUT gérer et localiser mes données personnelles tout en sachant à comment elles sont stockées et utilisée.
      C’est bien pour une utilisation personnelle sur un LAN et éventuellement avec quelques comptes utilisateurs, un cloud privé accessible uniquement sur invitation si possible.

      Et pourquoi une VM dédiée à OwnCloud ?
      => Tout simplement pour des raisons de coût, si par là tu entends que je peux dédier un serveur physique, oui mais financièrement ça représente un coût. Quand je marquais un VM dédiée à OwnCloud, je voulais faire allusion à une VM sur laquelle tournerait Windows Server 2012 avec d’autres services dont OwnCloud mais pas uniquement ce dernier, ça n’a pas forcément d’intérêt, j’me suis mal exprimé.

      Merci pour tes conseils et ta réponse. Je garde ton blog dans mes favoris et en plus tu vis à Orléans (tout comme moi).

      @+

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Êtes-vous humain ? *