Drupal/Logiciels d'appui pour Drupal
Dans ce chapitre nous abordons la configuration des logiciels nécessaires au fonctionnement de Drupal :
Installation d'Apache pour Linux.
À titre d'exemple, nous utilisons une distribution GNU/Linux Debian 3.1 "Sarge", équipée de l'image d'installation minimale. Cette machine est appelée "Debian" et est installée en "intern.exemple.be" qui est un sous-domaine de "exemple.be". À la fin de ce chapitre, nous parlons aussi des installations WAMP.
Configuration Apache.
Apache2.
À l'heure où nous rédigeons ces lignes, la version d'Apache proposée par Debian est la version standard Apache2.
Installation site unique.
Drupal permet de gérer plusieurs sites avec un seul script Drupal commun à tous les sites, on parle alors de "multi-sites". Au contraire, le terme "site unique" fait référence à l'installation d'un seul site utilisant le script Drupal.
Apache2 simplifie grandement l'installation d'un site unique avec Drupal. Pour un site unique, il suffit d'éditer les fichiers d'installation présents.
Ouvrez le fichier "/etc/apache2/sites-enabled/000-default" et recherchez la ligne de configuration pour "DocumentRoot". Modifiez le contenu en complétant l'emplacement où vous installerez ensuite Drupal. Pratiquez de-même pour la création de la directive "Directory". Complétez une adresse valable pour le gestionnaire du site et permettez que "index.html" et "index.php" soient pris en compte comme page de démarrage des répertoires. Dans notre exemple cela donne :
Les instructions adaptées ont été mises en gras. Vous pouvez laisser le reste de ce fichier inchangé. Assurez-vous que le nom d'hôte "drupaltest" est bien connu de votre système (par exemple qu'il est déclaré au niveau du DNS ou qu'il est enregistré dans "/etc/hosts", voir Les services de nommage).
Redémarrez Apache :
codice_1
Installation multi-sites.
Concernant l'installation multi-sites.
Par rapport à Apache 1.3, la configuration d'Apache2 pour l'installation multi-sites est un peu plus complexe car la configuration des hôtes virtuels est scindée en plusieurs fichiers.
Les points à retenir :
Configuration des hôtes virtuels.
Pour chaque site que vous voudrez présenter à l'aide de Drupal, créez un fichier dans "/etc/apache2/sites-available". Choisissez un nom qui soit significatif pour vous, car vous serez le seul à le voir. Nos sites virtuels s'appellent de manière peu originale "site-1" et "site-2". Le fichier de configuration du "site-1" est "site-1" et ressemble à ce qui suit :
Pour créer ce fichier, vous pouvez vous baser sur une copie du fichier "default". Les modifications qui y ont été apportées apparaissent en gras ci-dessus. Nous les listons à nouveau ci-dessous :
domaine.be versus www.domaine.be.
Lorsque vous désirez que vos visiteurs puissent se rendre sur votre site, que le nom soit précédé de "www" ou pas, faites une configuration comme celle qui suit :
À part ça, il ne vous reste qu'à configurer le DNS. Dans Drupal il ne faut rien configurer, il faut simplement créer les liens symboliques comme décrit ci-dessous.
Créer des liens symboliques.
Créez un lien pour chaque site dans "/etc/apache2/sites-enabled" :
Laissez tel qu'il est le lien "000-default" qui envoie vers "/etc/apache2/sites-available/default".
Redémarrer Apache.
Quand vous avez terminé, rechargez la configuration :
Si tout se passe bien, cette commande ne cause aucune erreur et les fichiers de "log" de vos hôtes virtuels sont créés dans "/var/log/apache2".
Apache 1.3.
Installation d'un site unique.
Choisissez l'installation d'un site unique si vous ne voulez présenter qu'un seul site Web avec Drupal.
Éditez le fichier "/etc/apache/httpd.conf" et adaptez les instructions suivantes :
Redémarrez Apache :
Installation multi-sites.
Choisissez l'installation multi-sites si voulez présenter plusieurs sites Web en une seule instance Drupal. Nos sites de démonstration portent les noms "site-1" et "site-2".
Allez à la section "Virtual Hosts" dans "/etc/apache/httpd.conf". Modifiez les points suivants :
Redémarrez Apache :
codice_2
Vérifiez que les fichiers de "log" de chaque site sont créés en "/var/log/apache". Si tout est en ordre, cette commande ne cause aucune erreur.
Configuration MySQL.
Installation de mysql-common et de mysql-server.
L'installation minimale de Debian ne contient pas MySQL. Vous installez le logiciel (package) simplement, utilisez la commande "apt-get" en tant que "root" ou via "sudo" :
La machine doit connaître son propre nom d'hôte, sinon MySQL ne fonctionne pas. Vous pouvez tester si c'est le cas à l'aide de la commande "hostname". Si cela vous donne le nom de la machine, alors, tout est en ordre. Si ce n'est pas le cas, éditez "/etc/hosts", ou mieux encore, la configuration de votre service de nommage, par exemple "DNS".
En fonction de la version de MySQL et de votre système d'exploitation, le mot de passe "root" de votre serveur MySQL est spécifié pendant l'installation ou plus tard. S'il n'est pas demandé au cours de l'installation du logiciel, proposez ensuite le mot de passe de la façon suivante :
Vérification de l'installation.
Vérifiez que les logiciels ont été installés correctement :
Vous disposez maintenant des logiciels mysql-client, mysql-common, mysql-server et des bibliothèques connexes.
Créer la(es) base(s) de données.
Il est préférable de créer une base de données indépendante pour chaque site que vous voulez gérer avec Drupal. Vous pouvez le faire en tant qu'utilisateur ordinaire :
Pour l'installation multi-sites, grâce à laquelle plusieurs sites peuvent être gérés à l'aide d'une seule instance Drupal, nous avons créé également une base de données pour le "site-2".
Vérifier comme suit si la création a réussi :
Les paramètres mysql et test de bases de données sont présents en standard.
Création des utilisateurs de bases de données.
Créez pour chaque base de données un utilisateur et son mot de passe :
Maintenant, vous pouvez quitter "MySQL monitor" :
Configuration PHP.
Mémoire.
Plus vous activez de modules dans Drupal, plus il faudra de mémoire disponible pour vos applications PHP. En standard, elle est limitée à 8 Mo, comme mesure minimale de sécurité : par conséquent on ne peut exécuter de programme trop volumineux (ou des programmes malveillants), et si il se fait qu'une erreur se glisse dans le code PHP, alors PHP ne prendra pas toute la mémoire du système.
Si vous dépassez les 8Mo (ce qui peut arriver rapidement), vous aurez un message "Zero Sized Reply" quand vos modules tenteront de fonctionner. Pour éviter que cela n'arrive, le mieux est de dédier préalablement suffisamment de mémoire à PHP. Vous pouvez le faire dans le fichier "php.ini", qui se trouve dans "/etc/php4/apache/" ou "/etc/php4/apache2". Recherchez la ligne qui commence par "memory_limit" et modifiez la de la manière suivante :
Ajoutez de préférence une ligne de commentaire qui explique pourquoi cette instruction a été modifiée, par exemple :
(Télé)Chargement de fichiers.
Si plus tard vous souhaitez télécharger les traductions en néerlandais et/ou en français de Drupal, vous devrez autoriser le téléchargement dans la configuration de PHP. Prenez, de nouveau, le fichier "php.ini" et recherchez la ligne qui commence par : "file_uploads". Par défaut, cette variable a la valeur "Off". Activez cette fonctionnalité :
Ajoutez, à nouveau, une ligne de commentaire qui explique pourquoi vous avez apporté cette modification :
Installation du module MySQL.
Il se peut que le logiciel "php4-mysql" ne se trouve pas par défaut sur votre système. S'il est manquant installez-le de la façon suivante :
Vérifier que l'ensemble des logiciels dont vous avez besoin sont présents :
Activer les modifications.
Pour que les changements dans la configuration de PHP soient pris en compte, redémarrez Apache. Comme "root" ou via "sudo" :
Les services de nommage.
/etc/hosts.
Tant que vous travaillez en local, utilisez le fichier "/etc/hosts" comme service de nommage. Il suffit alors d'ajouter le nom votre machine derrière son adresse IP. Par exemple, pour l'installation d'un site unique, vous obtenez ce qui suit :
Pour une installation multi-sites, vous placez tous les noms d'hôtes virtuels derrière le "nom réel" de votre machine :
Configuration DNS.
Comme exemple d'une configuration DNS nous donnons ci-après les lignes concernant "BIND" qui ont été ajoutées pour notre application dans le fichier "db.intern.exemple.be" dans "/var/named". Pour une installation d'un site unique, ajoutez un "A record" :
Pour une installation multi-sites ajoutez pour chaque hôte virtuel un "CNAME" :
N'oubliez pas de configurer les recherches inverses, dans le fichier "db.192.168.204" de notre exemple, qui est le fichier qui contient les infos pour le sous-réseau "192.168.204.0" :
Ici nous déclarons que l'adresse IP "192.168.204.12" est lié au nom spécifié.
Pour le cas décrit dans "domaine.be versus www.domaine.be", il faut créer deux "A records" : l'un pour "www.domaine.be" et l'autre pour "domaine.be". Les deux pointent vers l'adresse IP du serveur web.
Quand la configuration est terminée, vous pouvez de nouveau l'enregistrer:
Pour d'autres serveurs DNS que "BIND", reportez-vous à la documentation proposée. Dans les grandes sociétés, le service DNS est souvent offert par le département réseau.
Résumé.
Dans ce chapitre, nous avons passé en revue les applications utilisé par Drupal :
Si tous ces points sont en ordre, vous pouvez commencer l'installation de Drupal.