Serveur LAMP (CentOS 6.5) 3/7 : Installation et configuration d’Apache

Installation d’Apache

Il nous faut installer un serveur HTTP qui va s’occuper d’afficher nos différentes pages. Pour cela, je vous propose d’installer l’un des serveurs les plus utilisés et les plus connus : Apache. Nous installerons ici sa version 2.

1
# yum install httpd

Au démarrage d’Apache, il est possible que celui-ci ne soit pas capable de déterminer un nom de domaine. Ce message sera affiché dans le terminal :

1
Démarrage de httpd : httpd : apr_sockaddr_info_get() failed for CentOS-Server httpd: Could not reliably determine the server’s fully qualified domaine name, using 127.0.0.1 for ServerName

Avant de modifier le fichier de configuration d’Apache, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ori

Pour corriger l’erreur, on édite le fichier de configuration Apache via la commande suivante :

1
# vi /etc/httpd/conf/httpd.conf

On dé-commente la ligne #ServerName www.example.com:80 (ligne 276) et on modifie le nom du serveur :

1
ServerName www.example.com:80

Par :

1
ServerName localhost

Nous allons désactiver l’affichage de la version d’Apache dans les pages d’erreurs. Nous allons modifier la ligne 44 comme suit :

1
ServerTokens Prod

Nous allons modifier la ligne 536 comme suit :

1
ServerSignature Off

Par défaut le port 80 n’est pas ouvert sur le firewall (iptables). Nous allons donc l’ouvrir via la commande suivante :

1
# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

On sauvegarde la configuration d’iptables via la commande suivante :

1
# service iptables save

On enregistre, on quitte. On redémarre Apache en utilisant la commande suivante :

1
# service httpd start

Maintenant on peut vérifier que notre serveur fonctionne bien en entrant l’adresse suivante dans notre navigateur :

http://IP_DE_VOTRE_SERVEUR/

Vous devriez obtenir le résultat suivant :

https://www.lecoindesdocs.fr/images/2013/03/24/apache_it_works_centos.png

Configuration d’Apache

Sur CentOS, le démon httpd n’est pas configuré pour se lancer au démarrage de la machine. Nous allons le configurer pour qu’il se lance à chaque démarrage via la commande suivante :

1
# chkconfig --level 23 httpd on

On créé le répertoire qui contiendra les fichiers du site web via la commande suivante :

1
# mkdir /var/www/html/monsiteweb.fr

On créé le répertoire qui contiendra les fichiers de log du site web via la commande suivante :

1
# mkdir /var/log/httpd/monsiteweb.fr

On va éditer le fichier de configuration Apache pour créer les VirtualHosts via la commande suivante :

1
# vi /etc/httpd/conf/httpd.conf

On dé-commente la ligne #NameVirtualHost *:80 (ligne 990) :

1
NameVirtualHost *:80

On se rend à la fin du fichier et on y enregistre :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<VirtualHost *:80>
    ServerAdmin postsmaster@monsiteweb.fr
    ServerName www.monsiteweb.fr
    DocumentRoot /var/www/html/monsiteweb.fr/
    <Directory /var/www/html/monsiteweb.fr/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/monsiteweb.fr/error.log
    LogLevel warn
    CustomLog /var/log/httpd/monsiteweb.fr/access.log combined
    ServerSignature Off
</VirtualHost>

On enregistre et ferme le fichier. On va créer un fichier index.html dans le répertoire /var/www/html/monsiteweb.fr via la commande suivante :

1
# echo " <h1>Nouvel espace web créé<h1> " > /var/www/html/monsiteweb.fr/index.html

On vérifie que l’on n’a pas fait d’erreur lors de la configuration de notre virtualhost via la commande suivant :

1
# apachectl -t

Si en retour on obtient un « Syntax OK », on recharge la configuration Apache via la commande suivante :

1
# service httpd reload

Afin de pouvoir accéder à votre site via l’url http://www.monsiteweb.fr, il faut ajouter une ligne au fichier hosts. Avant de modifier le fichier hosts, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/hosts /etc/hosts.ori

Pour cela on édite le fichier via la commande suivante :

1
# vi /etc/hosts

Puis ajouter la ligne suivante :

1
xxx.xxx.xxx.xxx www.monsiteweb.fr

On vérifie ensuite que le virtualhost fonctionnent en accédant à http://www.monsiteweb.fr et vous devriez voir Nouvel espace web créé