Vous sera présenté ici, la procédure d’installation Debian utilisée pour la majorité des tutoriaux présents sur ce site, ainsi que sur pas mal de serveurs.

Pré-requis :

Connaissances

  • Connaissances de base en systèmes X (Linux, Unix, *BSD …)
  • Culture générale en informatique

Matériel

  • Un pc de base ou une machine virtuelle (VMware, VirtualBox, …)
  • Un CD vierge et un graveur

Spécifications :

  • OS : Linux
  • Distribution : Debian Etch
  • Objectif : Installation d’un système Debian pour un serveur



Téléchargement :

Pour commencer il faut télécharger l’image du CD.

Nous choisirons ici le CD d’installation réseau, car il contient un minimum de packages (plus léger) et est plus transportable (Un simple CD).

Rendez vous donc sur la page de téléchargement Debian pour la Netinstall : http://www.debian.org/distrib/netinst

Choisissez ensuite l’une des images qui correspond à votre architecture :

Une fois téléchargé gravez l’iso sur un CD.


Paramètres locaux

Pour commencer il suffit d’insérer le CD dans le lecteur, puis de démarrer la machine. Le boot CD effectué l’écran suivant apparait :

Appuyez sur entrée pour continuer.

 

Choix de la langue

Afin de faciliter les recherches en cas de pépin, il est préférable de choisir la langue la plus couramment utilisée sur le web : l’anglais, afin de pouvoir se permettre un copier/coller des erreurs rencontrées; nous éviterons par la même occasion certaines erreurs de traduction :

 

Choix du pays :

On choisira ici, les Etats Unis :

 

Configuration du clavier

Nous revenons en France, pour le choix du clavier avec la configuration française (AZERTY) :

 

Choix de l’hostname :

Vous précisez ici le nom d’hôte de la machine

 

Choix du domaine

L’étape suivante consiste à choisir le domaine duquel est membre notre serveur :

 


Partitionnement

Le partitionnement est une des étapes les plus personnalisées en fonction de l’utilisation faite du système.

Ce partitionnement permet une utilisation polyvalente, mais restreinte à cause du disque de 4Go trop petit pour du long terme lors de certaines utilisations.

Initialisation de la table de partition

On choisit « Manual », afin de créer nous même la table de partition :

 

Il suffit ensuite de choisir le disque sur lequel créer la table :

 

Une validation pour la suppression des éventuelles partitions, va être demandée, si votre disque est vierge, vous pouvez répondre « Yes », autrement le choix est laissé entre vos mains.

La table est ensuite initialisée, et une nouvelle ligne est affichée sous le nom du disque :

 

Création des partitions

Faites « Entrée » pour créer votre première partition, puis choisissez la première option permettant de créer une nouvelle partition.

Un taille va vous être demandée; nous allons commencer par créer la partition /boot :

  • La partition /boot contient les données de démarrage bas niveau (Config Grub, Kernel Linux, Initrd)

100M suffiront amplement pour stocker tout ça.

 

Cette partition va être à placer en Primary et en début de disque (Beginning).

Pour terminer la configuration de celle-ci, choisissez comme point de montage « /boot »

Puis « Done setting up the partition »

On créé ensuite une nouvelle partition : la swap. Cette partition permettra de stocker la « mémoire virtuelle » sur le disque. Elle est utilisée en principe pour du secours en cas de saturation de la mémoire physique. Un serveur en temps normal ne doit pas « swapper », mais en cas de charge importante, cela évite un plantage total. Pour choisir sa taille en général il suffit de prendre le double de la capacité de la mémoire physique.J’ai ici 128Mo de mémoire physique, je vais donc créer une partition d’échange de 256Mo.

Pour la créer il faut suivre la même procédure que précédemment, sauf qu’il faut choisir « swap area » dans le menu « Use as » à la place de définir un mount point.

 

Voici la table de partition une fois terminée :

Ont donc été séparés en plus :

  • /tmp : contient les données temporaires
  • /var : contient les données variables (logs, spools …)
  • /usr : contient les données fixes (applications …)
  • /home : contient les données utilisateurs (Documents, mails, profils …)

Choisissez ensuite « Finish partitionning and write changes to disk » puis validez l’écriture des ces modifications.

 


Paramètres locaux 2

Choix de la zone de temps

Choisissez Eastern, nous modifierons ceci plus tard.

Configuration du mot de passe root

Vient ensuite la configuration du mot de passe « root », le super utilisateur Unix/Linux.

 

Création du premier utilisateur :

Il faut ensuite créer le premier utilisateur, définissez donc un login et un mot de passe à confirmer :


Installation du système

La base du système va ensuite être mise en place.

Configuration des packages :

La première partie consiste à choisir un miroir pour le dépôt de packages Debian, validez donc la première option.

Choisissez ensuite votre dépôt selon vos affinités, pour ma part je choisis le serveur « debian.ens-cachan.fr » :

 

Il faut ensuite configurer le proxy si vous devez passer par celui-ci pour sortir sur Internet :

La prochaine étape consiste à choisir les packages à installer d’office; afin de connaitre au mieux notre serveur, nous choisirons d’installer nous même les packages, et donc il faut décocher l’ensemble des « Software » :

