FREE, la liberté n'a pas de prix ! Nom de domaine chez OVH Get Firefox!
Installer un serveur HTTP sous Debian
par Stéphane Le Caër
20 mai 2005
Introduction

Ce document décrit l'installation d'un Serveur HTTP Apache 2.0 sur une distribution Debian GNU/Linux.

J'ai retenu ce serveur car il est tout simplement incontournable dans le monde du logiciel libre. De plus, c'est le plus répandu sur Internet.

 
 
Plan

 
Environnement

La distribution sur laquelle je me suis appuyé pour réaliser ce mémo est la Debian GNU/Linux testing "Sarge" RC3 datée du 23 mars 2005.

Cette distribution a été installée en respectant les instructions suivantes : Installer Debian GNU/Linux testing "Sarge".

 
Installer le serveur Apache

Installer le package Apache 2.0 :
# apt-get install apache2 apache2.doc

La version du package utilisé pour ce suppport est la 2.0.54-4 du 11 mai 2005.

Le daemon apache2 est lancé automatiquement.

A ce stade, le serveur http est opérationnel. Si vous accédez à l'interface http du serveur avec un navigateur web, vous obtenez ceci :

Reste maintenant à créer le site et à configurer le serveur.

 
Créer le site WEB

Dans mon cas le site existe déjà. Il est hébergé chez mon fournisseur d'accès, en l'occurence www.free.fr. Ma plateforme de test est sous Windows XP et je souhaite la transférer sous Linux.

Créer le répertoire qui recevra le site WEB :
# cd /var/www
# mkdir html
# chown webadmin html

Afin de transférer les fichiers, créer à partir de Windows une arhive du site au format tar avec un outil tel que 7-Zip. Soit un fichier nommé html.zip placé dans le répertoire c:\temp.

Transférer l'archive de Windows vers Linux via FTP :
C:\ftp
ftp> open 192.168.0.2
Connecté à 192.168.0.2.
220 ProFTP slc66's Server Ready
Utilisateur (192.168.0.2:(none)) : webadmin
331 Password required for webadmin.
Mot de passe :
230 User webadmin logged in.
ftp> lcd /temp
Dossier local maintenant C:\Temp.
ftp> cd /var/tmp
250 CWD command successful
ftp> binary
200 Type set to I
ftp> put html.tar
200 PORT command successful
150 Opening BINARY mode data connection for html.tar
226 Transfer complete.
ftp : 4187084 octets envoyés en 0,36 secondes à 11663,19 Ko/sec.
ftp> quit
221 Goodbye.
C:\

Extraire l'archive :
# cd /var/www/html
# tar xvf /var/tmp/html.tar
# chown -R webadmin *

 
Configurer le serveur Apache

La configuration du serveur Apache 2.0 est définie dans le fichier /etc/apache2/apache2.conf. Je n'ai personnellement pas fait de modification dans ce fichier. Mais j'ai noté que le port sur lequel le serveur écoute est défini dans le fichier inclus /etc/apache2/ports.conf.

Exemple de fichier /etc/apache2/ports.conf :
Listen 80

Le site par défaut est défini dans le fichier /etc/apache2/sites-available/default. Ce site est activé en créant un lien sur ce fichier dans le répertoire /etc/apache2/sites-enabled (ce lien est créé lors de l'installation).

Mon fichier /etc/apache2/sites-available/default :
NameVirtualHost *
<VirtualHost *>
    ServerAdmin webadmin@slc66.net

    DocumentRoot /var/www/html
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        # This directive allows us to have apache2's default start page
        # in /apache2-default/, but still have / go to the right place
        # RedirectMatch ^/$ /apache2-default/
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128 192.168.0.0/255.255.255.0
    </Directory>

</VirtualHost>

Remarque :
Les modifications faites sur le fichier d'origine sont mises en évidence en rouge.

Recharger la configuration :
# /etc/init.d/apache2 reload

 
Configurer le pare-feu

Pour qu'un client HTTP puisse accéder au serveur, il faut ouvrir le port 80.

Exemple de configuration d'un routeur Netgear RP614v2 :

 
Liens

 
Historique

Version Date Commentaire
1.0 20/05/2005 Version initiale
1.1 21/05/2005 Correction d'une coquille qui c'était glissée dans la configuration du pare-feu.
     

 
  Get Firefox