5 juin 2017

Formation Administration Serveurs Linux Entreprise

LinuxUn serveur Linux peut assumer une multitude de rôles en entreprise : serveur de fichiers, serveur de bases de données, serveur web, serveur de messagerie, passerelle/pare-feu, proxy filtrant, etc. Chacune de ces configurations parfois très spécifique nécessite une bonne maîtrise des bases de l’administration d’un système Linux.

De nos jours, le système d’exploitation Linux est omniprésent dans le monde des serveurs. L’infrastructure de l’Internet est assurée principalement par Linux. Les parcs de serveurs des grandes entreprises comme Google, Facebook ou Amazon fonctionnent tous sous Linux.

Formation Administration LinuxLa Formation Administration Serveurs Linux Entreprise a pour objectif de vous faire acquérir les compétences requises pour installer et administrer vous-même un serveur Linux de A à Z. Vous apprendrez ici à gérer les utilisateurs, les systèmes de fichiers, le démarrage du système, les processus, la délégation des permissions, l’installation de logiciels et bien d’autres aspects encore qui vous permettront, à l’issue de cette formation, de parvenir à une réelle maîtrise du système.

La distribution CentOS est ici choisie en raison de ses nombreuses qualités techniques, notamment sa robustesse, son cycle de support inégalé de dix ans pour chaque version, ainsi que sa compatibilité binaire avec la référence Red Hat Enterprise Linux. À l’heure actuelle, CentOS fait fonctionner la majorité des supercalculateurs et des serveurs web du monde entier.

Modalités de la formation

Public concerné

  • Administrateurs système et développeurs
  • Maintenanciers et techniciens support

Prérequis

  • Connaissances fondamentales des systèmes de type Windows ou Mac OS X
  • Connaissances fondamentales du réseau
  • Une dose saine de curiosité et un certain plaisir à expérimenter

Objectifs de la formation

Être capable de :

  • choisir un OS Linux adapté à l’entreprise
  • installer un serveur Linux intégré dans un réseau local en toute autonomie
  • installer un serveur dédié Linux dans un datacenter en toute autonomie
  • prendre en main l’administration d’un serveur Linux en mode console
  • diagnostiquer et résoudre les problèmes courants posés par la production de serveurs Linux

Niveau de la formation

  • Initiation et/ou perfectionnement

Durée de la formation

  • 6 jours minimum pour les bases de Linux, répartis éventuellement sur 2 sessions de 3 jours.
  • La durée de la partie applicative devra être établie en fonction des besoins spécifiques de l’entreprise et du niveau des stagiaires.

Méthodes pédagogiques

Démarche pédagogique active et participative :

  • Nombreux ateliers pratiques et études de cas proches du terrain, utilisables au quotidien
  • Apports théoriques et méthode inductive (apprentissage par la pratique)
  • Échanges et solutions sur des situations réelles
  • Supports pédagogiques : documentation technique détaillée, CD-Rom, clé USB

Moyens techniques, effectifs et lieu

La formation se déroule au choix :

  • sur site en entreprise : effectif idéalement 6 à 8 personnes
  • dans les bureaux de Microlinux : petite salle de formation pouvant accueillir 2 personnes avec le formateur, 3 postes PC « bare metal » + accès Internet haut débit

Programme détaillé

1. Les bases de Linux

Présentation générale

  • Histoire d’Unix et de Linux
  • Qu’est-ce qu’un logiciel libre ?
  • Qu’est-ce qu’un système d’exploitation ?
  • Que désigne le terme « Linux » ?
  • Qui utilise Linux ?
  • Quel matériel est supporté par Linux ?
  • Qu’est-ce qu’une distribution ?
  • Les différences entre les distributions
  • Les licences libres : GPL et BSD
  • Distributions commerciales, libres, gratuites et de qualité « entreprise »
  • Présentation des principales distributions Linux : Red Hat Enterprise Linux, CentOS, Debian, Fedora, Ubuntu, SuSE, Slackware
  • Quelle distribution pour quoi faire ?
  • Linux vs. Windows : mythe et réalité

Avant de mettre les mains à la pâte

  • Se former à Linux avec CentOS
  • Quelques scénarios à éviter
  • Quel matériel pour Linux ?
  • Comment obtenir la distribution CentOS ?
  • Télécharger CentOS via BitTorrent
  • Graver le fichier ISO sur un CD-Rom
  • Confectionner une clé USB amorçable

