Le serveur web

Parametrer Apache

Pour parametrer Apache, vous devez vous rendre dans le dossier d'installation qui est le suivant:
Sous Debian: /etc/apache2
Sous Debian et ses dérivées, il ne faut SOURTOUT PAS TOUCHER au fichier apache2.conf car les différentes configurations sont séparées dans différents fichiers et dossiers. Pour les configurations, les fichiers sont situé dans le dossier conf-available. Pour les mods, SSL par exemple, ils se situent dans le dossier mods-available. Enfin il y a sites-available, nous en reparlerons juste en dessous il s'agit des hôtes virtuels. Pour modifier le port d'écoute de Apache, il y a un fichier appelé ports.conf situé dans le dossier apache2

Sous Fedora: /etc/httpd/conf
Ouvrez le fichier httpd.conf situé dans le dossier conf. NE PAS MODIFIER LE FICHIER !!! Ce fichier est un ensemble d'instrucions pour Apache. C'est dedans qu'il sera spécifié par exemple le port que Apache va écouter. Recherchez la ligne Listen 80. Cette ligne veut donc dire qu'Apache écoute le port 80. C'est celui par défault. Si vous souhaitez qu'Apache écoute un autre port il remplacer le 80 par le numéro du port souhaité. Contrairement à ce qui a été dit plus haut, cette modification là est autorisé mais c'est la seule.

Les hôtes virtuels:

Pour permettre à un seul et même PC d'heberger plusieurs contenus et/ou sites web, on fait appel aux hôtes virtuels. Il y a deux "sortes" d'hôtes virtuels. Les hôtes sur adresses ip et les hôtes sur les noms. Pour parametrer les hotes virtuels, rendez-vous dans le chemin suivant:
Sous Debian: /etc/apache2/sites-available
Sous Debian et ses dérivées, les hôtes virtuels sont dans le dossier sites-available et par défault il y a le fichier suivant: 000-default.conf. Si vous n'y avez pas touché, celui-ci affiche la page par défault de Apache. Si vous souhaitez garder ce fichier comme modèle et/ou "backup" vous pouvez créer un autre fichier que vous nommerez comme bon vous semble mais bien entendu avec l'extension .conf. Une fois ce fichier crée et remplis, sauvegardez-le et exécuter la commande suivante pour l'activer:


sudo a2ensite


Une fois cette commande exécutée, le terminal vous demande lequel souhaitez-vous activer. Vous répondrez alors par le nom du fichier que vous avez crée sans écrire l'extension .conf

Et au cas ou vous en aurez besoins, voici la commande pour désactiver un fichier:


sudo a2dissite


Sous Fedora: /etc/httpd/conf.d
Sous les plateformes RedHat (Fedora, CentOs, OpenSuse, etc, ...), avec la configuration par défault, le fichier des hôtes virtuels n'existe pas. Nous devons le créer. Il faut savoir que les fichiers situés dans le dossier conf.d sont éxécutés dans l'ordre alphabétiques. Donc le nom de votre fichier d'hôtes virtuels doit commencer par une lettre avant w afin qu'il sois exécuté avant welcome.conf car celui-ci est le fichier qui vous affiche la page par défault. Si vous voulez qu'il s'appel zozo.conf par exemple, nommez ce fichier 0-zozo.conf affiche la page par défault du serveur apache de Fedora.

Hôtes virtuels avec adresses ip

Pour faire un hôte sur une adresse ip, Sur la ligne <VirtualHost *:80> remplacez l'étoile par une adresse ip. Prenons pour exemple de l'adresse ip suivante 000.00.00.000 votre fichier ressemblera à ce qui suit:


<VirtualHost 000.00.00.000:80>
#ServerName example.com
DocumentRoot /var/www/html
#ServerAlias
<Directory "/var/www/html/">
Require all granted
AllowOverride all
</Directory>
</VirtualHost>


Si 80 n'est pas le port qu'écoute Apache, remplacer 80 par le port écouté. Quand le client rentrera l'url suivante:


http://000.00.00.000


Son navigateur affichera le contenu et/ou site de /var/www/html. Voilà pour les hôtes sur adresse ip.

Hôtes virtuels avec des noms

Voyons maintenant les hôtes sur les noms. C'est le type d'hôte le plus utilisé et pour cause, c'est grâce à lui que l'on va dire à Apache que l'on va afficher tel site suivant l'adresse que le client aura renseigner dans son navigateur. Toujours dans le même fichier, mettez les lignes suivantes sans oublier de modifier le port si Apache n'écoute pas le port 80:


<VirtualHost *:80>
ServerName monsite.fr
DocumentRoot /var/www/html
#ServerAlias
<Directory "/var/www/html/">
Require all granted
AllowOveride all
</Directory>
</VirtualHost>


Ceci est la configuration pour un hôte vrituel avec les noms. Tout comme pour les hôtes avec ip, vous pouvez en ajouter autant que vous le souhaitez. Attention tout de même que deux hôtes n'aient pas la même valeur dans ServerName, sans quoi, ce sera le premier hôte avec ce même nom qui sera affiché au client. Pour en créer plusieurs voici la configuration:

<VirtualHost *:80>
ServerName monsite.fr
DocumentRoot /var/www/html
#ServerAlias
<Directory "/var/www/html/">
Require all granted
AllowOveride all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName monsite2.fr
DocumentRoot /var/www/html
#ServerAlias
<Directory "/var/www/html2/">
Require all granted
AllowOveride all
</Directory>
</VirtualHost>


Avec cette configuration la, quand l'utilisiteur va rentrer http://monsite.fr, le serveur va afficher le contenu du dossier /var/www/html . Et quand l'utilisateur va rentrer http://monsite2.fr, le serveur va afficher le contenu du dossier /var/www/html2 Maintenant que nous avons parametré nos hôtes virtuels, nous devons redémarrer le serveur Apache afin que les modifications soient prises en compte. Remplacez service par apache2 sous Debian et httpd sous Fedora


sudo systemctl restart service