INSTALLATION ET CONFIGURATION D'APACHE 2 [DEBIAN]

Statut
N'est pas ouverte pour d'autres réponses.

Xavier Mustin

Administrator
Staff member
#1
INSTALLATION ET CONFIGURATION D'APACHE 2

Commençons déjà par installer apache2, le serveur web.
root [~] >
Code:
apt-get install apache2
Répondez oui pour installer les packages dépendants:
The following extra packages will be installed:
apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1
libexpat1 libmagic1 libpcre3 libpq4 libsqlite3-0 mime-support
Et voilà, apache2 est prêt à emploi ! Pour vérifier si tout s'est bien passé, ouvrez votre navigateur préféré et entrez l'IP de votre serveur. Vous devriez avoir le message suivant:
It works!

UN PETIT TOUR DANS LE FICHIER DE CONFIG D'APACHE

Nous allons faire quelques petites modifications dans la configuration de base d'apache2:
root [/var/www] >
Code:
nano /etc/apache2/conf.d/charset
1) Changement du Charset
Si vous souhaitez que votre serveur web prenne en charge par défaut le charset utf-8 ou ISO-8859-1, je vous recommande de décommenter la ligne suivante:
AddDefaultCharset UTF-8
Supprimez simplement le # devant la ligne.
Sauvegardez et quittez.

2) Fichiers index
Il faut spécifier à Apache les fichiers qu'il doit considérer comme des fichiers index et qui seront donc automatiquement appelés.
Pour faire plus propre, nous mettrons tous nos ajouts en terme de configuration dans le fichier httpd.conf automatiquement chargé par apache2.
root [/var/www] >
Code:
nano /etc/apache2/httpd.conf
Ajoutez la ligne suivante en spécifiant les types de fichier index à prendre en compte:
DirectoryIndex index.html index.htm index.xhtml index.php
Dans ce même fichier, ajoutez le reverse-DNS de votre serveur ou à défaut localhost:
ServerName debian.domain.tld
#ServerName localhost


3) Dossiers web personnels
Optionnellement, si vous souhaitez que chaque utilisateur de votre serveur linux dispose d'un espace web, vous pouvez ajouter la ligne suivante:
UserDir www
Sauvegardez et quittez.
Dans la version 2.2 d'apache, il faut activer le module userdir, tapez:
root [/var/www] >
Code:
a2enmod userdir
Ainsi vous pourrez accéder au contenu de l'espace web /home/NOMUSER/www/ à partir de l'adresse http://www.votredomaine.com/~NOMUSER/
4) Reboot du serveur web
Pour qu'apache prenne en compte ces modifications, nous rebootons le serveur web:
root [/var/www/] >
Code:
apache2ctl restart
Si tout s'est correctement déroulé, vous ne devriez avoir aucun message et votre serveur web devrait toujours être accessible.
Nous aurons sans doute à retourner dans ces fichiers de configuration plus tard, pour le moment, passons aux virtuals host.

CONFIGURATION DES VHOSTS ET RÉPERTOIRES WEB

Apache créé le dossier /var/www/ où seront stockés vos sites web.
Nous allons commencer par déplacer le répertoire par défaut d'apache qui se trouve à la racine :
root [/var/www] >
Code:
mkdir default-site
Puis modifiez le vhost par défaut en ouvrant le fichier /etc/apache2/sites-available/default.
Si le documentRoot se résume à /var/www, remplacez le par /var/www/default-site. Faire de même pour la directive Directory.
Sauvegarder et fermer ce fichier, puis ouvrez la version ssl, /etc/apache2/sites-available/default-ssl, et effectuer les mêmes changements.
Puis, déplacez le fichier par défaut dans ce nouveau dossier :
root [/var/www/] >
Code:
mv -f /var/www/index.html /var/www/default-site/index.html
Nous allons maintenant créer le répertoire où sera stocké notre site.
root [/var/www] >
Code:
mkdir lafermeduweb
J'utiliserais lafermeduweb comme nom de répertoire dans tout le tutorial, dès que vous verrez ce nom de dossier, remplacez le par le nom de votre site.
Bon, notre serveur marche bien, mais pour le moment, nous ne pouvons que y accéder à partir de son IP. Pas très pratique !
Nous allons créer des virtuals hosts dans apache pour que notre nom de domaine pointe directement sur le répertoire que nous venons de créer sur le serveur.
Créez un fichier index.html dans le répertoire que vous venez de créer.
root [/var/www/lafermeduweb] >
Code:
nano index.html
Puis mettez une balise de titre juste pour tester si la redirection du domaine est bien effectuée.
<h1>Bienvenue sur mon nouveau site !</h1>
Sauvegardez (CTRL+X, Y ou O, Entrée) et quittez l'édition du fichier.
Comment faire pour afficher l'index.html lorsque l'on entre mon domaine ?

