Système de base d’un serveur sous Debian Wheezy (Debian 7)

Nous allons voir dans ce tuto l’installation d’un système de base pour un serveur avec Debian Wheezy. Il montre une installation simple qui nous servira de dénominateur commun à d’autre tuto.

Remarques :

Pour le bon déroulement du tuto, je prends la liberté de prendre la configuration fictive suivante :

Nom du serveur : monserveur.example.com
Adresse :  IP 192.168.0.100

Aller hop !! Au boulot.

Etape N°1 : installation du système de base.

Téléchargez l’image la bonne version de Debian Wheezy selon votre architecture, 32 ou 64 bit directement sur le site debian.org. Puis graver l’image *.iso sur un CD.

Bootez votre machine sur le CD d’installation fraichement gravé, puis choisissez « install »

Accueil installation debian
Accueil installation debian

Choisissez votre langue, ici « Français »

Choisir le pays "France"
Choisir le pays “France”

Choisissez le pays, ici « France »

Choisir la langue française
Choisir la langue française

Maintenant vous devez choisir la configuration du clavier

Configuration du clavier
Configuration du clavier

Dans cette étape, le système vérifie l’intégrité du CD que vous venez de graver, il vérifie aussi le matériel, les paramètres réseaux, et l’existence d’un serveur DHCP pour la configuration du réseau.

Configuration DHCP
Configuration DHCP

Maintenant entrez le nom du serveur. Comme indiqué plus haut, j’ai pris monserveur.example.com, et de ce fait je saisie “monserveur”

Nom du serveur
Nom du serveur

Saisissez maintenant le nom du domaine, dans notre cas « example.com »

Nom du domaine
Nom du domaine

Choisissiez un bon mot de passe pour l’utilisateur « root »

Mot de passe pour root
Mot de passe pour root

Confirmez le mot de passe pour vérifier si tous est Ok.

Confirmation du mot de passe
Confirmation du mot de passe

Maintenant créez un utilisateur « normal », c’est-à-dire sans pouvoir. Comme je suis modeste, j’ai choisie comme nom de compte « Zenzla ».
Attention, vous pouvez choisir ce que vous voulez, sauf « admin », car c’est un nom réservé par le système.

Création d'un nouvel utilisateur
Création d’un nouvel utilisateur

Je donne un login « zenzla » à cet utilisateur.

Login du compte
Login du compte

Choisir un mot de passe pour cet utilisateur, qui doit être différent de celui que vous avez choisi pour « root »

Mot de passe pour l'utilisateur
Mot de passe pour l’utilisateur

Confirmez le mot de passe

Confirmation du mot de passe
Confirmation du mot de passe

Arrive l’étape de partitionnement du disque dur de votre serveur. Vous avez deux solutions :

1) Soit vous prenez la solution la plus simple « Assisté – utiliser tout un disque avec LVM » que je recommande vivement pour les débutants.

2) Si vous avez un peu plus de bouteille, faite le en manuel.

Dans ce tuto, je vais choisir la première solution, car plus simple et sur tout moins longue (oui je suis un gros feignant). Ce choix va créer deux volumes logiques, la racine du système « / » et le « swap »

Choisissez « Assisté – utiliser tout un disque avec LVM »

Assisté – utiliser tout un disque avec LVM
Assisté – utiliser tout un disque avec LVM

Sélectionnez le disque à partitionner, dans mon cas j’en il y en a un seul.

Choix du disque à partitionner
Choix du disque à partitionner

Comme mentionné précédemment, nous allons installer tout dans la même partition pour des raisons de facilité.

Choisissez « Tout dans une seule partition (recommandé pour les débutants) »

Tout dans une seule partition
Tout dans une seule partition

Pour confirmer notre choix de configuration, choisissez « oui »

Confirmation du choix de configuration
Confirmation du choix de configuration

Sélectionnez « Terminer le partitionnement et appliquer les changements » pour terminer

Terminer le partitionnement
Terminer le partitionnement

