Configuration d'apache2

Apache2, qu'est ce que c'est que cette histoire de cowboy?

Apache2 est un serveur HTTP, c'est à dire un module chargé de recevoir et de renvoyer des données selon le protocole HTTP. En d'autres terme, le navigateur internet de l'internaute envois des requêtes à apache2 et en retour apache2 renvoie les données des pages à afficher du site internet que l'internaute est en train de consulter.

Configuration d'apache2

Le fichier de configuration d'apache2

le fichier de configuration d'apache2 se trouve ici : /etc/apache2/apache2.conf

Il peut contenir des inclusions vers d'autres fichiers de configurations secondaires (Include) donc si vous ne trouvez pas certains éléments dans apache2.conf il va falloir chercher dans les fichiers inclus.

Sauvegarde du fichier de configuration

Il est préférable de sauvegarder du fichier de configuration d'apache2 en cas de problème.

cp -i /etc/apache2/apache2.conf /etc/apache2/apache2.conf_BACKUP

Vérification de l'inclusion des virtualhosts

Nous verrons plus tard ce que sont des virtualhosts, mais vérifier ce paramètre de configuration:

nano /etc/apache2/apache2.conf

# include the virtual host configurations
Include /etc/apache2/sites-enabled/[^.#]*

ATTENTION! Dans, certaines versions d'apache, vous trouverez ceci :

nano /etc/apache2/apache2.conf

IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf

Personnellement je préfère écrire ceci :

nano /etc/apache2/apache2.conf

IncludeOptional conf-enabled/*
IncludeOptional sites-enabled/*

Vérifiez les utilisateurs et groupes d'apache

Vérifiez également ces paramètres de configuration:

nano /etc/apache2/apache2.conf

User=www-data
Group=www-data

Mais il se peut que ces directives soit paramétrées avec les variables d’environnement apache (envvars):

nano /etc/apache2/apache2.conf

# These need to be set in /etc/apache2/envvars

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
nano /etc/apache2/envvars

export  APACHE_RUN_USER=www-data
export  APACHE_RUN_GROUP=user-data

Vérifiez la directive DirectoryIndex

On choisit quels fichiers seront interrogés par défaut lorsque vos internautes voudront afficher la page de votre site http://www.example.com/

nano /etc/apache2/mods-enabled/dir.conf

DirectoryIndex index.html index.php index.htm index.xhtml

Et on redémarre apache2

/etc/init.d/apache2 restart

Mise à jour de Apache, de la version 2.2 vers la version 2.4

Pour savoir quelle version d'apache a été installée:


apachectl -V


Quelques petits changements notables et important pour la mise à jour de la version 2.2 vers la version 2.4:

Dans la version 2.2, il fallait écrire:


#Dans cet exemple, il n'y a pas d'authentification et toutes les requêtes sont rejetées :

Order deny,allow
Deny from all

Et ce qui est à remplacer dans la version 2.4 par


#Dans cet exemple, il n'y a pas d'authentification et toutes les requêtes sont rejetées :

Require all denied

Dans la version 2.2, il fallait écrire:


# Dans cet exemple, il n'y a pas d'authentification et toutes les requetes sont acceptees :

Order allow,deny
Allow from all

Et ce qui est à remplacer dans la version 2.4 par


# Dans cet exemple, il n'y a pas d'authentification et toutes les requetes sont acceptees :

Require all granted

exemple de déclaration d'un virtual host, dans la version 2.2, vous aviez:


        <Directory />
                Order Deny,Allow
                Deny from all
                Options -Indexes -Includes -ExecCGI -FollowSymlinks
        </Directory>

        <Directory /var/www/installerunserveur.com>
                Order allow,deny
                allow from all
                Options -Indexes -Includes -ExecCGI +FollowSymlinks
        </Directory>

désormais dans la version 2.4, vous devriez écrire ceci:


        <Directory />
                Require all denied
                Options -Indexes -Includes -ExecCGI -FollowSymlinks
        </Directory>

        <Directory /var/www/installerunserveur.com>
                Require all granted
                Options -Indexes -Includes -ExecCGI +FollowSymlinks
        </Directory>

Tester la configuration d'apache2

apache2ctl configtest

Activation de quelques modules utiles

Activer le module Gzip:

a2enmod deflate

Activer le module Rewrite:

a2enmod rewrite

Activer le module Expire:

a2enmod expires

Apache le site officiel

Vous trouverez toute la documentation d'apache sur http://httpd.apache.org/ , la doc est assez imbuvable mais vous devriez y jeter un coup d’œil quand même...

Vos commentaires
salamat a écrit le 31-10-2019 :

Bonjour, J'essaye d'installer un serveur Apache sur une machine sous Ubuntu Server afin de faire tourner une application (OpenPLM) de collaboration pour mes élèves de BTS, mais je n'y arrive pas. Dans la doc, tout parait simple mais ça ne fonctionne pas. Pouvez vous m'aider à configurer Apache. Merci d'avance de votre aide. Cordialement


Répondre à ce(s) commentaires(s)

Laisser un commentaire

Votre commentaire sera en attente de modération, validation NON automatique

Votre nom (obligatoire) :


Email ou site internet (facultatif) (nécessaire si vous souhaitez être prévenu d'une réponse):


Image/photo (facultatif) (JPG, JPEG, PNG ou GIF) (image de partition concernant le question par exemple):

Javascript doit être activé