Apache2 est le plus connu des serveurs web sous Linux, et c'est celui que nous avons choisi à MiNET.
Si vous souhaitez l'installer, rien de plus simple:
apt-get install apache2
Et si vous allez voir le contenu de votre serveur, vous verrez qu'il marche (bravo)!
Maintenant, je souhaite changer le contenu de mon site web… Rien de plus simple, il se trouve dans /var/www. le propriétaire en est www-data, pensez donc à lui “donner” le contenu que vous ajoutez :
cp /home/benwa/index.html /var/www/ chown www-data index.html
C'est cool, vous êtes maintenant capable de rendre accessible des pages en html ! Mais ça ne casse passe pas trois pates à un lapin… Pour pouvoir utiliser des langages cool comme php et python, il va falloir installer des modules apache. On oubli pas de redémarrer apache après :p Par exemple pour php :
apt-get install libapache2-mod-php5 /etc/init.d/apache2 restart
Ah génial, je peux enfin utiliser pleins de langages différents, je vais me lacher! Je vais créer plein de sites webs! Mais attend, je vais devoir me créer un serveur web par site web?
La réponse est bien entendue non! Apache utilise les virtual hosts pour solutionner ce problème. A un virtual host correspond un site web hébergé sur ce serveur. La différenciation se fait par le nom de domaine.
Comment ça fonctionne? C'est simple, tout d'abord vous devez éditer un fichier dont le nom sera le nom de domaine associé au site dans /etc/apache2/sites-available. Ce fichier contient la conf de votre site web, et notamment le dossier dans lequel le trouver, la ou sont enregistrés les logs et le nom de domaine qui lui est associé. Vous voyez que vous avez aussi différents traitements possible en fonction des ports utilisés. Ça ressemble à quelque chose comme ceci pour bidon.fr situé dans /var/www/bidon.fr :
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@bidon.fr ServerName bidon.fr DocumentRoot /var/www/bidon <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/bidon/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Vous avez donc des sites webs disponibles, mais ce n'est pas encore pour celà qu'ils sont accessibles. Pour que ce soit le cas, il faut éditer un lien entre /etc/apache2/sites-available/bidon.fr et /etc/apache2/sites-enabled/bidon.fr, ce qui donne :
cd /etc/apache2/sites-enabled ln -s ../sites-available/bidon.fr
Et on recharge la conf du serveur apache:
/etc/init.d/apache2 reload
Pour que site ne soit plus accessible, il vous suffit de supprimer le lien.
Le même système est utilisé avec les modules apache2 ( /etc/apache2/mods-available et /etc/apache2/mods-enabled )