Dans ce tutorial nous allons monter un serveur Web sous Linux Debian, celui-ci permettra d’héberger et de gérer vos sites web PHP / MySQL à distance, uniquement avec un accès SSH.
Vous n’avez aucunes connaissances, pas de panique, l’objectif de ce tutorial est d’apprendre a ma grand-mère à créer son site Internet sur son propre serveur, et je vous rassure, elle n’a jamais tripoté un clavier de toute son existence…
Ce tutoriel étant conséquent, il sera divisées en 4 ou 5 articles.
Pré requis
Pour réaliser ce tutorial, il est préalable d’avoir des connaissances en ligne de commande linux (Au moins les commandes basiques tels que cd, mkdir, chmod, chown…).
Disposer d’un « Serveur » tournant sous Linux (de préférence Debian), d’un « client » SSH (Comme Putty) et d’un client FTP (Comme FileZilla).
Je vous recommande également d’avoir au moins un nom de domaine pointant sur votre serveur, si vous ne voulez pas dépenser de l’argent pour un test, je vous propose de jeter un coup d’œil sur dyndns.com
Configuration du système
Votre distribution Debian est correctement installée (Pas besoin d’installer d’environnement graphique).
Ouvrez votre client SSH (Putty ou autre), et connectez-vous à votre serveur en mode root (bien que cela ne soit pas très conseillé).
Mise a jour de la distrib
Votre distribution de Debian n’est peut être pas la dernière version, nous allons donc tout mettre à jour maintenant.
Vous allez me dire : « Cyril, tu as déjà fait ce tutoriel… » En effet, j’ai déjà évoqué le sujet d’un mise à jour de la version,cependant le but de ce tutoriel est d’installer ce tutoriel de A à Z.
Nous allons utiliser le plus bel outil de Debian: apt-get
root [~] > apt-get update
puis
root [~] > apt-get upgrade
répondez oui si il vous ai demandé d’installer les dernières versions des logiciels et enfin
root [~] > apt-get dist-upgrade
Mettez tout à jour si vous en avez besoin.
Ensuite, nous allons renseigner les sources des dépôts que l’on va utiliser plus tard.
root [~] > nano /etc/apt/sources.list
Ajoutez ou décommentez les lignes suivantes:
deb http://ftp.easynet.be/ftp/debian/ etch main non-free contrib
deb http://security.debian.org/ etch/updates main contrib non-free
Vous pouvez choisir d’autres dépôts officiels.
Assurez-vous surtout de ne pas avoir uniquement la source CD-Rom comme dépot.
Après modifications du fichier sources.list, mettez à jour la liste des dépôts:
root [~] > apt-get update
Installez les librairies de bases:
root [~] > apt-get install build-essential
Partie 1
Installation et configuration d’Apache 2
Commençons déjà par installer apache2, le serveur web.
root [~] > 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. Votre navigateur affichera cela:
Voyons maintenant le fichier de configuration d’apache
Nous allons faire quelques petites modifications dans la configuration de base d’apache2:
root [/var/www] > vim /etc/apache2/apache2.conf
1) Changement du Charset
Si vous souhaitez que votre serveur web prenne en charge par défaut le charset ISO-8859-1, je vous recommande de décommenter la ligne suivante:
AddDefaultCharset ISO-8859-1
Pour cela supprimez 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] > vim /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.php
Créons notre première page
Créez un fichier index.html dans le dossier /www pour cela entrez :
root [/var/www] > vim 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 et quittez l’édition du fichier. (Rappel a propos de vim, :w pour enregistrer et :q pour quitter, on peut également combiner ces 2 commandes en écrivant :wq)
Reboot du serveur web (Apache)
Pour qu’apache prenne en compte ces modifications, nous rebootons le serveur web:
root [/var/www/] > /etc/init.d/apache2 restart
Si tout s’est correctement déroulé, vous ne devriezappercevoir ce message:
Restarting web server: apache2 … waiting .
C’est l’heure du test:
Re saisissez votre nom de domaine dans votre navigateur web favoris:
Bienvenue sur mon nouveau site!
Ca marche !
Voila votre page est en ligne
Conclusion de cette partie 1
Votre serveur apache est opérationnel, maintenant il faudra installer et configurer php et mysql !
Dans le prochain épisode, nous verrons comment installer et configurer PHP5 et MySQL.
N’hésitez pas à me poser des questions ci-dessous si vous avez la moindre question.




Jolie tutoriel qui tombe a pique mtn je suis obligé t’attendre la seconde partie qui j’espère tardera pas
Bonsoir,
Il va arriver vite, je vais voir pour demain soir.
Merci !!!
Enfin un article détaillé sur le sujet, moi aussi j’ai hâte de voir la seconde partie!
Bonjour,
J’ai un petit problème, mon fichier /etc/apache2/apache2.conf ne contient pas de ligne
#AddDefaultCharset ISO-8859-1
De plus, mon fichier /etc/apache2/httpd.conf est vide !
Je suis sous debian lenny et mon système est bien à jour.
Comment faire ?
Merci
Bonjour Maurice,
1) Si il n’y a pas de ligne AddDefaultCharset ce n’est pas grave puisque je recommandais de la commenter, ce qui revient à la supprimer.
2) C’est normal que le fichier httpd.conf soit vide, c’est le fichier ou vous ajouterez vos modifications sur la configuration actuel, par exemple si vous souhaitez rajouter ce fameux « AddDefaultCharset »
Super !
une video serait sympa ….
simple suggestion
Bonne idée.
Je fini déja les parties manquante.
Puis, pourquoi pas dans un second temps je ferais quelques vidéos.
Juste te signalé les explication ne sont pas claire, il y des information qui manque.
Pour se la meme pour le redemarage apache2 restart = erreur.
Il faut faire apache2ctl restart la sa va bien marché.
Très bon tutoriel pour les débutants comme moi, cependant il y a une petite erreur :
root [/var/www/] > /etc/init.d/apache restart
doit être remplacé par :
root [/var/www/] > /etc/init.d/apache2 restart
sinon ça ne fonctionne pas ^^
@Wiloooo
En effet, merci pour la remarque.