Et enfin sélectionnez « Oui » pour l’application définitive des changements sur les disques. Après cette étape, vous n’aurez plus la possibilité de revenir en arrière, car les novelles partition seront créées

Ecriture définitive
Ecriture définitive

Le système de base s’installe alors

Installation du système de base
Installation du système de base

Pour l’installation et la gestion des paquets il vous faut choisir un miroir du pays ou se trouve notre serveur, dans notre cas c’est en « France »

Choix du miroir
Choix du miroir

Maintenant, il faut choisir le miroir, je choisie celui donné par défaut ftp.fr.debian.org

Miroir ftp.fr.debian.org
Miroir ftp.fr.debian.org

Si vous utilisez un proxy http saisissez les paramètres, sinon laissez vide et continuer

Configuration du proxy
Configuration du proxy

Une mise-à-jour des paquets s’effectue, elle est plus ou moins longue selon votre connexion internet et la version de Debian.

mise-à-jour des paquets
mise-à-jour des paquets

Ensuite, il est demandé si vous voulez participer aux statistiques sur les paquets, c’est à vous de choisir. Dans ce tuto je mets « non ».

statistiques Debian
statistiques Debian

Lors de cette étape, même si nous allons mettre en place un serveur Web, je recommande de faire l’installation des différents paquets manuellement. Je sélectionne uniquement, « serveur SSH » et « Utilitaires usuels du système » pour pouvoir me connecter au système directement après l’installation.

Pour rappel : pour sélectionner/désélectionner vous devez utiliser la barre « espace » de votre clavier

Choix des logiciels
Choix des logiciels

Les paquets sélectionnés sont téléchargés puis installés

Installation des paquets
Installation des paquets

Maintenant nous devons installer le programme de démarrage ; le GRUB. Choisissez « Oui »

Installation du GRUB
Installation du GRUB

C’est fini !! ouffff  (Enfin la 1ère étape ^^), il vous suffit de retirer le CD d’installation de Debian Wheezy et de sélectionner « Continuer » pour redémarrer votre serveur.

redémarrer votre serveur
redémarrer votre serveur

Voilà, nous avons notre système de base installé, vous pouvez vous y connecter en ssh

Si vous n’aviez pas installé le serveur OpenSSH lors de l’installation basique, vous pouvez toujours le faire maintenant :

1
aptitude install ssh openssh-server

Désormais, vous pouvez utiliser un client SSH tel que PuTTY et vous connecter depuis votre poste de travail vers votre serveur.

1
ssh root@192.168.0.100 -p 22

Il n’est pas obligatoire de préciser le port (-p), mais comme nous allons changer le port par défaut par mesure de sécurité, il vaut mieux prendre l’habitude de le mettre.

Lors de votre première connexion, il faut accepter la clé d’authentification du serveur distant : yes

1
2
3
4
5
ssh root@192.168.0.100 -p 22
The authenticity of host '[root@192.168.0.100]:22 ([192.168.0.100]:22)' can't be established.
RSA key fingerprint is ad:39:10:ee:a7:7g:56:10:sb:4c:65:ad:22:89:44:aa.
Are you sure you want to continue connecting (yes/no)? yes
root@192.168.0.100'
s password:

La première chose à faire est d’installer vim-nox, car vi à quelque fois des comportement bizarre sous Debian et Ubuntu

1
apt-get install vim-nox

Pour plus de convivialité, il est intéressant de mettre vim en couleur, pour cela je vous recommande mon super tuto ^^ vi : Coloration syntaxique.

Mettez à jour votre serveur

1
2
apt-get update
apt-get upgrade

Le port par défaut de SSH est le 22, donc il est vivement recommander de le modifier par mesure de sécurité pour éviter les attaques par brute force.
Le nouveau port doit être supérieur à 1024 et inférieur à 65535. Dans notre cas nous choisissons le port 7070.

Ouvrez le fichier /etc/ssh/sshd_config avec vi

