[Tuto] ownCloud v5 sur un mutu OVH

(Environ 6 min de lecture)

Bonjour à tous !

Suite au précédent article sur ownCloud, qui marche plutôt bien et vise à expliquer comment avoir un ownCloud qui fonctionne sur un hébergement mutualisé OVH, je me suis dit que la sortie de la v5 serait l’occasion de faire un point là-dessus.

Plus qu’un point, c’est en fait une mise-à-jour du tutoriel : en effet, le code de la v5 a pas mal évolué depuis la 4.5.x . Et du coup, les instructions que je donnais dans l’ancien tutoriel ne sont plus (totalement) valables, et génèrent un paquet d’erreurs.

Bien entendu, je suis reparti de l’ancien article, et un certain nombre de choses restent valables, à commencer par ce premier avertissement :

Voici donc les instructions « qui marchent » ! 😉

ownCloud v5 sur un mutualisé OVH, c'est possible !
ownCloud v5 sur un mutualisé OVH, c’est possible !

 

É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 (au 30 septembre 2013 : v5.0.11). 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, sans pour autant être insurmontable.

Comme pour la version précédente, c’est l’utilisation de la SoAPI d’OVH qui pose souci et empêche la version « normale » d’ownCloud d’exécuter un certain nombre d’opérations. J’ai fait de la doc de la SoAPI d’OVH mon livre de chevet, puis essayé des modifs, et après quelques essais, j’ai le plaisir de vous dire que c’est tout bon.

 

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. Pensez à re-vérifier le .htaccess à la fin de l’installation, il semblerait que le processus écrase notre modification. Le cas échéant, il faut ajouter cette même ligne une seconde fois.

 

Modifs 2 et 3 : /lib/files/storage/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 ligne qui commence par « namespace »  et le « if » qui suit :

include('lib/files/storage/local_ovh.php');

 

Modif 4 : /lib/files/storage/local_ovh.php

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

Créez ce fichier à côté de local.php, collez-y ceci, et remplissez-le avec vos données à vous :

<?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 !