Les bases de la configuration d'un serveur linux

Voici quelques bases pour configurer un serveur sous linux

Sous Linux

Ouvrez une console, et utilisez la commande [code]ssh ipduserveur -l utilisateur[/code]

En précisant le port : [code]ssh serveur.com -l dew -p 22[/code]

Sous Windows : Putty

Le meilleur client SSH sous Windows est Putty. Il vous suffira de préciser l'adresse de votre serveur (et éventuellement le port si celui-ci diffère du port 22 par défaut pour SSH) pour vous y connecter.

Putty SSH

N'hésitez pas à personnaliser l'affichage dans Window > Colours (couleur de fond, police) pour vous sentir comme chez vous. Dans Window > Translation vous pourrez choisir le jeu de caractères (ISO / UTF-8) si les caractères accentués ne s'affichent pas correctement. Root (super-administrateur)

Afin de configurer votre serveur, vous aurez besoin de lancer des commandes en mode super-administrateur. C'est un utilisateur qui a le maximum de privilèges sur la machine. Normalement vous avez du choisir son mot de passe lors de l'installation oui de votre serveur.

Sous Ubuntu

Utilisez sudo avant chaque commande. Par exemple : sudo apt-get install nano Sous Debian

Utilisez tout simplement la commande su puis entrez le mot de passe root, ou installez sudo comme pour Ubuntu avec apt-get install sudo puis définissez les droits grâce à visudo. Manuel

Pour avoir plus d'informations sur une commande ou un programme, utilisez le manuel Linux en tapant man suivi du nom de la commande.

  • ls : Liste le contenu du répertoire courant
  • cd : Change de répertoire (ex : cd /etc/ )
  • mv : Déplace (ou renomme) un fichier
  • cp : Copie un fichier
  • rm : Supprime un fichier (récursivement : -rf)
  • rmdir : Supprime un répertoire
  • mkdir : Crée un répertoire

Les fichiers de configuration sont en général tous stockés dans /etc/, les programmes exécutables dans /bin/ ou /usr/bin/, les fichiers documents (web, mail, mysql) dans /var/ et les répertoires utilisateurs dans /home/ sauf pour root qui dispose de /root/. Modifier le mot de passe root

N'hésitez pas à modifier le mot de passe surtout si celui-ci vous a été attribué par défaut. Identifiez-vous d'abord en root (voir ci-dessus) puis entrez la commande :

passwd root Edition des fichiers

Pour éditer les fichiers en ligne de commande (via SSH) de nombreux éditeurs de texte existent. Si vous débutez sous Linux Ubuntu ou Debian, nous vous conseillons nano, qui est relativement simple d'accès. Vous pouvez l'installer grâce à apt-get install nano. Sinon, préférez vi (ou vim) qui est très puissant. C'est cet éditeur que nous utiliserons dans les tutoriaux de cette section.

Quelques commandes vi de base :

  • i : Insérer du texte
  • a : Ajouter du texte
  • Echap : Sortir du mode choisi précédemment (i ou a)
  • x : Effacer un caractère
  • dd : Effacer/couper une ligne
  • Y : Copier une ligne
  • p : Coller une ligne
  • o : Insérer une nouvelle ligne
  • u : Annuler la dernière action
  • :w : Enregistrer le fichier
  • :q : Quitter
  • :q! : Quitter sans sauvegarder
  • /mot_à_chercher : Rechercher un mot
  • n : Rechercher le mot suivant
  • :g/mot1/s//mot2/g : Rechercher dans tous le fichier le mot1 pour le remplacer par le mot2

L'éditeur par défaut du système est modifiable via les alternatives. Pour remplacer nano par vi (ou l'inverse) utilisez : update-alternatives –config editor Configuration SSH

Afin de sécuriser l'accès SSH au serveur, éditons le fichier /etc/ssh/sshd_config. Nous allons changer le port de connexion par défaut pour éviter quelques attaques par bruteforce sur le port 22, qui est bien connu pour héberger ce service. N'oubliez pas de préciser ce nouveau port (dans Putty ou en ligne de commande ssh sous Linux) à la prochaine connexion.

