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


37 commentaires sur “[Tuto] ownCloud sur un mutualisé OVH

  • 28 décembre 2012 à 22 h 25 min
    Permalink

    Merci mille fois pour ces instructions, elles fonctionnent à merveille. Bravo !

    Réponse
    • 29 décembre 2012 à 10 h 01 min
      Permalink

      Pas de quoi ! Une fois le problème « résolu », ce serait dommage de ne pas partager 🙂

      Réponse
  • 6 février 2013 à 9 h 49 min
    Permalink

    Salut,

    Quel retour d’utilisation peux tu faire de owncloud sur ovh mutualité?
    `
    J’ai essayé de l’install mais impossible de charger quoi que ce soit 🙁

    A+

    Réponse
    • 6 février 2013 à 15 h 01 min
      Permalink

      Salut !

      Eh bien… à part de temps en temps sur le dernier fichier de la « file » que j’envoie, je n’ai pas de problème. C’est un peu long sur la fin, apparemment…

      Par contre, si je monte mon cloud via WebDAV, je n’ai réellement AUCUN souci, idem avec le client de synchronisation officiel.

      Et puis avec CalDAV et autres, mes applis « de bureau » peuvent lire le carnet d’adresse, etc.

      Du coup, je m’en sers pas mal.


      Du coup, tu ne charges rien… tu as les bons droits pour créer des fichiers ? Je crois que sur un mutu c’est bon, mais sait-on jamais…

      Réponse
  • 12 février 2013 à 19 h 24 min
    Permalink

    Dans mon cas (hébergement mutu pro de ovh) ça ne marche qu’à moitié (OC v4.5.6) 🙁
    : le client windows (v1.2.0) synchronise sans problème, mais les boutons de la webui ne font pas d’action. La web console de FF18 me balance plein d’erreur.
    Mais quand j’ai ajouté DEFINE(« DEBUG », true); au fichier /owncloud/config/config.php, alors l’interface web fonctionne. Mais j’imagine que c’est pas super d’utiliser OC en mode debug…

    Réponse
    • 3 mars 2013 à 11 h 50 min
      Permalink

      Oula, je n’ai jamais vu ça, même si j’ai vu passer sur quelques forums (anglophones) des topics avec des intitulés liés à ton problème…

      C’est sûr que le mode debug, c’est pas le mieux, mais bon… Ici, ownCloud 4.5.6 avec FF19 sous Linux, pas de soucis. Tu as essayé avec un autre navigateur ? J’utilise le plus souvent Chromium, et ownCloud tourne bien via ce dernier… 🙂

      Réponse
  • 24 février 2013 à 16 h 42 min
    Permalink

    Hello,

    Merci, je cherchais une solution depuis quelques temps pour profiter de OC via OVH.

    Par contre, les identifiants dans un script, c’est pas top question sécurité ? Quels risques ? Quelle prévention possible ?

    Merci encore
    th.

    Réponse
    • 3 mars 2013 à 11 h 26 min
      Permalink

      Salut !

      Les identifiants dans un script… je trouve que c’est pas trop gênant si le script lui-même n’est pas dispo « tel quel ». je m’explique : ici, c’est un fichier PHP, donc même si les permissions d’accès faisaient en sorte qu’il soit accessible, il serait interprété par le serveur, et donc on n’aurait pas accès à son contenu « brut ». Dans le cas d’OC, il est dans un répertoire normalement pas accessible sur requête directe, le souci ne se pose plus du tout.

      D’ailleurs, nombre d’applications web utilisent ce système (genre stocker les infos de connexion MySQL dans un config.php ou autre).

      Donc c’est sûr que c’est « pas top » (un bon pirate qui réussirait à s’introduire, ou à uploader une backdoor, aurait accès aux infos du fichier PHP), mais c’est pas non plus la porte ouverte aux script-kiddies 🙂

      En espérant avoir répondu à ta question !

      Réponse
  • 1 mars 2013 à 17 h 39 min
    Permalink

    bonjour,

    ça marche parfaitement via un navigateur

    par contre comment faire pour faire les sychro avec « ical » et « carnet d’adresses » sous osx

    j’ai installé owncloud sur mon NAS synology
    pas de pb de synchro, ni de paramétrage sous osx

    il faut connaitre le chemin absolu du dossier owncloud chez ovh
    avec quel script php ?

    Réponse
  • 2 mars 2013 à 18 h 25 min
    Permalink

    Merci pour le tuto!
    Je précise juste que pour la version actuelle de owncloud, il faut mette dans le fichier .htaccess : SetEnv PHP_VER 5_3_2
    Sinon ça plante! 🙂

    Réponse
    • 3 mars 2013 à 11 h 28 min
      Permalink

      Merci de l’info, j’en prends bonne note !

      Je vais faire la mise-à-jour 4.5.7 mardi soir, je validerai ça et mettrai à jour le tutoriel en conséquence :mrgreen:

      Réponse
  • 3 mars 2013 à 10 h 30 min
    Permalink

    Bonjour, merci pour le tuto..
    Malgré tout, de mon coté, ben « mache pas »;

    1/ J’ai déja créé un sous domaine, et installé OC dans le répertoire en question. Déja, l’accès via le sous domaine ne fonctionne pas: « 404 not found », mais via le sous répertoire du domaine, on accède.

    2/ Je met de coté le pb du sous domaine pour le moment, et je termine l’installation via le sous-repertoire. Après avoir rentré les paramètres Mysql, j’ai un message d’erreur:

    Fatal error: Call to undefined function stream_resolve_include_path() in /homez.65/moncompte/www/cloud/lib/base.php on line 99

    Tout cela est-il lié?

    Merci,
    Xavier

    Réponse
    • 3 mars 2013 à 11 h 38 min
      Permalink

      Hello,

      1/ as-tu déjà créé un sous-domaine avec succès chez OVH ? Tu dois indiquer sur l’interface d’administration un dossier, généralement hors de /www/. J’explique un peu plus clairement (du moins je l’espère, si c’est pas le cas n’hésite pas à me demander plus d’infos) : quand tu te connectes en FTP à ton compte, tu as plusieurs dossiers, dont généralement « www » et « private-vpn ». Au même niveau, crée un nouveau dossier « cloud » (par exemple hein).
      Ensuite, dans l’interface d’administration OVH, ajoute un sous-domaine tel que ceci : le nom, c’est l’adresse à laquelle il sera joignable, pourquoi pas « cloud.tondomaine.tld ». Le dossier cible, c’est l’emplacement du répertoire sur le serveur, il est pré-rempli avec « www/ ». Efface ce « www/ » et remplace-le par « cloud/ » (ou le même nom qu’entré un peu plus haut, si différent). Ensuite, choisis une IP (française dans mon cas), et coche (ou non) le sous-domaine www et l’ipv6. Personnellement, je n’ai pas coché ces cases pour mon cloud.
      Tu peux du coup uploader le contenu de l’archive d’installation d’ownCloud dans ce dossier « cloud » par FTP, et dès que les DNS se seront propagés, tu pourras l’installer 😉

      Pour un sous-domaine, il vaut mieux éviter de prendre un sous-répertoire du domaine principal, ça peut créer des conflits (j’avais eu le cas sur mon serveur « maison »).

      2/ Une fois qu’il sera dans un sous-domaine, dis-moi si l’erreur persiste. Je ne l’ai jamais eue, même sur mon petit serveur à la maison où ownCloud est accessible dans un sous-répertoire et non un sous-domaine. Je vais fouiner de ce côté là en attendant.

      Tiens-moi au courant ! 🙂

      Réponse
  • 4 mars 2013 à 17 h 47 min
    Permalink

    Bonjour Maxime,

    merci pour tes infos! 🙂

    Effectivement, tu avais raison, concernant le sous domaine, il ne pointait pas à la bonne place, entre autres vers /cloud au lieu de /www/cloud.

    Je vais maintenant suivre ton conseil, et refaire une install au même niveau que /www.

    Pour la config de local_ovh, ($session, « mon-domaine.fr ») faut-il rentrer mon-domaine.fr, ou bien cloud.mondomaine.fr?

    Je tente ce soir/demain matin..

    Merci encore!!
    🙂

    Réponse
    • 4 mars 2013 à 20 h 51 min
      Permalink

      Salut,

      pour ma part j’ai bien « open-freax.fr » et non le sous-domaine.

      Réponse
  • 4 mars 2013 à 18 h 19 min
    Permalink

    Ben…

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homez.65/moncompte/cloud/lib/base.php on line 32

    Réponse
    • 4 mars 2013 à 21 h 24 min
      Permalink

      Euh… c’est pas une erreur d’ « exécution » ça, c’est un problème de syntaxe… ça me rappelle quelque chose… il te manque pas un bête truc, genre une accolade, un point-virgule… sur une instruction PHP ? :mrgreen:

      Réponse
  • 5 mars 2013 à 9 h 28 min
    Permalink

    Ben je n’ai modifié que les fichiers du tuto.. le base.php, pas touché…
    Du coup je sais pas trop.
    Je vais cherche sur les forums OC..

    Réponse
  • 5 mars 2013 à 9 h 32 min
    Permalink

    Trouvé! 🙂
    En refaisant la nouvelle install, j’ai pas resetté en PHP 5.3.2!!
    C’est TOUT BON !!!
    Merci encore!
    🙂

    Réponse
    • 5 mars 2013 à 20 h 48 min
      Permalink

      Ah, super ! Une bonne nouvelle 🙂
      Content que ton problème soit résolu !

      Réponse
  • 5 mars 2013 à 22 h 25 min
    Permalink

    Merci pour ce tuto qui m’a permis d’installer owncloud facilement chez ovh. J’ai par contre un soucis. Impossible d’Uplauder quoi que ce soit j’ai tjrs le même message : fichier trop volumineux… Quand je clique sur la fleche blanche à coté de nouveau j’ai : envoyé max 0B. Quand je regarde ds les parametres perso j’ai : Vous avez utilisé 0 B des 1 B disponibles Donc j’ai du faire une bétise mais ou ? merci

    Réponse
    • 7 mars 2013 à 9 h 34 min
      Permalink

      Hello,
      dans ce cas, c’est que tu n’as pas fait correctement les modifs dans les fichiers local.php et ocal_ovh.php, qui corrigent ce souci, en particulier avec la fonction ovh_free_space.
      As-tu pensé à inclure le fichier local_ovh.php ? 🙂

      Réponse
  • 8 mars 2013 à 14 h 13 min
    Permalink

    J’ai le même problème que Philippe…
    J’ai pourtant bien inclus le fichier local_ovh.php
    Merci

    Réponse
  • 8 mars 2013 à 14 h 32 min
    Permalink

    ça y est ça marche. Je n’avais pas renseigné le fichier local_ovh.php alors forcément…

    Réponse
    • 8 mars 2013 à 14 h 52 min
      Permalink

      Salut,
      en effet, j’imagine que ça marche mieux ainsi :mrgreen:

      Tu as peut-être réglé le souci de Philippe, du coup !
      Merci à toi 😉

      Réponse
      • 9 mars 2013 à 10 h 10 min
        Permalink

        Bonjour,

        En fait j’avais mal renseigné le fichier ! 🙂
        Maintenant tout est ok. Merci bcp

        philippe

        Réponse
  • 16 mars 2013 à 14 h 50 min
    Permalink

    Bonjour Maxime,

    Un grand merci pour tout ça. Je m’étais cassé les dents sur une tentative d’installation sur un hébergement mutualisé OVH il y a plusieurs mois et grâce à cette page, cette fois c’est réussi (version 4.5.8).

    Juste un point de vigilance, il semble que le « .htaccess » modifié soit écrasé lors de l’exécution du script PHP d’installation. Il suffit de le télécharger à nouveau et ça marche après !

    😉

    Pascal

    Réponse
    • 16 mars 2013 à 15 h 25 min
      Permalink

      Bonjour Pascal,

      Pas d’quoi ! C’est le but, après tout, que ça fonctionne… 😉

      Très bonne remarque, tu as probablement raison. Il est vrai qu’à chaque fois, je fais des mises-à-jour, depuis quelques versions déjà… Donc plus de « vrai » processus d’installation !

      J’en prends bonne note, et je le rajouterai dès que j’aurai màj mon instance vers ownCloud 5, pour voir !

      La bise !

      Réponse
  • 18 mars 2013 à 15 h 48 min
    Permalink

    Bonjour Maxime,

    Merci pour ce tuto qui est fort bien expliqué !

    Aujourd’hui, je me suis lancé dans l’installation de ownCloud version 5 sur un mutualisé OVH et là, malgré les modifications préconisées dans le tuto, je rencontre diverses erreurs.

    Sais-tu s’il y a d’autres modifications spécifiques à faire pour cette version 5 ?

    Merci,

    Bonne journée,

    Phil

    Réponse
    • 18 mars 2013 à 20 h 10 min
      Permalink

      Salut Phil,

      actuellement, le tuto est valable pour ownCloud v4.5.x . J’ai jeté un rapide coup d’oeil aux sources de la v5, et un certain nombre de fichiers, fonctions, chemins… ont changé.

      Je compte mettre à profit ma permanence C2i de demain soir pour essayer d’adapter ce tuto à la v5, et si ça fonctionne, je posterai un lien vers le nouveau how-to.

      Bonne soirée à toi, et… stay tuned :mrgreen:

      Réponse
      • 19 mars 2013 à 9 h 36 min
        Permalink

        Merci Maxime !

        J’ai hâte de te lire !! 😉

        Bonne journée et bonne permanence…

        ++

        Réponse
  • 19 mai 2013 à 18 h 59 min
    Permalink

    Bonjour,

    J’ai bêtement fait la mise à jour en 5.0.6, et en appliquant le tuto, j’ai l’erreur suivante :
    Fatal error: Class ‘OC\Files\Storage\OC’ not found in /homez.131/fcoulier/www/owncloud/lib/files/storage/local.php on line 10

    (à noter, local.php et local_ovh.php sont dans /lib/files/storage/, pas dans /lib/filestorage/)

    Je ne comprends pas bien cette erreur..

    Une idée ?

    François
    P.S.: Comme workaround, je commente
    //include(OC::$SERVERROOT.’/lib/files/storage/local_ovh.php’);
    et
    //return ovh_free_space($this->datadir.$path);

    que je remplace par
    return disk_free_space(‘/’);

    mais j’ai conscience que c’est pas top…

    Réponse
    • 19 mai 2013 à 19 h 30 min
      Permalink

      Bonjour,

      ce tutoriel n’est valable que pour les version 4.5.x de ownCloud. Je te propose de jeter un œil au tutoriel pour la version 5 : le lien se trouve dans la première « boîte » en haut de cette même page.

      Pense à sauvegarder tes données, au moins le dossier de ton compte ownCloud, pourquoi pas via FTP.

      Tiens-moi au courant 🙂

      Réponse
  • Ping : Installer Owncloud 5 sur un hébergement OVH mutualisé | Thomas Durin

  • Ping : [Tuto] ownCloud 7 sur un mutualisé OVH | Open-Freax

Laisser un commentaire

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