
Installation et Configuration du serveur Apache 2 sur Debian Squeeze
Après avoir créer un serveur Debian, on peut vite se retrouver dans une situation de vouloir héberger un petit site de test, voir un blog tel que celui-ci.
Par conséquent, dans ce cas on a souvent recours au serveur web Apache. Pour commencer comme d’habitude, il faut installer le package correspondant.
1 2 |
apt-get update apt-get install apache2 |
Dès maintenant, le site situé dans le répertoire /var/www/ peut accueillir des sites HTTP. Si vous voulez exposer le site à l’extérieur de votre réseau, il faudra penser à ouvrir et router le port 80 de votre box sur ce serveur web, et il faudra disposer d’une adresse ip fixe ou d’un serveur de type. Si vous avez nom de domaine chez OVH, il sera possible de mettre à jour l’adresse IP dynamiquement (voir article ici).
Si l’on veut créer un blog type WordPress, cela ne sera pas suffisant. Il faudra installer aussi PHP et MYSQL. Un article sera consacré pour ce sujet.
Il est conseillé de ne pas mettre de site web à la racine du serveur web (/var/www), mais il est plutôt conseillé de créer des sites virtuels (“VirtualHost”).
Pour cela, il faut commencer par activer les Hôtes virtuels afin d’héberger plusieurs domaine sur la même adresse IP.
1 2 3 4 5 6 |
if [ -z "$(command grep 'NameVirtualHost.*:80' /etc/apache2/ports.conf)" ]; then command sed -i -e '/Listen[\t ]*80/i NameVirtualHost *:80' '/etc/apache2/ports.conf' fi if [ -z "$(command grep 'VirtualHost[ \t]*\*:80' /etc/apache2/sites-available/default)" ]; then command sed -i -e 's/\(VirtualHost[ \t]*\*\)>/\1:80>/g' -e 's/^\(NameVirtualHost.*\)$/#\1/g' '/etc/apache2/sites-available/default' fi |
Activation du module rewrite ( réécriture d’URL), puis rechargement de la configuration.
1 2 |
a2enmod rewrite service apache2 force-reload |
Sécurisation du serveur:
Afin de sécuriser un minimum le serveur, il est possible de configurer l’outil fail2ban contre les attaques. Installation de fail2Ban dans le cas où il ne serait pas déjà installé.
1 |
apt-get install fail2ban |
Création du fichier “jail.local” dans /etc/fail2ban/ ,puis ajouter les informations suivantes :
1 2 3 4 5 6 7 8 |
[apache] enabled = true [apache-noscript] enabled = true [apache-overflows] enabled = true |
Puis redémarrer le service:
1 |
service fail2ban restart |
Pour finir, modifier les informations suivantes dans le fichier security dans /etc/apache2/conf.d/
1 2 |
ServerTokens Prod ServerSignature Off |
Et ajouter les informations suivantes à la fin du fichier:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# # Limit access to SVN informations. # <directorymatch ".*\.svn"> Order allow,deny Deny from all Satisfy All </DirectoryMatch> # # Block bad user agents. # <Directory /> <IfModule mod_rewrite.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </ifModule> </Directory> |
Création d’un site virtuel:
Pour créer un nouveau site virtuel, commencer par créer un répertoire pour accueillir le site web (/var/monsite dans mon exemple)
Ensuite, créer le fichier “exemple.monsite.fr” dans le répertoire /etc/apache2/sites-availables
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<VirtualHost *:80> ServerName exemple.monsite.fr <Directory /> Options FollowSymLinks AllowOverride None </Directory> ErrorLog ${APACHE_LOG_DIR}/exemple.monsite.fr-error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/exemple.monsite.fr-access.log combined # The root folder of this virtual host. DocumentRoot /var/monsite <Directory /var/monsite> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> |
Ensuite, activer le site avec la commande suivante, puis recharger Apache.
1 2 |
a2ensite exemple.monsite.fr service apache2 force-reload |
Hey very nice website!! Man .. Beautiful .. Amazing .. I’ll bookmark your website and take the feeds also…I’m happy to find a lot of useful information here in the post, we need develop more techniques in this regard, thanks for sharing. . . . . .