Configurer Apache 2.2

configuration apache

Si Apache est l’un des serveur web les plus populaire, il est aussi l’un des plus compliqué à paramétrer.
Nous allons voir ici comment régler Apache pour une utilisation standard avec PHP et Mysql.
Libre à vous ensuite de le paramétrer comme vous le souhaitez.

Prérequis : Suivez la méthode pour installer Apache, qui doit être installé et fonctionnel. Même chose pour PHP 5.

Nous allons aborder la configuration Apache pour pouvoir gérer l’ensemble de nos sites web.
La configuration Apache se fait en éditant divers fichiers, tous situés dans le dossier /etc/apache2.

Configuration des ports et des adresses

On défini sur quels ports Apache écoute.
Par défaut le port 80.

nano /etc/apache2/ports.conf

Configuration de la sécurité

On défini les options de sécurité

nano /etc/apache2/conf.d/security

ServerTokens Prod

Pour afficher : « Apache Server at 192.168.1.220 Port 80 ».
c’est ce qui sera retourné comme info. sans trop de détails. A l’inverse de la configuration par défaut : Apache/2.2.22 (Debian) Server at 192.168.1.220 Port 80

ServerSignature Off

Pour cacher complètement la signature, quel que soit le paramétrage précédent.

TraceEnable Off

Pour bloquer les requêtes “TRACE”.

Configuration du fichier principal apache2.conf

Pas de modifications pour le moment.

Configuration des langues par défaut

On défini le FR comme langue préférée :

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

Modification du vhost « defaut »

On fait une copie du site par défaut pour garder l’original et adapter à nos besoins :

cd /etc/apache2/sites-available
cp default default.ori

On édite le vhost :

nano default

On modifie les lignes avec les nouvelles valeurs.

On change l’email par défaut de l’admin.

ServerAdmin mon@email.com

On supprime l’option « Multiviews » avec un « – » devant le nom.
Multiviews permet de chercher un fichier quand l’extension n’est pas précisée. Ex: /test trouvera /test.html

Options Indexes FollowSymLinks -MultiViews

On permet la prise en compte des fichiers .htaccess.

AllowOverride All

Sécurisation SSL

Si vous souhaitez mettre en place un site en https, sécurisé par SSL, consultez le tutoriel sur la création d’un certificat Let’s Encrypt.

Création d’un utilisateur dédié au web

Dernière étape de la configuration Apache, la gestion des utilisateurs.
Il n’y a qu’un seul compte sur notre serveur. Un seul endroit où nous allons placer et modifier nos fichiers.
Comme l’utilisateur Apache www-data est un compte système, on va créer un utilisateur spécifique qui appartiendra au groupe www-data. Lui pourra éditer les fichiers, se connecter en ftp, etc…

adduser nom_utilisateur

Ensuite on attribue l’utilisateur au groupe www-data

usermod -G www-data nom_utilisateur

Modification des droits

On défini notre utilisateur comme propriétaire des fichiers / dossiers :

chown -Rf nom_utilisateur:www-data /var/www/

On défini tous les dossiers en lecture/écriture/exécution pour le propriétaire, lecture/exécution pour le groupe, et lecture seule pour les autres :

find /var/www -type d -exec chmod 750 {} ;

Même chose pour les fichiers avec lecture/écriture pour propriétaire, lecture pour le groupe, et aucun droit pour les autres :

find /var/www -type f -exec chmod 640 {} ;

Vous avez aimé cet article ? Réagissez !

Votre email ne sera pas publié. Les champs requis sont marqués d'une astérisque *