vi /etc/ssh/sshd_config

Port 1337 # Changer le port par défaut PermitRootLogin no # Ne pas permettre de login en root Protocol 2 # Protocole v2 AllowUsers nomuser # N'autoriser qu'un utilisateur

Redémarrez le service SSH après ces modifications :

/etc/init.d/ssh restart Configuration de base du réseau

Vérifiez que le hostname de votre machine est correct ou personnalisez-le en éditant /etc/hostname. Celui-ci doit aussi refléter le reverse configuré auprès de votre hébergeur ou datacenter.

vi /etc/hostname

Dans notre cas exemple, nous préciserons serveur.com

Vérifiez le fichier /etc/hosts

vi /etc/hosts

Celui-ci doit ressembler à peu près à cela, avec votre propre adresse IP et nom de domaine :

127.0.0.1 localhost test 89.152.124.122 serveur test

remplacer 89.152.124.122 par votre ip

Nous allons également optimiser quelque peu la sécurité réseau du serveur au passage. Ne procédez à ces modifications que si vous savez ce que vous faites.

echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo “0” > /proc/sys/net/ipv4/conf/all/accept_source_route echo “1024” > /proc/sys/net/ipv4/tcp_max_syn_backlog echo “1” > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

Editez le fichier /etc/resolv.conf pour vérifier ou ajouter les serveurs DNS à utiliser :

vi /etc/resolv.conf

nameserver ip_serveur_dns_1 nameserver ip_serveur_dns_2

Après ces quelques changements nous pouvons redémarrer le service réseau :

/etc/init.d/networking restart

Ou plus radicalement redémarrer le serveur :

reboot

Attendez quelques minutes puis reconnectez-vous. Vérifiez les changements grâce aux commandes suivantes :

hostname -f

  doit retourner le FQDN soit serveur.com dans notre exemple

hostname -s

  doit retourner le nom court, soit test

hostname -d

  doit retourner le domaine, soit serveur.com

hostname -i

  retourne l'adresse IP

Administration Mises à jour grâce à APT

APT est un gestionnaire de paquets très performant. Il va permettre d'ajouter ou de retirer des programmes à la distribution Linux. Pour commencer, mettons la liste des paquets à jour depuis les serveurs de référence : apt-get update

Puis procédons à une mise à jour du système. Les paquets seront remplacés par leurs mises à jour : apt-get upgrade

Voici quelques commandes APT très utiles :

apt-get dist-upgrade

  Met à jour la distribution complète

apt-get install paquet

  Installe le paquet mentionné

apt-get install paquet -s

  Simulation d'installation

apt-get remove paquet

  Désinstallation/suppression du paquet

apt-get remove paquet –purge

  Désinstallation complète (fichiers de configuration compris)

apt-cache show paquet

  Informations sur le paquet

apt-cache search paquet

  Recherche dans les paquets disponibles

apt-cache depends paquet

  Dépendances

apt-cache madison paquet

  Versions disponibles

apt-cache policy paquet

  Versions et possibilités

apt-get clean

  Vide le cache disque des paquets

Services, démons

NTP permet de synchroniser l'heure du serveur avec des horloges atomiques. Sous Debian Etch il existe déjà openntpd. Vous pouvez équiper votre système grâce à apt-get install ntp ntpdate. Editez /etc/ntp.conf ou /etc/default/ntpdate pour vérifier la configuration et éventuellement modifier les adresses des serveurs avec ceux les plus proches de chez vous puis redémarrez le service : /etc/init.d/ntp restart. Divers

Installons quelques outils qui seront bien utiles (à ne faire que si cela vous semble pertinent) :

apt-get install zip unzip gcc libc6-dev linux-kernel-headers diff wget bzip2 make

Pour gérer les jeux de caractères et les locales n'hésitez pas à invoquer :

dpkg-reconfigure locales

configuration-serveur-web-linux