[Tuto] ownCloud sur un mutualisé OVH

 

Bonjour à tous !

Aujourd’hui un petit how-to pas bien méchant, mais qui sera utile à plus d’un visiteur (de ce que j’ai pu voir sur la toile en cherchant des réponses à mes questions…) : comment avoir un ownCloud qui fonctionne sur un hébergement mutualisé OVH.

Sur un dédié, pas de soucis, comme moi avec mon serveur à la maison, on peut tout régler, faire ce qu’on veut. Easy. Mais ça se complique dès lors que l’hébergeur restreint l’utilisation de certaines fonctions, ou les a bidouillées à sa sauce. C’est le cas d’ownCloud : j’ai essayé plusieurs versions sur mon offre perso, avec toujours le même problème : impossible d’uploader quoi que ce soit de plus de 0B. Autrement dit… RIEN. Nada. Par manque de temps, j’ai laissé tomber, en attendant une occasion de me repencher sur la chose. C’est fait !

 

Étape 1 : télécharger ownCloud, et l’envoyer sur votre espace en ligne

Rendez vous sur le site d’ownCloud et récupérez la dernière version, ou celle qui vous plaît (dans mon cas, il s’agit de la v4.5.2 màj du 31 juillet 2013 : v4.5.13). Extrayez l’archive, et envoyez la par FTP sur votre espace OVH, où vous voulez. J’ai choisi de créer un sous-domaine « exprès », libre à vous de faire pareil (ou pas).

N’installez pas encore ownCloud !

 

Étape 2 : modifiez quelques fichiers…

C’est là que ça se complique un poil, et encore, rien qui puisse vous faire fuir ventre à terre. J’avais trouvé sur le net des infos, la piste était de modifier local.php, mais pour une ancienne version (3.x). J’ai essayé, et je n’ai eu en retour qu’une flopée d’insultes de la part de PHP. Du coup, je ne vous mets pas la modif en question 😉

Mais ça m’a montré la voie (huhu), et après avoir écumé la doc de la SoAPI d’OVH, puis essayé des modifs, voici de quoi faire tourner la v4.5 (au moins, à tester avec la 4.0).

 

Modif 1 : .htaccess

Ce fichier est à la racine de votre installation ownCloud. Ajoutez une ligne au début du fichier :

SetEnv PHP_VER 5_4

Cela indique au serveur d’utiliser la bonne version de PHP. Pas certain que ce soit encore nécessaire, mais OVH propose aussi la version 5.2 de PHP, et d’autres comme 1&1 font pareil.

 

Modifs 2 et 3 : /lib/filestorage/local.php

Cherchez la ligne :

return @disk_free_space($this->datadir.$path);

Commentez-la, et ajoutez un petit bout de code, ce qui donne :

// return @disk_free_space($this->datadir.$path);
/*
* On appelle la fonction de l'API OVH
*/

return ovh_free_space($this->datadir.$path);

Ensuite, remontez en haut du fichier et ajoutez entre la balise d’ouverture PHP et le début de la classe :

include(OC::$SERVERROOT.'/lib/filestorage/local_ovh.php');

 

Modif 4 : /lib/filestorage/local_ovh.php

Vous vous en doutiez vu la dernière modif, non ?

Créez ce fichier à côté de local.php, et collez-y ceci :

<?php
/*
* Implantation "made-in-OVH" de disk_free_space()
* ATTENTION : pensez à remplacer les arguments de
* $soap->login() avec votre propre identifiant et mot de passe.
* Vous devez aussi indiquer votre domaine dans $soap->hostingSummary().
*/


function ovh_free_space($path){
try{
$soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.35.wsdl");
$session = $soap->login("xxxxxxx-ovh", "xxxxxxxx","fr", false);
$result = $soap->hostingSummary($session, "mon-domaine.fr");
$soap->logout($session);

return ((($result->maxWebspace / 1000) * 1024 * 1024 * 1024) - $result->webspace);
} catch(SoapFault $fault){
return 0;
}
}

?>

 

Étape 3 : installez ownCloud !

Ça y est, on en a fini ! Ouvrez votre navigateur et entrez l’URL que vous avez choisie pour votre instance ownCloud. Installez comme d’habitude, et c’est tout bon !