(1) L'utilisateur va entrer l'adresse de notre site dans son navigateur.
(2) Les serveurs DNS vont être interrogés pour connaître l'IP associée
(3) Notre serveur web est interrogé
(4) Les fichiers vHosts sont analysés par Apache, s'il trouve une correspondance avec l'adresse demandée, il appelle le fichier index du répertoire associé. Et la page est affichée au visiteur.

Créer les fichiers vHosts apache

Rendez-vous dans le répertoire /etc/apache2/sites-available puis créer le fichier vHost (Pour rester clair, il est conseillé de faire un fichier vHost par domaine):
root [/etc/apache2/sites-available] >
Code:
nano lafermeduweb.net
Et entrez les lignes suivantes:
Code:
<VirtualHost *:80>
ServerAdmin postmaster [ at ] lafermeduweb.net
ServerName www.lafermeduweb.net
ServerAlias *.lafermeduweb.net
DocumentRoot /var/www/lafermeduweb/
<Directory /var/www/lafermeduweb/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ServerSignature Off
</VirtualHost>
(Remplacez le [ at ] par un @ naturellement)
Sauvegardez et quittez.
Explications

ServerAdmin S'il y'a un problème, le serveur écrit un message à cette adresse.
ServerName Le nom doit domaine que vous souhaitez associer au serveur. Il doit être dans les DNS du serveur. Si aucun nom n'est spécifié, alors le serveur tente de déduire un nom en procédant à un "lookup inverse" à partir de l'adresse IP.
ServerAlias Cette instruction permet d'ajouter d'autres domaines ou sous domaines qui prendront en compte le même fichier vHost.
DocumentRoot Le répertoire sur lequel apache redirigera les addresses spécifiées plus haut.
Directory Cette instruction permet d'ajouter des options et règles au répertoire web. Les options: -Indexes -> Permet de désactiver le listing des fichiers si un utilisateur entre le nom d'un dossier sans index dans votre répertoire web.FollowSymLinks -> Active le suivis des liens symboliques dans ce répertoire. MultiViews -> Permet de dire à apache de chercher s'il existe des fichiers du même nom dans le répertoire en cas d'erreur 404.

Notre vHost est disponible mais il n'est pour le moment pas activé. Pour l'activer, il faut créer un lien symbolique dans le répertoire des sites activés d'apache:
root [/etc/apache2/sites-available] >
Code:
a2ensite lafermeduweb.net
Et enfin, comme apache2 n'a pas pris en compte nos modifications, on le restart:
root [/etc/apache2/sites-available] >
Code:
apache2ctl restart
C'est l'heure du test !
Tapez votre nom de domaine dans votre navigateur web favoris:
It works!
Suivant votre distribution, vous pouvez retomber sur le même résultat que tout à l'heure, le domaine pointe bien sur le serveur mais pas sur le bon répertoire.
C'est normal, il faut commenter une ligne dans le vHost par défaut:
root [/etc/apache2/sites-enabled] >
Code:
nano /etc/apache2/sites-enabled/000-default
#RedirectMatch ^/$ /apache2-default/
Ajoutez un # devant RedirectMatch (Ligne 17) pour ne pas être redirigé systématiquement sur le répertoire apache2-default/
On re reboot !
root [/etc/apache2/sites-enabled] >
Code:
apache2ctl restart
Et on re test:
Bienvenue sur mon nouveau site!
Ca marche !

CONCLUSION DE CETTE PARTIE 1

Votre serveur web est opérationnel !
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut