Drupal 8 hébergé chez 1and1 mutualisé

Soumis par GoZ le lun 29/02/2016 - 08:56

Drupal 8 hébergé chez 1and1 mutualisé

Les hébergements mutualisés sont loin d'être des foudres de guerre, et encore moins pratiques pour héberger de manière pérenne un site.

Toutefois, les prix très bas de ce type de solutions s'avèrent intéressant pour l'hébergement de petits sites ou blogs personnels.

Tandis que Drupal 7 en est à sa version 7.43 et que 1and1 propose via son App Center d'installer Drupal en version 7.39 (Oo?), leur offre mutualisé et l'intégration de PHP7 permet néanmoins l'installation manuelle d'un Drupal 8 (à jour).

1and1 Drupal 7 Outdated
1and1 propose une version de Drupal7 dépassée avec des mises à jour de sécurité en retard.

Une fois que vous avez récupéré le source de Drupal 8 et placé dans votre répertoire sur votre serveur mutualisé, allez dans votre interface 1and1 et faites pointer votre domaine ou sous-domaine sur le répertoire où ce situe les fichiers Drupal. Nous allons ensuite activer PHP7 pour ce répertoire (aide 1and1), via l'interface 1and1, aller dans Hébergement > Gérer l'espace web > Réglages PHP. Drupal fonctionne avec PHP7 et celui apporte non seulement de nettes améliorations de performances, mais embarque également chez 1and1 l'opcode opcache dont Drupal tire également parti.

Pour éviter un WSOD (White Screen Of Death), éditer le fichier .htaccess situé à la racine de Drupal et décommenter la ligne suivante :

RewriteBase /

Vous pouvez maintenant lancer l'installation du site via http://votredomaine.com/core/install.php.

Lors de l'installation, un warning précise que l'opcode n'est pas disponible. Pour l'activer, la procédure présente chez 1and1 est la suivante :

Dans le répertoire où pointe votre domaine (normalement le même que la racine Drupal), créer un répertoire .opcache. Le point devant le nom du répertoire est important car 1and1 empêche la visualisation des fichiers présents dans un répertoire commençant par un point ou des fichiers étant nommés en commençant par un point.

Toujours à la racine de votre domaine et donc à la racine de Drupal, créer un fichier php.ini et y placer les lignes suivantes pour activer opcache :

zend_extension=opcache.so; opcache.enable=1; opcache.memory_consumption=32; opcache.interned_strings_buffer=8; opcache.max_accelerated_files=3000; opcache.revalidate_freq=180; opcache.fast_shutdown=0; opcache.enable_cli=0; opcache.revalidate_path=0; opcache.validate_timestamps=2; opcache.max_file_size=0; opcache.file_cache= .../homepages/mypath/htdocs/.opcache; opcache.file_cache_only=1;

Remplacer la valeur de opcache.file_cache par le chemin vers le répertoire .opcache que vous venez de créer. Vous pouvez voir ici comment trouver le chemin complet 1and1 de votre répertoire.

Pour ma part, l'installateur de Drupal ne voyait toujours pas opcache. Un commentaire sur la page d'aide de 1and1 indiquait que pour Drupal 8, il fallait supprimer la ligne opcache.file_cache_only=1;. Cette modification n'est pas conseillé par 1and1 car cela veut dire que l'on n'utilise plus le répertoire .opcache créé mais que l'on stocke les données en RAM. Cela dit, avec ou sans cette ligne, mon installation continue a me dire que opcache est indisponible (alors qu'il est activé d'après un php info).

Cela n'empêche toutefois pas Drupal d'être installé (cliquer sur poursuivre l'installation) et de fonctionner correctement. Nous pouvons espérer que ce problème sera résolu par la suite, lorsque 1and1 aura enfin fait évolué son offre Drupal vers des Drupal 8.