Drupal en mutualisé chez OVH

La documentation Drupal 6 n'est plus maintenue et en cours de dépublication.


Consultez le guide utilisateur Drupal en français directement sur drupal.org.

Cette page vous apprendra comment installer Drupal sur l'hébergement mutualisé de OVH.

Choix du "plan"

OVH propose plusieurs formules ou "plans" dont les caractéristiques peuvent influer sur la bonne marche de Drupal. Drupal s'appuie sur une base de données (BDD) qui peut être assez lourde au fur et à mesure de l'avancement de votre site. Il est donc conseillé de prendre des formules permettant des BDD assez lourdes (> ou = 15Mo).

Quelques variables pour .htaccess pouvant être utiles

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1

Mise en place du cron (planification de tâches)

Rendez-vous dans votre manager OVH, à la section "Hébergement", "Planificateur de tâches". Cliquez sur "Création" et renseignez le formulaire avec :

  • Description de la tâche: Cron Drupal
  • Script à exécuter: /www/cron.php (en supposant que vous avez desarchivé drupal à la racine du site, dans www/)
  • Language du script: PHP ver.5
  • Logs par email: Non
  • Périodicité: cliquez sur le bouton "Tous les jours", puis sur le bouton "Toutes les heures"

Validez le formulaire : votre cron est installé !

Drupal 7

Depuis cette version, il faut ajouter un paramètre "cron_key" à l'url :

/www/cron.php?cron_key=XYZ...

On trouve la valeur de "cron_key" dans "Administration > Rapports > Tableau de bord d'administration".

Version de Drupal : 

Commentaires

Bonjour,

Faut-il modifier le script cron comme le suggère :http://guides.ovh.com/MutualiseCron
En suivant le tuto ss rien changer j'ai eu sur le log d'OVH :

Liste des executions
Description du tâche : Cron Drupal

Exécution le 2010-02-26 17:27:03 pour une durée de 6 secondes.

mais sut mon tableau de bord Drupal, la tache de maintenance cron n'a pas été lancé récemment ...

merci
bonne soirée

Ca dépend... (réponse classique ;)). Supposons que tu aie du multisite avec 100% les mêmes bases de données, alors à mon avis oui, tout le monde en profite en même temps. Si il y a des bases partagées et d'autres séparées..cela dépend de la séparation!

Quant est-il de l’execution du fichier cron.php lorsque l’on est en multisite ? Tous les sites en profitent-ils ?

Le script "/www/cron.php" sera éxécuté pour la configuration par défaut, c'est à dire pour le site qui est défini dans "sites/default/setting.php". Donc dans une configuration multisite cela ne fonctionnera pas, même si tous les sites utilisent la même base. Il faut utiliser d'autres méthodes dans ce cas (http://drupal.org/node/237503).

Chez OVH, celle-ci fonctionne :

  • Script à exécuter: www/scripts/cron-curl.sh
  • Language du script: autre

cron-curl.sh contiendra par exemple :

#!/bin/sh
# $Id: cron-curl.sh,v 1.3 2006/08/22 07:38:24 dries Exp $
curl --silent --compressed http://www.example.com/cron.php
curl --silent --compressed http://site1.example.com/cron.php
curl --silent --compressed http://site2.example.com/cron.php

Le fichier cron-curl.sh doit bien sur être rendu exécutable.

Bonjour merci pour cette réponse.

Par contre si l'on souhaite différer et avoir des crons à délais variables suivant les différents sites de l'installation multi-site, comment fait-on ? Peut-on créer différents fichiers cron-curl.sh ?

Merci.

Hello, je sais que je déterre le topic, mais il fait parti des première réponses données par google.

J'ai bataillé pour arriver à rendre le cron actif avec un serveur mutualisé chez OVH.

Donc solution valable sur drupal 7 :

http://www.yolker.be/utiliser-le-cron-de-drupal-avec-un-h%C3%A9bergement...

Recopier exactement le même code, sauf bien sur l'URL avec la clé de votre code.

Vous allez dans votre planificateur de tâches, vous mettez la cible de votre scriptcron.php

php ver. 5.3

Sélectionnez vos jours et horaires et ça roule !
Du coup dans le manager de drupal, il est bien marqué que le cron a été fait depuis 30min et non pas depuis 35h !

(je fait un peut de déterrage, mais j'en ait chier, donc autant en faire profiter...)

Petite info au cas ou cela aide qq'un :
Chez OVH, la commande wget ne permet pas d'appeler une page SSL (https://). Si vous appelez votre cron via une url de ce genre, cela ne fonctionnera pas (sans toutefois de soulever d'erreur visible dans les logs).
Pas de SSL pour les cron chez OVH!