Installer CentOS 7

  • Installation simple de CentOS 7
  • Réglages du BIOS, EFI, UEFI
  • Tester la RAM et le support d’installation
  • Configurer la langue et le pays
  • Choisir la disposition du clavier
  • Configurer le nom d’hôte et le réseau
  • Configurer la date et le fuseau horaire
  • Synchronisation avec un serveur NTP
  • Définir une installation minimale
  • Utiliser le partitionnement automatique
  • Définir un mot de passe administrateur et un utilisateur « commun mortel »
  • Installer CentOS dans VirtualBox
  • Se connecter à un serveur Linux à distance depuis Windows

Linux en mode texte

  • Introduction à la ligne de commande
  • Le shell et les consoles virtuelles
  • Naviguer : ls, pwd et cd
  • Visite guidée du système en dix minutes
  • Petit aperçu de la philosophie Unix
  • Deux commandes de sortie : echo et cat
  • Visualiser : more et less
  • Créer : touch et mkdir
  • Visualiser les arborescences avec tree
  • Copier, déplacer et renommer : cp et mv
  • Les caractères de substitution * et ?
  • Supprimer : rm et rmdir
  • Éditer des fichiers texte : vi et vim
  • Se former à vim avec vimtutor
  • Travailler plus efficacement avec la complétion automatique, l’historique et la recherche inversée de commandes
  • Consulter l’aide en ligne : man et info

Gérer les utilisateurs

  • Les systèmes multi-utilisateurs
  • Utiliser n’est pas administrer
  • Changer d’identité et devenir root
  • Redevenir soi-même et savoir qui l’on est
  • Ajouter de nouveaux utilisateurs : useradd, passwd, usermod
  • Afficher les infos : id, groups, finger
  • Comprendre le fichier /etc/passwd
  • Trouver les utilisateurs physiques du système
  • Le profil par défaut des nouveaux utilisateurs
  • Créer et supprimer des groupes : groupadd, groupdel
  • Associer les utilisateurs aux groupes
  • Supprimer un utilisateur : userdel

Gérer les droits d’accès

  • Qui a le droit de faire quoi ?
  • Comprendre les permissions dans l’affichage détaillé
  • Rendre un fichier exécutable
  • Ajouter et retirer les droits d’accès
  • Utiliser la notation numérique
  • Gérer les droits d’accès des répertoires
  • Changer le propriétaire et le groupe d’un fichier

Recherche d’éléments

  • Chercher l’emplacement d’un fichier dont on connaît le nom
  • Chercher des fichiers dont on ne connaît pas le nom exact
  • Chercher selon d’autres critères que le nom
  • Appliquer une commande sur les fichiers trouvés
  • Chercher du texte à l’intérieur d’un fichier
  • Chercher du texte dans une série de fichiers
  • Quelques applications pratiques : obtenir des infos sur son matériel

Créer et manipuler des liens

  • Créer et visualiser des liens symboliques
  • À quoi servent les liens symboliques ?
  • Casser un lien symbolique
  • Effacer un lien symbolique
  • Les liens physiques

Gérer les processus

  • Linux, un système multi-tâche
  • Lancer et surveiller un processus : ps
  • Afficher et compter les processus
  • Envoyer un signal à un processus : kill
  • Arrêter et relancer un processus
  • Terminer et tuer un processus
  • Surveiller l’utilisation des ressources de la machine : top

Gérer les services

  • Qu’est-ce qu’un service ?
  • Le système d’initialisation systemd
  • Arrêter et (re)démarrer un service
  • Activer un service au démarrage de la machine
  • Éteindre et redémarrer la machine

Accéder aux systèmes de fichiers

  • Les fichiers de périphérique
  • La notion de montage/démontage
  • Monter un CD-Rom ou un DVD : mount
  • Démonter le CD-Rom ou le DVD : umount
  • Monter et démonter manuellement une clé USB
  • Éjecter un CD-Rom ou un DVD : eject
  • Scier la branche sur laquelle on est assis ?
  • Obtenir des informations sur les périphériques montés

