Vous êtes ici

Préparer son installation

Vous avez 30 secondes ?
S'abonner au flux d'actualités
Rubrique: 
Pratique
Difficultée: 
Facile
Dans cet article, nous allons voir diverses opérations de préparation de votre installation Drupal. Pour installer Drupal 8 de manière classique pour créer un site sur internet, aucune de ces opérations n'est nécessaire. En revanche, pour un site de test présent sur internet et dont vous voudrez limiter l'accès, vous pouvez "bloquer les moteurs de recherche" et "bloquer les visiteurs". Pour un site local, vous aurez besoin (optionnellement) "d'activer les URLs propre" mais surtout de "configurer wamp". Pour une installation avancée de Drupal pour gérer plusieurs sites à partir d'une même installation, vous découvrirez comment "préparer une installation Drupal multisite". Enfin, pour ceux travaillant en local derrière un pare-feux (au sein de votre entreprise par exemple), vous verrez comment traduire manuellement Drupal dans le cas où la procédure automatique échoue.

Bloquer les moteurs de recherche

Le fichier robots.txt fichier n'a pas besoin d'être modifié dans le cas où votre plateforme de test est locale, comme c'est le cas si vous suivez le cours de ce site. En revanche, si vous utilisez un hébergeur web comme serveur test - c'est à dire si votre site de test est accessible depuis internet - vous souhaitez certainement que Google et les autres moteurs de recherche ne le référencent pas, au moins le temps de la mise en place du site ! Pour cela, éditez le fichier robots.txt pour qu'il contienne uniquement les lignes suivantes :
User-agent: *
Disallow: /

Bloquer les visiteurs

Toujours dans le cas où vous travaillez directement sur un hébergeur web, vous pouvez n'autoriser que quelques personnes choisies à visiter votre site de test. Pour celà, vous pouvez en protéger l'accès avec un mot de passe à l'aide de quelques lignes à ajouter dans les fichiers .htaccess et .htpasswd (le second est à créer vous même). Ces fichiers devront être situés à la racine de votre site, c'est à dire directement dans le dossier de votre serveur contenant votre site drupal (les dossiers core, sites, modules, etc...). Reportez vous à l'article "Comprendre l'architecture Drupal" si vous ne vous y retrouvez pas !
Lorsque l'utilisateur cherchera à se connecter à votre site de test, il sera alors confronté à une fenêtre de connexion comme suit:
Le navigateur demande un mot de passe
Pour réaliser ceci, vous pouvez suivre le court tutoriel suivant: Protéger un dossier avec un .htaccess

Préparer l'architecture de mes sites

En ce qui nous concerne, le dossier sites est le plus important de votre installation Drupal. En effet, c'est lui qui va contenir l'ensemble de nos sites.
Comment ça de MES sites ? Tu veux dire de MON site ?
Et bien non ! Et c'est pour cela que le nom du dossier est au pluriel ! Drupal gère en effet le multi-site. C'est à dire que sur une seule et même copie des fichiers de Drupal, nous pouvons construire plusieurs sites, entièrement indépendants. L'intérêt est que vous n'avez à gérer Drupal core qu'une seule et même fois pour l'ensemble de vos sites. Imaginez que vous gériez trois sites Drupal différents sur un même serveur. Au lieu de faire un dossier par site Drupal (comme dans votre dossier www), vous pouvez créer trois dossiers dans le dossier sites de Drupal comme nous allons le voir ci-dessous. La mise à jour de Drupal core et des modules communs aux trois installations n'aura à être faite qu'une seule et même fois pour les trois sites: un gain de temps et d'effort parfois non négligeables !
 
