Vous êtes sur la page 1sur 7

serveur-apache2-debian:installation-configuration-apache2

Installation et configuration de Apache2


sur serveur Debian
Sa modularité et son grand nombre de configurations possibles font d'Apache un
serveur HTTP très répandu.
Cet article à pour but de vous présenter la mise en place et la configuration
basique d'un serveur Apache2 dans sa version apache2-mpm-worker.

Pré-requis / Difficultés
Nous verrons dans ce guide l'installation de la version mpm-worker d'Apache.
C'est une version multi-thread permettant de gérer un grand nombre de connexion
avec une faible consommation de ressources.

Les lignes de commandes suivantes doivent être saisie dans un terminal en tant
que super-administrateur (utilisateur root).
Ce tuto a été testé sur les distributions Debian suivantes
Version 7 : Wheezy
Version 8 : Jessie
Version 9 : Stretch
Version 10 : Buster
Difficulté

Facile

Installation des paquets Apache2


Depuis Debian Stretch, la version mpm-worker est la version installée par défaut
sur les distributions Debian. Le paquet apache2-mpm-worker a été renommé en
apache2 depuis cette version.
Nous testons donc la présence du paquet apache2-mpm-worker et s'il est absent
nous installons le paquet apache2.

if [ -n "$(command apt-cache pkgnames apache2-mpm-worker)" ]; then


apt-get install apache2-mpm-worker
else
apt-get install apache2
fi

Activation du module mod_rewrite


Le module mod_rewrite fournit un moteur de réécriture à base de règles
permettant de réécrire les URLs des requêtes à la volée. Nous allons activer cette
extension

a2enmod rewrite

Puis nous relançons le service apache2 pour prendre en compte l'activation de


l'extension mod_rewrite.

service 'apache2' 'force-reload'

Activation des hôtes virtuels (NameVirtualHost)


Les hôtes virtuels (NameVirtualHost) permettent d'héberger plusieurs noms de
domaines sur une même adresse IP.

[[ -z "$(command grep 'NameVirtualHost.*:80' /etc/apache2/ports.conf)" ]] \


&& sed -i -e '/Listen[\t ]*80/i\
<IfVersion < 2.4>\
NameVirtualHost *:80\
</IfVersion>' '/etc/apache2/ports.conf'
default_site='/etc/apache2/sites-available/default'
[[ -e "${default_site}" ]] \
&& || default_site='/etc/apache2/sites-available/000-default.conf'
[[ -e "${default_site}" && -z "$(command grep 'VirtualHost[ \t]*\*:80' "${default_s
&& sed -i -e 's/\(VirtualHost[ \t]*\*\)>/\1:80>/g' \
-e 's/^\(NameVirtualHost.*\)$/#\1/g' \
"${default_site}"

Puis nous relançons le service apache2 pour prendre en compte l'activation des
NameVirtualHost.

service 'apache2' 'force-reload'


Voilà, le serveur HTTP est configuré à minima sur votre serveur. Si vous entrer
l'URL (Uniform Resource Locator) de votre serveur dans un navigateur, vous devez
avoir une page affichant ceci :

Configuration pour un site internet


Nous verrons maintenant comment configurer votre serveur HTTP. Dans un
premier temps, nous allons définir les variables pour configurer correctement
votre site :
NOM_SITE : Préciser le nom de domaine de votre site, ici
www1.zonewebmaster.eu.
MAIL_ADMIN : Votre adresse mail.
URI (Uniform Resource Identifier)_SITE : Chemin de l'emplacement des fichiers
composant votre site web. Vous pouvez laisser la valeur par défaut.
URI (Uniform Resource Identifier)_LOG : Chemin où sont enregistrés les
fichiers logs du site. Vous pouvez laisser la valeur par défaut.

NOM_SITE="www1.zonewebmaster.eu"
MAIL_ADMIN="webmaster@zonewebmaster.eu"
URI_SITE="/home/${NOM_SITE}/www/"
URI_LOG="/home/${NOM_SITE}/logs/"

Ensuite nous créons les répertoires et fichiers nécessaires au fonctionnement de


votre futur site et nous leurs attribuons les droits adéquats : Par défaut, les
répertoires suivants sont créés :
/home/nom_site/
/home/nom_site/www/
/home/nom_site/logs/
if [ ! -e "/home/${NOM_SITE} " ]; then
mkdir "/home/${NOM_SITE}"
mkdir "${URI_SITE}"
mkdir "${URI_LOG}"
chown www-data:www-data "${URI_SITE}"
touch "${URI_LOG}access.log"
touch "${URI_LOG}error.log"
echo "page OK" > "${URI_SITE}index.html"
chown www-data:www-data "${URI_SITE}index.html"
else
if [ ! -e "${URI_SITE}" ]; then
mkdir "${URI_SITE}"
chown www-data:www-data "${URI_SITE}"
fi
if [ ! -e "${URI_LOG}" ]; then
mkdir "${URI_LOG}"
fi
touch "${URI_LOG}access.log"
touch "${URI_LOG}error.log"
echo "page OK" > "${URI_SITE}index.html"
chown www-data:www-data "${URI_SITE}index.html"
fi

Ensuite nous créons le fichier de configuration pour Apache2, le fichier de


configuration est enregistré dans le répertoire /etc/apache2/sites-available.

echo "<VirtualHost *:80>


ServerAdmin ${MAIL_ADMIN}
ServerName ${NOM_SITE}
DocumentRoot ${URI_SITE}
<Directory ${URI_SITE}>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${URI_LOG}error.log
LogLevel warn
CustomLog ${URI_LOG}access.log combined
</VirtualHost>" > /etc/apache2/sites-available/${NOM_SITE}.conf

Puis nous activons le site :

a2ensite ${NOM_SITE}

Pour finir, nous mettons en place la rotation des logs du site


echo "
${URI_LOG}*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if /etc/init.d/apache2 status > /dev/null ; then \
/etc/init.d/apache2 reload > /dev/null; \
fi;
endscript
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi; \
endscript
}
" > "/etc/logrotate.d/${NOM_SITE}"

On recharge la configuration et c'est sensé fonctionner sans problème.

service 'apache2' 'force-reload'

Redirection des mails www-data


Nous allons rediriger les mails envoyés à l'utilisateur www-data vers le compte
root:

[[ -e '/etc/aliases' && -z "$(command grep '^www-data:' '/etc/aliases' )" ]] \


&& ${cmdProxy} sed -i -e '/^root:/i\
www-data: root' \
'/etc/aliases'

Puis nous rechargeons la liste des alias :

type -f 'newaliases' &>'/dev/null' && newaliases

Pour allez plus loin


Notes de version
[24/02/2020] : Création de l'article

Auteurs et sources
Auteur : montuy337513
Sources : Projet Apache (https://httpd.apache.org/),

Navigation
 
 
Autres liens rapides pouvant vous intéresser
A
Activer le mod_rewrite
sur Apache2
D
Déboguer les règles
RewriteRule
I
Installation et
configuration de
Apache2 sur serveur
Debian
P
Personnaliser vos
pages d'erreurs sur
Apache2
U
Un favicon unique
pour tous vos
virtualhosts Apache2

/serveur-apache2-debian/installation-configuration-apache2 - serveur-apache2-debian/installation-

configuration-apache2.txt · Dernière modification: 24/02/2020 18:27 de montuy337513

Vous aimerez peut-être aussi