Gérer les archives compressées

  • Les différents formats d’archivage
  • Compresser et décompresser un fichier : gzip et bzip2
  • Créer une archive : tar
  • Extraire les fichiers d’une archive
  • Combiner l’archivage et la compression
  • Extraire une archive compressée

Premiers pas sur le réseau

  • La carte Ethernet
  • Les pilotes sous Linux
  • Afficher la configuration des interfaces réseau : ip et ifconfig
  • Établir un contact avec une machine distante : ping
  • Identifier la passerelle : route
  • Configurer une connexion à Internet
  • Configuration dynamique : DHCP
  • Configuration statique
  • Renseigner les serveurs DNS et la passerelle
  • Diagnostic en cas de panne

Installer et gérer des logiciels

  • Installer et gérer des logiciels : rpm et yum
  • RPM, l’ancêtre des gestionnaires de paquetages
  • Installer et désinstaller un logiciel avec RPM
  • Mettre à jour un logiciel avec RPM
  • Télécharger la mise à jour avec links
  • Gérer les dépendances
  • Tester l’installation d’un paquet
  • Obtenir des informations sur les paquetages RPM
  • Installer et désinstaller confortablement un paquetage avec yum
  • Désinstaller un paquet avec yum
  • Effectuer une mise à jour
  • Gérer les groupes de paquetages
  • Effectuer des opérations de maintenance

Installation et configuration avancée

  • Partitionnement manuel : schémas
  • Systèmes de fichiers : xfs, ext4, ext2
  • Redondance : RAID 1, RAID 5, etc.
  • Partitionnement traditionnel vs. LVM
  • Introduction à SELinux (Security Enhanced Linux)
  • Peaufiner le chargeur de démarrage GRUB
  • Limiter le nombre de kernels installés
  • Configuration des dépôts pour Yum
  • Utiliser le dépôt EPEL (Extra Packages for Enterprise Linux)
  • Protéger les paquets de base avec yum-plugin-priorities
  • Personnaliser le shell
  • Installer un monitoring simple : glances
  • Tester la connectivité avec iperf

2. Applications serveur

Serveur LAN

  • Spécificité d’un routeur : réseaux et relais de paquets
  • Atelier script Bash n° 1 : configurer un pare-feu avec iptables
  • Gérer la configuration DHCP+DNS du réseau avec Dnsmasq
  • Synchroniser le serveur et les clients du réseau local avec NTP
  • Mettre en place un serveur de bases de données MySQL/MariaDB
  • Atelier script Bash n° 2 : sauvegarder ses bases de données MySQL/MariaDB
  • Installer et configurer le serveur web Apache et héberger un site statique en Intranet
  • Héberger plusieurs sites sur un même serveur local
  • Gérer PHP et MySQL/MariaDB avec Apache
  • Gérer les certificats SSL auto-signés
  • Mettre en place un hébergement HTTPS local
  • Exemple d’application Intranet : Dolibarr
  • Partager des fichiers avec NFS
  • Exemple d’authentification centralisée simple avec NFS et NIS
  • Gérer les quotas d’espace disque pour les utilisateurs
  • Partager des fichiers en réseau hétérogène (Windows/OS X/Linux) avec Samba
  • Virtualisation avec KVM
  • Accélérer l’utilisation d’Internet pour le réseau local avec un proxy cache Squid
  • Combiner Squid avec SquidGuard pour filtrer efficacement l’accès à Internet
  • Atelier script Bash n° 3 : éditer un script blacklist.sh pour SquidGuard
  • Surveiller l’utilisation du web avec SquidAnalyzer

Serveur dédié

  • Installer CentOS sur un serveur dédié public Dedibox chez Online
  • Sécuriser le serveur avec iptables
  • Synchroniser la machine avec un serveur NTP public
  • Mettre en place un serveur DNS public avec BIND
  • Configurer un serveur LAMP (Linux + Apache + MySQL + PHP) public
  • Certificats SSL libres avec LetsEncrypt
  • Atelier script Bash n° 4 : automatiser le renouvellement des certificats SSL
  • Mettre en place un hébergement HTTPS public
  • Installer quelques applications PHP/MySQL courantes : WordPress, Dotclear, CMSMS
  • Configurer un serveur de sauvegardes avec Rsnapshot
  • Mettre en place un serveur mail IMAP avec Postfix et Dovecot