1
vi /etc/ssh/sshd_config

Changer le port par défaut 22, par le nouveau 7070, et vérifié que vous êtes bien en protocole ssh 2

1
2
3
4
5
6
7
8
...
# What ports, IPs and protocols we listen for
Port 7070
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
...

Profitons-en, pour modifier d’autres paramètres de sécurité, nous allons interdire la connexion ssh à root, et l’autorisé uniquement à l’utilisateur zenzla que nous avons crée plus haut.

Mettez PermitRootLogin à “no” et ajouter la ligne AllowUsers zenzla, comme ci-dessous

1
2
3
4
5
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
AllowUsers zenzla

redémarrez ssh pour la prise en compte des modifications

1
/etc/init.d/ssh restart

Avant de rebooter le système, nous allons corriger l’affichage des caractères accentués une fois pour toute.

Ouvrez le fichier /etc/default/locale

1
vi /etc/default/locale

modifiez la ligne LANG en y ajoutant UTF-8

1
LANG=fr_FR.UTF-8

Ensuite pour avoir une coloration du contenu (commande ls par exemple), modifiez le fichier /root/.bashrc

1
vi /root/.bashrc

Et décommentez les ligne suivant

[…]
# You may uncomment the following lines if you want `ls’ to be colorized:
export LS_OPTIONS=’–color=auto’
eval “`dircolors`”
alias ls=’ls $LS_OPTIONS’
alias ll=’ls $LS_OPTIONS -l’
alias l=’ls $LS_OPTIONS -lA’
[…]

Par mesure de sécurité (Oui encore une foie), nous allons envoyer une alerte par mail à l’administrateur à chaque connexion de root en ssh, cela et d’autant plus intéressant aujourd’hui avec la multiplication des smartphones, et donc la possibilité de lire les mails partout ou nous nous trouvons.

dans le même fichier /root/.bashrc ajouter les lignes suivantes, en changeant l’email par le votre.

1
echo 'Accès Shell Root le ' `date` `who` | mail -s `hostname` Shell Root de `who | cut -d"(" -f2 | cut -d")" -f1` votre@mail.tld

sauvegarder puis redémarrer votre serveur

1
reboot

Et voilà, vous avez à présent un serveur de base optimisé.

Vous pouvez poursuive en installant un serveur avec Nginx et ISPConfig 3

La série “un serveur parfait” et fortement inspiré, voir copier coller et traduit  de l’excellent Howtoforge

Zenzla

À propos de Zenzla

Je suis un passionné des logiciels libres, et tous ce qui tourne autour!! j'essaie de plus en plus de me débarrasser de l'oppression des Big Brothers du net. Je suis aussi Formateur en base de donnée, Gnu/Linux et bien autre chose.

5 réflexions sur “ Système de base d’un serveur sous Debian Wheezy (Debian 7) ”

  • 10 décembre, 2015 à 23 h 28 min
    Permalink

    Tellement propre, et compréhensible. Merci.

    Réponse
  • 2 avril, 2015 à 17 h 33 min
    Permalink

    quand je demarre en root j’ai dans le terminal
    Can’t send mail: sendmail process failed with error code 1
    et pas de mail dans ma boite.
    ?????????????? merci d’avance

    Réponse
  • 1 février, 2015 à 1 h 39 min
    Permalink

    Je te remercie pour ce tutoriel ! Je compte me crée mon propre serveur Debian et honnêtement je suis très content d’être tomber sur ce tutoriel très bien expliqué 😉

    Réponse
  • 13 avril, 2014 à 19 h 21 min
    Permalink

    Très bon tuto… Personnellement lors du choix des logiciels je coche aussi “base de données SQL” et “serveur DNS”
    Maintenant c’est vrai qu’on peut les installer après…
    J’ai particulièrement apprécié que tu précises de changer le port pour sshd, ça limite énormément les attaques sur sshd, et réduit considérablement les alertes.
    Bonne continuation.

    Réponse

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *