Installation d'un serveur Web httpd Apache sous Debian

À propos...

Auteur : giminik (Matthieu PETIOT)

Date : 17/06/2005

Cet article vous guidera dans l'installation d'un serveur Web Apache avec PHP, MySQL et phpMyAdmin. Cela suppose que vous disposez d'une connexion à Internet et d'un environnement Debian Gnu Linux, si ce n'est pas le cas, voyez le tutorial d'installation de Debian Sarge par Internet.

Mise à jour des sources d'apt

Afin d'installer les paquets les plus récents, il est nécessaire de mettre à jour la liste des paquets de l'outil apt. Identifiez vous en root dans un terminal à l'aide de la commande su. Tapez ensuite apt-get update. Une fois le téléchargement terminé, vous disposez de la liste des paquets les plus récents.

Installation du serveur Apache 2

Il s'agit du serveur Web seul. Sans documentation, sans langage coté serveur, sans base de données.

apt-get install apache2

Taille totale : 5252 ko.

Vous pouvez vérifier que le serveur fonctionne en tapant http://127.0.0.1/ dans votre navigateur favori.

Installation de la documentation d'Apache 2

Cette documentation est visible depuis un dossier virtuel du serveur.

apt-get install apache2-doc

Taille totale : 14.3 Mo.

Cette documentation est visible en tapant http://127.0.0.1/manual/ dans un navigateur après avoir redémarré le serveur à l'aide de la commande /etc/init.d/apache2 restart.

Installation d'un serveur MySQL

La célèbre base de données gratuite très performante. La version 4.1 gère les requêtes imbriquées, alors pourquoi s'en priver ?

apt-get install mysql-server-4.1

Taille totale : 41.0 Mo.

Votre base de données est opérationnelle, il faut maintenant définir un mot de passe pour le super utilisateur root afin d'éviter tout problème de sécurité.

Dans le terminal tapez mysql -u root vous êtes alors directement connecté en root sur le serveur MySQL. La première chose à faire est de créer un mot de passe.

mysql> USE mysql;
mysql> UPDATE user
    -> SET password = PASSWORD('motsecret')
    -> WHERE user = 'root';
mysql> flush privileges;

Déconnectez vous avec le commande exit; puis reconnectez vous mysql -u root -p, MySQL vous demande alors votre mot de passe.

Installation de PHP 4

PHP vous permet de générer des pages Web dynamiquement. Il s'agit d'un langage de programmation coté serveur. Il est capable d'aller chercher des informations dans la base de données MySQL.

apt-get install libapache2-mod-php4 php4-mysql php4-gd php4-cli

Taille totale : 8012 ko.

Nous avons installé le module PHP 4 pour Apache 2, un module permettant la communication entre PHP et le serveur MySQL. Les librairies de génération d'images à la volée. Un interpréteur PHP en ligne de commandes, très pratique. Pour d'autres paquets php4 à installer, faites apt-cache search php4 pour rechercher le nom du paquet correspondant à vos besoin, puis installez le si nécessaire. Voici la liste des paquets relatifs aux extensions de PHP :

Installation de phpMyAdmin

Cet outil développé en PHP vous sera très utile pour administrer et gérer vos bases de données.

apt-get install phpmyadmin

Taille totale : 9486 ko.

Ensuite vous aurez accès à phpMyAdmin en tapant dans la barre d'adresse http://127.0.0.1/phpmyadmin/ après avoir redémarré le serveur Apache.

Connectez vous en tant que root.

Panneau de connexion à phpMyAdmin.

Vous avez alors la possibilité de créer des bases de données, de gérer les privilèges, donc de créer des utilisateurs et de leur donner des droits sur ces bases... amusez vous bien.

Création d'un répertoire pour les pages personnelles des utilisateurs de la machine

Afin que chaque utilisateur du système dispose d'un espace pour héberger ses pages web, vous devrez modifier la configuration d'Apache dans le fichier /etc/apache2/apache2.conf à l'aide de vim par exemple, et ce en tant que root (commande su). Recherchez les lignes suivantes :

# UserDir is now a module
#UserDir public_html
#UserDir disabled root

#<Directory /home/*/public_html>
#        AllowOverride FileInfo AuthConfig Limit
#        Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>

Décommentez les toutes puis sauvegardez ensuite :

# UserDir is now a module
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit
        Options Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>

Pour que les modifications soient prises en compte, il va falloir redémarrer le serveur Web à l'aide de la commande /etc/init.d/apache2 restart à exécuter en root.

Maintenant chaque utilisateur a la possibilité de mettre en place ses pages personnelles. Pour celà, il lui suffit de créer un répertoire nommé public_html dans son répertoire personnel. Le répertoire personnel doit au moins être en exécution pour les autres que groupe et propriétaire. Le répertoire public_html doit être en lecture pour tout le monde.

$ cd /home/giminik/
$ mkdir public_html
$ chmod 755 public_html/
$ chmod o+x ./
$ cd public_html
$ cat > index.php
<?php phpinfo(); ?>
CTRL+D pour fin de fichier

A partir de maintenant, l'espace Web personnel est accessible à partir de l'adresse http://127.0.0.1/~utilisateur/ soit dans le cas de l'exemple ci dessus http://127.0.0.1/~giminik/.

Pour toute question, correction, envoyez moi un message privé.