installer-server

Ce tutoriel a pour but de vous expliquer comment configurer votre premier serveur web sur Debian. Il est destiné aux débutants mais aucune interface graphique/web comme Webmin ne sera utilisée. En effet, utiliser ce genre d’interface donne l’impression que vous gagnerez du temps, mais dans la pratique, l’utilisation de la ligne de commande reste la plus optimale.

Il est également nécessaire de savoir se connecter sur votre serveur en SSH. Pour plus d’informations, vous pouvez consulter notre wiki.
Si vous avez un VDS (serveur virtuel dédié) ou un serveur dédié, ce tutoriel est fait pour vous!

De quoi est composé un serveur web?

Un serveur web, c’est un ensemble de composants qui ont tous un rôle bien défini.
Vous avez peut être déjà entendu parler de “LAMP” qui signifie Linux, Apache, Mysql et PHP, ou de “WAMP” (Windows, Apache, Mysql et PHP), qui sont justement les composants de base pour un serveur Web.

Apache
C’est le composant essentiel. C’est lui qui va envoyer les informations au navigateur. Quand un visiteur va rentrer l’adresse de votre site, le navigateur va envoyer une requête au serveur et c’est donc lui qui va vous répondre et envoyer ce que vous allez voir sous la forme du langage html et css.

PHP
Son nom est suffisamment parlant pour savoir que c’est ce langage qui va traiter les scripts php de votre site. Les scripts php sont des scripts qui sont exécutés côté serveur. Lorsque vos pages ont du php, apache va exécuter le code php puis renvoyer le résultat.
Il existe plusieurs modes d’exécution de php. (module, FCGI…) Nous l’utiliserons en module qui  est beaucoup plus simple à configurer ce qui convient parfaitement à ce tuto.

MySQL
Mysql s’utilise en complément de php. C’est la base de données de votre site. Son rôle est de gérer la base de données dans laquelle toutes les informations stockées dans celle-ci seront lues ou écrites et traitées par php. On complétera mysql avec phpmyadmin qui est un site qui va vous servir à gérer vos bases mysql.

Ces composants sont la base d’un serveur web, il en existe bien d’autres, mais avec les trois principaux cités précédemment, vous pourrez gérer 99% des sites internet. Après les avoir définis et expliquer leurs rôles, nous pouvons commencer la partie installation et configuration.

C’est parti pour de la ligne de commande.

Première chose à faire, les mises à jour du système d’exploitation via la commande :
apt-get update && apt-get upgrade et répondez « y » à la question.
Maintenant que tout est à jour, installons tout ce qu’il faut. C’est très simple, une seule ligne de commande suffit.

apt-get install apache2 php5 mysql-server libapache2-mod-php5 phpmyadmin

La console va vous prévenir qu’il a besoin d’installer d’autres composants, indiquez lui que vous êtes d’accord avec la touche Y ou O.
Beaucoup de lignes vont défiler. Durant le processus, il vous sera demandé un mot de passe root pour mysql. Choisissez-en un pas trop simple et conservez le bien précieusement car il s’agit du mot de passe principal qui sera indispensable à la gestion de vos bases mysql. Ce mot de passe vous sera redemandé plusieurs fois, pour phpmyadmin (il s’agit d’un outil graphique servant à administrer vos bases), il vous suffit de le retaper au moment voulu.
Maintenant que tout est installé, passons à l’étape suivante : la configuration.

Indiquer à Apache les paramètres de votre site avec un “virtualhost”

Un virtualhost est, pour faire simple, la déclaration de votre site. C’est un fichier que l’on créé afin de dire à apache où se situe le site et quels sont ses paramètres.

nano /etc/apache2/sites-enabled/nom_du_site.conf

<VirtualHost *:80>
        ServerAdmin votre_mail@domaine.fr
        ServerName votre_nom_de_domaine  #sans les www
        ServerAlias www.votre_nom_de_domaine

        DocumentRoot /home/nom_du_domaine/
        <Directory /home/nom_du_domaine/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
        </Directory>
        ServerSignature Off
</VirtualHost>

En français, cela donne:

  • ServerAdmin votre_mail@domaine.fr : Le mail de l’admin du site. Il est indiqué aux visiteurs lorsqu’il y a un problème sur le serveur.
  • ServerName votre_nom_de_domaine : L’adresse principale du site
  • ServerAlias www.votre_nom_de_domaine : l’adresse secondaire du site (en général www)
  • DocumentRoot /home/nom_du_domaine/ : le chemin où le site sera stocké
  • A ce répertoire, on attribue des paramètres spéciaux (Cf prochain tutoriel) qui sont “Options Indexes FollowSymLinks MultiViews et AllowOverride All”
  • “ServerSignature Off” > Le serveur ne renvoie pas sa signature (pour plus de sécurité)

Appuyez sur CTRL + X puis sur Y ou O pour enregistrer le fichier et quittez l’éditeur de texte.

Maintenant que la configuration est effectuée, vous devrez l’activer :

a2ensite nom_du_site.conf

Créez le répertoire racine du site

mkdir /home/nom_du_domaine

Attribuez lui le bon propriétaire afin qu’apache puisse utiliser le site

chown 33.33 /home/nom_du_domaine

Puis redémarrez apache pour qu’il lise la configuration

/etc/init.d/apache2 restart

Votre site que vous devez placer dans /home/nom_du_domaine est maintenant accessible et vous pouvez désormais vous connecter à phpmyadmin avec l’adresse suivante : http://votre_domaine/phpmyadmin avec les identifiants que vous avez choisis plus tôt dans l’installation.

Il est bien sûr possible de faire beaucoup d’autres paramétrages, mais cela est déjà une bonne base et rapide à déployer.

Le prochain tutoriel abordera la question de la connexion en SSH sur votre serveur et les commandes de base : comment utiliser le protocole SSH en ligne de commande?
A suivre…