Dans le dossier sites, vous pouvez créer les dossiers suivants :
  • all : dans ce dossier se trouveront modules, thèmes et profils communs à tous les sites de l'installation Drupal. La mise à jour d'un module ou thème commun se répercutera sur l'ensemble des sites de l'installation.
  • default : ce dossier contiendra les informations de configuration (identifiants d'accès à la base de données) définies par défaut. Chacun de vos sites peut avoir ses propres informations de configuration mais si vous n'en définissez pas, ce sont ces informations par défaut qui seront utilisées.
  • mon-site.com : en créant simplement un dossier ayant pour nom l'adresse du site à configurer (sans le http:// devant), vous pourrez configurer individuellement un site en particulier de votre installation. C'est dans ce dossier que vous placerez les modules, thèmes et informations de configuration qui lui soit propre.
Les modules se placent dans un dossier modules et les thèmes dans un dossier themes. Les dossiers modules et themes seront crées par vos soins dans le dossier correspondant à leur usage. (sites/all s'ils doivent être utilisés par tout des sites de l'installation. sites/mon-site.com s'ils ne doivent être utilisés que sur http://mon-site.com). Les informations de configurations seront quant à elles contenues dans un fichier nommé settings.php.
 
Et si je ne veux faire qu'un seul site ?
Dans ce cas-ci, pas besoin de vous embêter avec tout ça ! Placez simplement vos modules dans le dossier modules existant déjà à la racine de votre installation, les thèmes dans le dossier themes et les profiles dans le dossiers profiles. Vous pouvez laisser de côté le dossier sites !
 
Exemple :
Vous avez deux sites à votre actif :
  • www.dora.fr : site spécialisé sur Dora l'exploratrice, utilisant le thème barbie-rose.
  • www.physique-quantique.fr : site spécialisé sur votre seconde passion dans la vie, la physique quantique utilisant le thème geeky.
Les deux sites ont un livre d'or. Vous téléchargez le module livre d'or qui s'appelera pour l'exemple livredor et vous le placez donc dans sites/all/modules/livredor. La fonctionnalité de livre d'or est alors installée pour les deux sites. Elle aura par contre une apparence différente, puisque http://dora.fr utilise le thème barbie-rose qui se trouve dans sites/dora.fr/themes/barbie-rose et que http://physique-quantique.fr utilise le thème geeky placé dans sites/physique-quantique.fr/themes/geeky ! Simple non ?!
 
En résumé...
 
Si j'ai un seul site web utilisant Drupal, je n'ai rien de spécial à faire !
 
Mais si j'ai trois sites utilisant la même installation Drupal :
je crée trois dossiers dans le dossier sites, chacun ayant pour nom l'adresse du site qu'il configure ;
si deux de ces sites utilisent le module bidule, je le place dans sites/all/modules ;
si le site 1 dont l'adresse est http://truc.fr utilise le theme brilliant, je place ce thème dans sites/truc.fr/themes
 
En guise d’exercice, vous pouvez essayer de créer une installation multi-sites. Pour la suite des articles de ce site, nous continuerons cependant sur une installation classique.

Pré-configurer mon installation

Depuis un moment, nous parlons d'informations de configuration. Celles-ci sont des données qui devront être stockés dans un fichier settings.php.
Pour une installation simple, vous n'avez rien à faire : Drupal s'occupe de tout. La manipulation ci-dessous s'adresse aux configurations multi-sites.
Pour vous faciliter le travail, Drupal à créé un fichier default.settings.php qui contient déjà le code nécessaire. Préparez alors votre installation multi-site comme suit :
  • Dans sites/default, dupliquez (copier-coller au même endroit) le fichier default.settings.php.
  • Renommez la copie settings.php.
  • Déplacez settings.php dans le dossier de votre installation (dans le dossier sites/votre-site).
Exemple de création du fichier de configuration pour le site www.truc.fr

Réécriture d'URL

Voici une manipulation pour les utilisateurs d'un serveur local: nous allons activer la réécriture d'URL. Vous allez certainement avoir l'impression que l'on pinaille sur du détail, mais c'est une fonctionnalité à configurer dans notre serveur local pour que l'installation de Drupal la prenne en compte. Nous allons donc le faire dès maintenant.
Concrètement, ça sert à quoi ?
 
Le point d'entrée de Drupal est index.php, ça nous l'avons déjà vu. Lorsque vous vous rendez sur un site Drupal, par exemple sur www.axiomcafe.fr, mettons que vous visitiez l'article expliquant pourquoi le CD a pour diamètre 12 centimètres. Par défaut, l'adresse de cet article est:
Celà signifie que l'on accède au site AxiomCafe via la page d'entrée index.php. Sur cette page, nous faisons une requête "?q=" pour demander le noeud (nom technique donnée à un article par drupal, nous y reviendrons) "node" numéro 69: "/69".
 
En utilisant un serveur de type Apache, index.php est le point d'entrée par défaut d'un site. Nous pouvons donc l'omettre, ce qui donne :
 
Il est possible de réécrire dynamiquement les URL. L'option la plus simple - et celle qui est gérée par défaut par Drupal - suit le principe dit "d'URL propre". Une telle URL masquera la requête PHP pour obtenir simplement l'adresse :
 
En activant l'option d'URL propre, nous pourrons accéder à l'article de notre site via cette URL. L'intérêt est qu'elle est plus simple à donner à quelqu'un que la version compète /index.php?q=node/69 !!
 
Nous pourrons même faire mieux par la suite, en demandant l'URL :
N'est-ce pas encore plus beau. Ce coup-ci, avant même de cliquer sur le lien, vous saurez de quoi l'arricle parlera !
 
Et comment qu'on fait pour avoir cette trop bien fonctionnalité ?
 
Pour pouvoir faire cela, il faut que votre serveur soit capable de réécrire dynamiquement les URL. C'est tout prêt par défaut lorsque vous payez un hébergeur web. Mais dans notre cas, en local, WAMP n'a pas cette option activée par défaut. Pour activer l'option, il suffit d'activer le module Apache rewrite_module. Pour cela :
  • Clic gauche sur l'icône WAMP.
  • Allez dans Apache / Module Apache.
  • Cliquez sur "rewrite_module" de sorte que l'option soit activée.
 
Activer le module Apache rewrite_url.

Quelques modifs WAMP !

Il reste quelques changements à faire pour configurer WAMP dans le cadre de l'usage de Drupal en local.
 
1- De la même façon que pour le rewrite_module, activez le module php_gd2 pour la gestion des images via PHP :
  • Clic gauche sur l'icône WAMP.
  • Allez dans PHP/ PHP extensions.
  • Cliquez sur "php_gd2" de sorte que l'option soit activée.
2- Encore une fois, de la même façon activer le module php_curl :
  • Clic gauche sur l'icône WAMP.
  • Allez dans PHP/ PHP extensions.
  • Cliquez sur "php_curl" pour activer l'option.
3- Modifiez enfin le temps maximal d’exécution des scripts PHP :
  • Clic gauche sur l'icône WAMP.
  • Allez dans PHP / php.ini
  • Dans le fichier texte qui vient de s'ouvrir, changez max_execution_time = 30 en max_execution_time = 300.

Traduire manuellement mon installation Drupal

Cette étape va vous montrer comment traduire manuellement votre installation Drupal. Autrefois nécessaire dans Drupal 7, cette étape est maintenant obsolète sous Drupal 8. Vous pouvez donc la passer. Elle reste notée ici dans les rares cas d'erreur de la procédure automatique (en local derrière un proxy par exemple), vous le découvrirez lors de l'installation de Drupal.
 
Par défaut, Drupal et son installation sont en anglais. Toutefois, il est possible de traduire votre site en français ou dans tout autre langue souhaitée.
 
Si vous souhaitez configurer manuellement une autre langue que l'anglais en traduisant Drupal dans son intégralité, y compris l'installation, il vous faudra effectuer quelques manipulations :
  • Rendez-vous sur le sous-site localize de Drupal à l'adresse: http://localize.drupal.org.
  • Dans la colonne de droite, sélectionnez la langue souhaitée pour accéder à la page des traductions.
Sélectionner la langue (1) et accéder à la traduction (2)
  • Téléchargez la traduction pour votre version de Drupal
Télécharger la traduction pour la version de Drupal souhaitée.
 
Vous aurez alors téléchargé un fichier ".po" que vous placerez dans le dossier (à créer vous même) sites/default/files/translations. Un fichier ".po" est une sorte de dictionnaire de traduction qui indique que telle phrase dans une langue se traduira par telle phrase dans une autre langue. Ici, ce sont donc des phrases en anglais qui seront traduites en français. Placez le fichier de traduction dans sites/default/files/translations.
 
Placer le fichier de traduction dans sites/default/files/translations.
Notation: 
Average: 5 (9 votes)
Vous avez aimé: 

Commentaires

Bonjour,
Sous MAMP, dans une console : 
  • sudo cp /private/etc/php.ini.default /private/etc/php.ini pour créer une configuration PHP par défaut.
  • éditer ce fichier : sudo vi /private/etc/php.ini
  • décommenter en enlevant le ;  devant les lignes concernées dans le php.ini
This post is useful!
This post is useless!

Bonjour,
 
Tout d'abord Bravo pour ce site très bien fait, clair et pédagogique. Merci à l'auteur et aux personnes qui enrichissent ce site. C'est super pour apprendre Drupal. J'en viens à ma question.
 
J'ai téléchargé drupal-8.0.0-beta11.zip, le dossier "site" contient le dossier "default", mais ne contient plus le dossier "all". Est-ce que cela signifie, qu'avec cette nouvelle version, dans le cas de multi-sites les installations de modules et themes doivent se faire ailleurs ou faut-il créer les dossiers "all/modules" et "all/themes" sous le dossier site pour l'emplacement des modules et thèmes s'appliquant à tous les sites ? 
 
Cordialement.
Jean-Marc.
This post is useful!
This post is useless!

Jean-Marc

Bonjour,
Merci pour votre soutient !
Dans Drupal 8, il est toujours possible de placer vos modules dans sites/all/modules. 
Toutefois, la nouvelle convention est de placer les modules accessibles sur tous vos multisites dans le dossier /modules à la racine de Drupal 8.
 
1
This post is useful!
This post is useless!

Version:1.0 StartHTML:0000000167 EndHTML:0000001411 StartFragment:0000000454 EndFragment:0000001395
P { margin-bottom: 0.21cm; }

Bonjour,

 

J'essaie de transposer ce que lis sur cette page en tentant de faire l'équivalent avec MAMP.

Pour WAMP, il avait été précisé que le contenu du dossier drupal (et non le dossier) devait être dans www.

J'ai donc mis le contenu de drupal dans MAMP/htdocs

Pourtant dans l'exemple ci dessus sur cette page, le contenu du dossier drupal est dans un dossier intermédiaire 'TutoDrupalAddict' =>faut il forcément, de la même façon, créer un dossier intermédiaire dans htdocs ? J'ai tenté, mais quand je lance http://localhost/TutoDrupalAddict, la page install.php qui s'affiche est entièrement blanche. Je n'arrive donc pas à configurer drupal.

Par ailleurs, je n'arrive pas non plus à éditer le fichier php.ini dans une console "terminal" pour activer php_gd2 et php_curl (j'avoue être un peu novice dans l'utilisation du terminal)

D'avance merci pour votre aide

This post is useful!
This post is useless!

Bonjour,
Je vous ai indiqué hier ce tutoriel MAMP: 
Il indique que le dossier dans lequel placer vos sites est le dossier Sites de votre répertoire personnel. Je ne peux vous en dire plus n'utilisant pas de mac moi-même.
 
En local, je vous conseille de placer votre site dans un sous-dossier de Sites afin d'avoir la possiblité de travailler sur plusieurs projets. Tout comme indiqué dans le tutoriel.
Il est indiqué de dézipper le contenu du dossier drupal à la racine dans le cas, je cite "Si vous utilisez un hébergeur". Dans ce tuto, j'ai crée un dossier "TutoDrupalAddict" qui représente cette racine.
 
Le fichier php.ini est un simple fichier texte. Si vous n'arrivez pas à utiliser la console, n'hésitez pas à utiliser un simple éditeur de texte (pas un traitement de texte attention).
 
Avez-vous fait le test du HelloWorld en php tel qu'indiqué ici ? :
This post is useful!
This post is useless!

Bonjour,
 
Après avoir créer mon site en local, je galère depuis plusieurs jours pour installer drupal 8 en ligne.
 
Pour supprimer le message d'erreur :  \"Your PHP installation is too old. Drupal requires at least PHP 5.5.9. See the system requirements page for more information.\"
L'hebegeur m'a fait ajouté au .htaccess la ligne
AddHandler php55-fcgi .php
Maintenant c'est à un message d'erreur concernant "NativeSessionStorage", que je suis confronté (message décrit en détail plus bas).
Hosteur me dit qu'il s'agit d'un problème de développement de drupal.
Je ne trouve rien dans les forum drupal.
Quelqu'un peut-il m'aider ???
Merci D'avance.
 
Info de configuration :
Drupal 8.0.0-beta14 du 3/8/2015 (dernière versoin disponible)
Hébergeur : Hosteur
PHP 5.5.13
Web server: apache 2.2.27
 
Etape consernée :  install site
Message erreur :
Warning: session_start(): Cannot find save handler 'memcache' - session startup failed in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 148 of core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php).
Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
Drupal\Core\Session\SessionManager->startNow()
Drupal\Core\Session\SessionManager->save()
Symfony\Component\HttpFoundation\Session\Session->save()
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)
The website encountered an unexpected error. Please try again later.
RuntimeException: Failed to start the session in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 149 of core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php).
Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
Drupal\Core\Session\SessionManager->startNow()
Drupal\Core\Session\SessionManager->save()
Symfony\Component\HttpFoundation\Session\Session->save()
install_run_task(Array, Array)
install_run_tasks(Array)
install_drupal(Object)
This post is useful!
This post is useless!
Marjorie
Portrait de Hana

