Chapitre 1. Logiciels d'appui pour Drupal

Table des matières

Configuration Apache
Apache2
Apache 1.3
Configuration MySQL
Installation de mysql-common et de mysql-server
Vérification de l'installation
Créer la(es) base(s) de données
Création des utilisateurs de bases de données
Configuration PHP
Mémoire
(Télé)Chargement de fichiers
Installation du module MySQL
Activer les modifications
Les services de nommage
/etc/hosts
Configuration DNS
Installation WAMP
Résumé

Résumé

Dans ce chapitre nous abordons la configuration des progiciels nécessaires au fonctionnement de Drupal:

A titre d'exemple, nous utilisons un Debian 3.1 « Sarge », équipé 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. A la fin de ce chapitre, nous parlons aussi des installations WAMP (MS Windows, Apache, MySQL, PHP).

  • Serveur web Apache: nous commentons les versions 1.3 et 2;

  • MySQL Serveur de bases de données;

  • PHP pour la partie code;

  • Configuration DNS.

[Astuce]Les services externes

Dans le cas où vous ne gérez pas vous-même votre(vos) serveur(s), la plupart des configurations comme proposées dans ce chapitre devraient être effectuées par votre hébergeur. A titre de support, vous pouvez envoyer une copie de ce guide à votre provideur.

Configuration Apache

Apache2

Installation d'un site unique

Pendant l'installation de Debian, vous pouvez déjà choisir d'installer un serveur Web. Il vous propose actuellement la version standard Apache2. La configuration d' Apache2 simplifie grandement l'installation d'un site unique avec Drupal - ceci signifie que vous ne disposerez que d'un seul site Web. Pour un site unique vous pouvez immédiatement éditer les fichiers d'installation présents.

Ouvriez 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(s) de démarrage du répertoire de départ. Dans notre exemple cela donne:

NameVirtualHost *
<VirtualHost *>
	ServerAdmin webmaster@exemple.be
	ServerName drupaltest
	DocumentRoot /var/www/drupal
	<Directory /var/www/drupal>	
		Options Indexes FollowSymLinks MultiViews		
		DirectoryIndex index.html index.php
		AllowOverride None		
		Order allow,deny
		allow from all	
	</Directory>

Les instructions adaptées ont été mises en gras. Vous pouvez laisser le reste de ce fichier inchangé. Vérifier que le nom hôte drupaltest est connu de votre système, par exemple qu'il est déclaré en DNS ou que le système l'a enregistré en /etc/hosts, voir la section intitulée « Les services de nommage  ».

Redémarrez Apache:

debian:~# apache2ctl restart
            
[Note]Nom de domaine

Dans notre exemple le nom de domaine est « exemple.be ». Remplacez-le par votre propre nom de domaine.

Installation multi-site

Détails intéressants pour l'installation multi-sites

La nouvelle configuration Apache pour l'installation multi-sites - c'est à dire que vous pourrez gérer plusieurs sites avec une seule instance Drupal est plus complexe car la configuration des hôtes virtuels est scindée en plusieurs fichiers. En outre, vous aurez intérêt à continuer à utiliser la configuration par défaut. Les points suivants doivent être examinés:

  • Les fichiers de configuration de l'hôte virtuel se trouvent dans /etc/apache2/sites-available. Le schéma /etc/apache2/sites-enabled contient des liens symboliques vers les fichiers dans le répertoire /etc/apache2/sites-available.

  • Pour le bon fonctionnement de Apache il est préférable de conserver le fichier standard 000-default .

  • Un fichier log indépendant doit être utilisé par hôte virtuel

  • Vérifiez que chaque hôte virtuel est connu de votre service de nommage, p. ex. DNS, pour une installation fonctionnant sur Internet, ou /etc/hosts pour une installation locale. Vous trouverez davantage d'informations sur ce sujet dans la section intitulée « Les services de nommage  » .

Configuration d'un hôte virtuel

Pour chaque site que vous voudrez présenter à l'aide de Drupal créez un fichier en /etc/apache2/sites-available . Le nom n'y est pas véritablement associé dès lors, choisissez un nom qui soit significatif pour vous. 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:

<VirtualHost *>
	ServerName site-1.intern.exemple.be
	ServerAlias site-1

	ServerAdmin webmaster+site-1@exemple.be

	DocumentRoot /var/www/drupal
	<Directory /var/www/drupal>	
	Options Indexes FollowSymLinks MultiViews	
	DirectoryIndex index.html index.php
	AllowOverride None	
	Order allow,deny	
	allow from all	
	</Directory>	
	
	ErrorLog /var/log/apache2/site-1-error.log
	
	# Possible values include: debug, info, notice, warn, error, crit,	
	# alert, emerg.	
	LogLevel warn	
	
	CustomLog /var/log/apache2/site-1-access.log combined
	ServerSignature On
	
</VirtualHost>
               

Pour débuter, vous pouvez prendre une copie du fichier default . Les modifications qui y ont été apportées apparaissent en gras ci-dessus. Nous les listons à nouveau ci-dessous:

  • ServerName

  • ServerAlias

  • ServerAdmin

  • DocumentRoot et Directory: ceci pour tous les hôtes virtuels dans /var/www/drupal. Tous les sites virtuels doivent ainsi être envoyés à Drupal, qui décidera plus tard quels fichiers de quelle base de données seront traités.

  • DirectoryIndex: index.php doit être ajouté

  • error.log et access.log doivent être installés pour chaque site. Vous ne devez pas créer vous-mêmes ces fichiers, Apache règle ce problème automatiquement.

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:

<VirtualHost 81.188.4.99>
	ServerName www.exemple.be
	ServerAlias exemple.be
	DocumentRoot /var/www/drupal
</VirtualHost>

À part de ça, il ne vous reste qu'à configurer le DNS (voir la section intitulée « Configuration DNS »). Dans Drupal il ne faut rien configurer, ni faut-il créer des répertoires spéciales comme décrit ci-dessous.

Créer des liens symboliques

Créez un lien pour chaque site dans /etc/apache2/sites-enabled:

debian:sites-enabled# ln -s ../sites-available/site-1 site-1
debian:sites-enabled# ln -s ../sites-available/site-2 site-2
               

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:

debian:~# apache2ctl restart
               

Si tout se passe bien, cette commande ne cause aucune erreur et les fichiers log de vos hôtes virtuels sont crées en /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:

  • ServerAdmin: attribuez une adresse E-mail valable pour le webmaster.

  • ServerName: précisez ici l'adresse IP du serveur ou son nom.

  • DocumenRoot: /var/www/drupal.

  • DirectoryIndex: ajoutez index.php s'il n'est pas encore présent.

Redémarrez Apache:

debian:~# apachectl restart
            

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:

  • NameVirtualHost: complétez l'adresse IP de votre machine.

  • Ajoutez pour chaque site virtuel un bloc comme suit:

    <VirtualHost site-1.intern.exemple.be>
    	ServerAdmin webmaster@exemple.be
    	DocumentRoot /var/www/drupal
    	ServerName site-1.intern.exemple.be
    	ErrorLog /var/log/apache/site-1.intern.exemple.be-error.log
    	CustomLog /var/log/apache/site-1.intern.exemple.be-access.log combined
    	RedirectMatch /path url
    </VirtualHost>
    
  • Adaptez le reste du fichier en respectant les instructions de la section intitulée « Installation d'un site unique ».

Redémarrez Apache:

debian:~# apachectl  restart
            

Vérifiez que les fichiers log de chaque site sont créés en /var/log/apache. Si tout est en ordre, cette commande ne cause aucune erreur.