LAMP sous Ubuntu
Configuration de LAMP
Configuration de LAMP
Dans cette partie, nous verrons comment configurer les fichiers /etc/hosts, ainsi que l’utilisation des commandes telles que a2ensite et a2enmod ou les répertoires *-available et *-enable. Pour cela nous baserons, nos exemple sur des Hôtes Virtuels (ou VirtualHosts). Le serveur web Apache 2 est effectivement capable de gérer plusieurs arborescences web grâce à cette notion d’Hôtes Virtuels. Il existe plusieurs méthodes afin de créer des Hôtes Virtuels :
- Les Hôtes Virtuels basés sur l’adresse IP.
- Les Hôtes Virtuels basés sur le numéro de port.
- Les Hôtes Virtuels basés sur le nom.
Pour l’exemple, nous utiliserons ici des hôtes virtuels basés sur l’adresse IP. Pour cela le serveur doit être doté de plusieurs interfaces réseaux ou de plusieurs adresses IP associés à une seule interface (IP-aliasing). Les systèmes Linux et notamment Ubuntu et Debian permettent d’utiliser facilement cette fonctionnalité.
Pour cela tapez la commande suivante, afin de prendre connaissance de la configuration de notre interface réseau :
sudo ifconfig
Et voici ce que nous retourne la commande :
eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
Il nous est donc indiqué que nous disposons d’une interface réseau de type Ethernet avec l’adresse IP 192.168.0.2. Maintenant pour associer une seconde adresse IP à notre unique interface réseau il suffit de taper dans un terminal :
sudo ifconfig eth0:0 192.168.0.100
Nous disposons maintenant d’une seconde adresse IP (192.168.0.100) associée à notre interface réseau. Nous allons maintenant renseigner le fichier « /etc/hosts » avec deux noms de sites (ceux de nos hôtes virtuel) associés aux deux adresses IP disponibles afin de permettre la résolution de nom :
sudo vim /etc/hosts
Voici un exemple de fichier hosts :
127.0.0.1 localhost
192.168.0.2 virtual1.com
192.168.0.100 virtual2.com
Sauvegardez et quittez. Nous devons maintenant configurer nos Hôtes Virtuels. Pour cela nous allons créer deux nouveaux fichiers dans le répertoire « /etc/apache2/sites-available ». Nous allons donc créer un fichier par site. Dans chacun des fichiers de configuration, nous devons mettre un bloc « <VirtualHost> » avec au minimum les deux directives suivantes : DocumentRoot et ServerName.
La directive DocumentRoot, à ne pas confondre avec ServerRoot, permet de déclarer l’emplacement de l’arborescence web de l’Hôte Virtuel qui sera accessible par les clients. Le nom de répertoire ne doit pas comporter le caractère "/" final.
La directive ServerName permet de définir le nom DNS du Serveur ainsi que le port utilisé par défaut. Dans le cadre d’Hôte Virtuel, on parlera de Serveurs Virtuels.
Le premier se nomme « virtual1.conf », voici le contenu minimal de ce fichier :
<VirtualHost 192.168.0.02:80>
DocumentRoot /var/www/virtual1.com
ServerName virtual1.com
</VirtualHost>
Le deuxième se nomme « virtual2.conf », voici son contenu minimal :
<VirtualHost 192.168.0.100:80>
DocumentRoot /var/www/virtual2.com
ServerName virtual2.com
</VirtualHost>
Les répertoires /var/www/virtual1.com et /var/www/virtual2.com doivent exister et bénéficier des bonnes permissions. Pour les tests, appliquez un chmod 755 sur ces répertoires.
Maintenant que nos deux hôtes virtuels sont configurés nous devons les activer à l’aide de la commande a2ensite (Apache 2 Enable Site). Celle-ci à pour effet de créer un lien symbolique du fichier de configuration précédemment crée qui sera placé dans le répertoire /etc/apache2/sites-enabled. Dans un terminal, tapez les deux commandes suivantes :
sudo a2ensite virtual1.conf
sudo a2ensite virtual2.conf
Enfin
pour que toutes ces modifications soient prises en compte par le serveur web,
tapez la commande suivante afin de recharger la lecture de tous les fichiers
de
configuration.
sudo /etc/init.d/apache2 restart