Bonjour, Au début j'ai pensé de créer un seul site, c'est pour cela que je n'ai pas préparé l'architecture pour un multi-site et j'ai déjà installé et configuré mon site Drupal 8. Comment je fais maintenant pour pouvoir construire plusieurs sites? dois-je tout refaire? merci d'avance
This post is useful!
This post is useless!
Portrait de Hanah

Bonjour Dominique, En fait je suis entrain de regarder comment rendre mon site multilingue sous Drupal 7 (j’ai besoin d’avoir le contenu de mon site en allemand et en anglai). J’ai installé les modules nécessaires (Local, content translation, variable) et j’ai choisie d’afficher le contenue en fonction de mon nom de domaine (exp : monsite.fr, monsite.com, monsite.de). Après avoir fait cette étape et enregistrer drupal ne trouve plus les pages (meme les pages d’administration...) Il m’ajoute le prefixe fr dans la barre d’adresse…est ce que je dois opter lors de l’installation de Drupal pour le multi-site cvd je dois préparer dés le début mon architecture de tel sort d’avoir monsite.fr, monsite.com, monsite.de dés le début ? et comme ça j’aurai pas cette erreur ? Désolé si la question se reporte sur drupal 7, comme les modules concernant le site multilingue pour D8 sont encore en cour de développement. J’ai une autre question, j’ai installé D7.42 et j’ai testé plein de truc, il y a des trucs qui marchent très bien et d’autre non et j’ai l’impression d’avoir gâcher des trucs Et comme il y a mnt la version D7.43, j’ai pensé d’ au lieu de faire une mise a jour je vais installer la nouvelle version à coté de l’ancienne (sous wamp. J’ai déjà D8 dans le m endroit que D7.42 ). Est-ce que vous me conseiller de faire ça ? Merci de votre reponse
This post is useful!
This post is useless!

Bonjour,
Vous allez beaucoup plus galérer en multilingue avec Drupal 7 que Drupal 8 !!
Si vous avez fait une installation multi-site, vous avez configurer votre site à la base dans:
sites/monsite.fr/...
Or comme vous chercher la langue allemande dans mondesite.de, Drupal cherche
sites/monsite.de/... 
si il n'existe pas, il cherche:
sites/default/...
si lui non plus n'est pas configurer pour être un site valide, c'est mort !
Il vous faut: soit utiliser le préfixe d'URL: de.monsite.fr
Soit basculer l'install de monsite.fr vers default
This post is useful!
This post is useless!