J’ai acheté un compte OVH pour faire la sauvegarde de mes données importantes (papiers à conserver, photos, …), héberger un ou deux sites web et bidouiller un peu
ownCloud est un programme PHP qui permet de se créer son propre petit cloud, avec une interface Web pour gérer fichiers, musique, photos, agenda, contacts.
Il est possible d’utiliser WebDAV, ce qui devrait rendre le système intéressant pour les sauvegardes : n’importe quel programme de sauvegarde capable d’utiliser un « map » Windows peut l’utiliser (ex: Crashplan Free qui permet aussi de crypter ses sauvegardes). Il existe aussi des clients desktop Mac, Windows et smartphone basés sur csync, qui permettent de synchroniser un ou des répertoires avec un répertoire du serveur.
[EDIT 12/05/16] Pour voir un tutorial plus à jour aller sur le site OpenFEAX : [Tuto] ownCloud 9 sur un mutualisé OVH
Installation
Pour installer OwnCloud , j’ai :
- uploadé les fichiers décompressés du package dans un sous-répertoire de www
- modifié le fichier .htaccess de ce sous-répertoire
SetEnv PHP_VER 5_3
- modifié le fichier /www/<répertoire d’install>/lib/filestorage/local.php de manière à remplacer la fonction free_space à la va-vite (on ne chargera pas de fichier de plus de 64M qui est de toute façon la limite d’upload Web sur un hébergement OVH mutualisé) :
public function free_space($path){ return (67108864); // return disk_free_space($this->datadir.$path); }
Il y a plus sioux comme proposé dans un commentaire, mais c’est plus long à tester et ça oblige à mettre ses identifiants OVH dans le code
- installé en appelant l’URL http://<monserveur>/<répertoire d’install> qui propose gentiment d’installer un compte administrateur. J’ai choisi d’utiliser sqlite plutôt que MySQL, par facilité.
Références
- OwnCloud > Support Centre > Install : on y trouve le package à installer, les prérequis et la procédure d’installation
- ownCloud Admin Manual
- Infos sur l’installation et l’utilisation de WebDAV avec OwnCloud :
- Forum OVH > Hébergements mutualisés > Installation OwnCloud sur un hébergement Pro : patch permettant d’éviter l’erreur « disk_free_space » de manière plus subtile (et plus sûre, si on a peu d’espace disque) que la mienne, aussi présentée dans ce commentaire, ou plus récemment dans ce tutorial.
Edit 16/4/2013. Et en version 5 ?
Toujours vrai pour la version 5 : voici ce qu’on obtient si on n’applique pas de patch
Je n’ai toujours pas installé le patch qui utilise l’API OVH pour éviter de laisser traîner mes identifiants dans le code.
J’ai en plus changé le fichier .htaccess avec
SetEnv PHP_VER 5_4
ce qui donne moins d’erreurs dans les logs (fait disparaître cette erreur :
Fatal PHP Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater at Unknown#0
Merci beaucoup ! Ça a fonctionné comme sur des roulettes. A un détail près : la limite d’upload des mutualisés d’OVH a nécessité une pirouette supplémentaire pour la passer à 64Mo, grâce à un patch que l’on peut trouver sur le blog Open-Freax.
Merci pour l’info. Effectivement, [Tuto] ownCloud sur un mutualisé OVH est un bon tuto sur la question avec une méthode « propre ».
Il faut refaire la manip après chaque upgrade de version…
Je n’avais pas essayé auparavant la manip, mais je viens d’installer le client Windows 1.1.1 et l’ai synchronisé sans problème avec le serveur en version 4.5.0 sur OVH en hébergement mutualisé.
Merci aussi, très utile le patch. Par contre quelqu’un arrive à utiliser le client de synchro sur les offres OVH mutualisées? Il me retourne une erreur 403 quand j’essaye de me connecter et impossible de comprendre d’où elle vient.
// ça aide?
public function free_space($path){
try{
$soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.47.wsdl");
$session = $soap->login("xxxxxx-ovh", "mot_de_passe_soap","fr", false);
$result = $soap->hostingSummary($session, "nom_de_domaine");
$soap->logout($session);
$max = $result->maxWebspace * pow(1024,2); // (maxWebspace est en mega-octets)
$used = $result->webspace; // (webspace est en octets)
return ($max - $used);
} catch(SoapFault $fault){
// ici, mettre le code à exécuter en cas d'erreur
// ou supprimer le try/catch pour laisser l'exception remonter plus haut
}
}
Merci, ca m’a été très utile!