Configuration du bootloader :

Le bootloader de Debian par défaut est Grub, si vous souhaitez l’installer dans le MBR choisissez « Yes » :

Installation Terminée :

L’installation est à présent terminée


Configuration initiale

Démarrez votre machine, vous aurez le plaisir de découvrir le chargement du nouveau système Linux.

Je pars du principe dés à présent que vous connaissez Linux sans connaitre les subtilités de Debian. Bien des tutos sur le net vous permettrons d’en savoir plus sur cet OS.

 

Configuration réseau

On commence par installer SSH :

SRV-Linux:~# apt-get install openssh-server

Puis on configure une addresse IP fixe :

SRV-Linux:~# vim /etc/network/interfaces

Par défaut l’interface eth0 est configurée en DHCP :

iface eth0 inet dhcp

Pour configurer en fixe tout ça, il faut remplacer l’instruction au dessus par :

iface eth0 inet static
address 192.168.2.110
netmask 255.255.255.0
gateway 192.168.2.1

 

Ici l’adresse IP est donc 192.168.2.110, le masque de sous réseau: 255.255.255.0 et la passerelle 192.168.2.1.

Pour appliquer ça il faut recharger l’interface eth0 comme suit :

SRV-Linux:~# ifdown eth0 && ifup eth0

Pour vérifier cette nouvelle configuration :

SRV-Linux:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:F3:D8:EB
inet addr:192.168.2.110 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef3:d8eb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:593 errors:0 dropped:0 overruns:0 frame:0
TX packets:343 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76428 (74.6 KiB) TX bytes:48248 (47.1 KiB)
Interrupt:177 Base address:0×1400

Il nous reste à configurer les DNS. Sur Debian vous pouvez les configurer dans le fichier /etc/resolv.conf.
Il faut le configurer comme suit :

On configure le domaine local :

search my-linux.fr

 

Puis les serveurs DNS par ordre de priorité :

nameserver 192.168.2.200
nameserver 212.27.40.240
nameserver 212.27.41.240

On a installé SSH, une nouvelle porte sur notre serveur qu’il faut un minimum sécuriser. Éditez donc le fichier de configuration du service :

SRV-Linux:~# vim /etc/ssh/sshd_config

Assurez vous que les paramètres suivants soient définit comme tel :

  • Protocol 2 : Force l’utilisation du SSH2
  • PermitRootLogin no : Interdit l’utilisateurroot de se connecter
  • PermitEmptyPasswords no : Interdit les mots de passe vides

Pour appliquer ces modifications:

SRV-Linux:~# /etc/init.d/ssh reload

Modification de la zone de temps

Souvenez vous de la configuration du « timezone » pendant l’installation, seuls quelques choix aux Etats Unis étaient proposés.

Pour modifier le timezone, tapez la commande suivante :

SRV-Linux:~# tzconfig
Your current time zone is set to US/Eastern
Do you want to change that? [n]: y
Please enter the number of the geographic area in which you live:

1) Africa 7) Australia
2) America 8) Europe
3) US time zones 9) Indian Ocean
4) Canada time zones 10) Pacific Ocean
5) Asia 11) Use System V style time zones
6) Atlantic Ocean 12) None of the above

Then you will be shown a list of cities which represent the time zone in which they are located. You should choose a city in your time zone.
Number: 8
Amsterdam Andorra Athens Belfast Belgrade Berlin Bratislava Brussels
Bucharest Budapest Chisinau Copenhagen Dublin Gibraltar Guernsey Helsinki
Isle_of_Man Istanbul Jersey Kaliningrad Kiev Lisbon Ljubljana London
Luxembourg Madrid Malta Mariehamn Minsk Monaco Moscow Nicosia Oslo Paris
Podgorica Prague Riga Rome Samara San_Marino Sarajevo Simferopol Skopje
Sofia Stockholm Tallinn Tirane Tiraspol Uzhgorod Vaduz Vatican Vienna
Vilnius Volgograd Warsaw Zagreb Zaporozhye Zurich

Please enter the name of one of these cities or zones
You just need to type enough letters to resolve ambiguities
Press Enter to view all of them again
Name: [] Paris
Your default time zone is set to ‘Europe/Paris’.
Local time is now: Mon Feb 9 22:40:24 CET 2009.
Universal Time is now: Mon Feb 9 21:40:24 UTC 2009.

On va synchroniser ça avec un serveur de temps (Pour prendre en compte les décalages horaires aussi).

Commençons par installer le client NTP :

SRV-Linux:~# apt-get install ntpdate

Puis dans la crontab ajoutons la syncho NTP :

SRV-Linux:~# crontab -e

 

On lance la synchro tout les jours à 6h

# m h dom mon dow command
0 6 * * * ntpdate fr.ntp.pool.org > /dev/null 2>&1

En lançant la commande à la main vous constaterez que le serveur est à l’heure.

 

Installation de packages utiles :

Installation de la suite d’outils de compilation :

SRV-Linux:~# apt-get install binutils gcc g++

Installation de la suite d’outils DNS :

SRV-Linux:~# apt-get install dnsutils