Serveur distant de vos propres mains

Serveur distant de vos propres mains
N. Levitsky
Genres: Programmation, Administration Systèmes
Année de publication: 2021
Année de lecture: 2025
Ma note: Maximale
Nombre de lectures: 1
Nombre total de pages: 402
Résumé (pages): 41
Langue originale de la publication: Russe
Traductions dans d'autres langues: Aucune traduction dans d'autres langues trouvée

Installation et configuration de Linux sur un serveur

Le livre commence doucement avec l'installation du système d'exploitation et se complique progressivement au fur et à mesure des chapitres. Le premier chapitre est consacré à l'installation de Linux. C'est un sujet tellement récurrent et une opération que j'ai effectuée plusieurs fois, que je n'ai rien ajouté à mes notes depuis le premier chapitre. L'installation est abordée en prenant Astra et Ubuntu comme exemples.

Ensuite, plusieurs chapitres sont consacrés à la découverte de Linux en passant par la connexion au système. Il y a un peu d'attention portée aux interfaces graphiques, aux thèmes sombres et à d'autres aspects visuels. D'ailleurs, beaucoup d'attention est consacrée à la personnalisation de l'apparence du système d'exploitation selon le style de macOS : installation de fonds d'écran, modification de la disposition des boutons, icônes, curseurs, menus et autres éléments. Il est également question de la différence entre le mode hibernation et veille, de l'arrêt et du redémarrage via la console, ainsi que de l'arrêt programmé. L'auteur montre comment installer des codecs audio et vidéo, gérer des paquets et mettre à jour le système.

Le chapitre 4 est dédié à la ligne de commande et aux commandes de base, telles que : afficher le contenu d'un fichier, rediriger la sortie, créer, copier et déplacer des fichiers et répertoires, rechercher dans des fichiers, comparer, remplacer, formater. Il y a beaucoup de commandes, certaines que je ne connaissais pas et que je n'ai pas retenues. En général, elles sont simplement énumérées sans explication approfondie, donc pour les détails, il vaut mieux se référer à d'autres sources. L'auteur a mentionné les interfaces graphiques dans le chapitre précédent, mais il n'a pas parlé des différentes variantes de shells en ligne de commande. Comme dans tout livre sur Linux, il est question ici de la différence entre les utilisateurs normaux et l'administrateur, des symboles dièse et dollar. Une petite partie du chapitre est consacrée aux éditeurs graphiques, qu'ils soient intégrés ou nécessitant une installation séparée.

Le chapitre 5 est dédié à la configuration des interfaces réseau. Ici, on parle principalement de la configuration physique : adaptateurs, commutateurs, câblage en paires torsadées, connecteurs RJ-45. L'auteur n'a pas oublié de mentionner l'outil pour sertir les câbles en paires torsadées. Un schéma de sertissage est fourni. En théorie, quelques mots sont consacrés à la commande ifconfig et au serveur DHCP, dont on parlera plus en détail ensuite.

Configuration de base du serveur

Le chapitre 6 parle du routage et de la configuration du pare-feu. Je dois admettre que les tables de routage, les commandes pour leur configuration et la gestion des paquets m'ont mal marqué. Cela vient peut-être du fait que je ne suis pas administrateur système, et que dans le back-end ou le front-end, on ne rencontre pas directement ces questions. Le pare-feu est abordé avec iptables et ufw comme exemples.

Le chapitre 7 est consacré au protocole SSH. L'auteur parle des algorithmes supportés par OpenSSH (utilisé sous Linux) : Blowfish, 3DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm) et RSA (Rivest-Shamir-Adleman algorithm). Ensuite, il explique le fichier de configuration SSH avec les commentaires disponibles. Il est difficile de retenir tous les paramètres, et probablement inutile. Le chapitre se termine avec des exemples de copie de fichiers via SSH, ainsi que l'optimisation et l'amélioration des performances.

Le chapitre 8 est consacré aux questions générales de l'administration d'un serveur web. Ici, l'auteur fait une pause dans les questions techniques et donne un peu de théorie, qui, selon moi, est importante et intéressante. Il explique en détail la différence entre un serveur physique, virtuel et dédié, et dans quel cas chaque option est préférable. Spoiler : un serveur physique ne vous sera probablement pas nécessaire. Les avantages et inconvénients de chaque type sont énumérés. Par exemple, un serveur physique nécessite une deuxième ligne Internet, une ventilation de la pièce et une sécurité physique. La deuxième partie du chapitre parle des critères pour choisir un serveur. Voici quelques points de la liste :

  • Niveau de certification selon le Tier
  • Présence des licences FSTEC
  • Emplacement physique des serveurs (FZ-152)
  • Vitesse de la connexion Internet de base
  • Vitesse de fonctionnement du sous-système de disques
  • Tarification et paiements
  • Ce qu'est un noyau virtuel

Le chapitre 9 est consacré à l'utilisation de FTP. Avant d'installer un serveur FTP, il faut choisir une option appropriée. L'auteur propose : wu-ftpd (ancien mais fiable), vsftpd (léger), pure-ftpd (compact), proftpd (flexible et polyvalent). Ensuite, il aborde l'installation de proftpd et ses réglages. Enfin, quelques mots sont consacrés à l'optimisation et à l'accélération du serveur FTP.

Le chapitre 10 explique comment fonctionne DNS. Ensuite, l'auteur configure un serveur DNS de mise en cache avec BIND9 et unbound. Les fichiers de configuration sont examinés avec des commentaires.

Le chapitre 11 parle plus en détail du serveur DHCP, de son rôle et de ses domaines d'application.

Le chapitre 12 est consacré à l'intégration de Linux dans une infrastructure Windows. Je ne travaille pas avec cela, donc je n'ai rien ajouté à mes notes.

Le chapitre 13 concerne la sauvegarde. Points intéressants : l'auteur décrit clairement ce qu'il faut sauvegarder et dans quels cas. Il mentionne des systèmes automatisés (Amanda, Bacula), mais il propose lui-même un script qui crée une sauvegarde et l'envoie par SSH.

Le chapitre 14 est consacré à la sécurité du serveur. Il traite de la sécurité locale (sceaux, protection du BIOS), de la protection contre les attaques réseau, de la protection des services (par exemple, fail2ban), du chiffrement des données (par exemple, eCryptfs). Les types d'attaques DDoS sont également énumérés (Smurf, ICMP-flood, UDP-flood) avec un bref historique de leur apparition.

Serveur Web dédié basé sur Linux

Chapitre 15 : Ce chapitre est dédié à la configuration du serveur web. Bien que nginx ne soit pas abordé, Apache est traité en détail. En plus d'Apache, la configuration du système de gestion de base de données MySQL et de PHP (avec toutes les bibliothèques principales) est expliquée. L'auteur installe également le CMS Magento comme exemple. Il présente les directives Apache regroupées en 11 catégories, en expliquant brièvement leur fonction. Voici quelques exemples de groupes de directives :

  • Directives de journalisation : ErrorLog, TransferLog, HostnameLookups.
  • Directives de contrôle d'accès : AllowOverride, Options, Limit.
  • Directives de gestion des performances : StartServers, MaxSpareServers, MinSpareServers, ainsi que la directive CacheNegotiatedDocs.
  • Directives pour maintenir une connexion persistante avec le client : Timeout, KeepAlive, KeepAliveTimeout.

Le chapitre se termine par une section concise sur la sécurisation du serveur Apache. Les informations fournies sont succinctes et ne nécessitent pas de notes détaillées.

Chapitre 16 : Ce chapitre est consacré aux certificats SSL. L'auteur explore différents types de certificats SSL, tels que DV (Validation de Domaine), OV (Validation d'Organisation) et EV (Validation Étendue), en expliquant leurs caractéristiques et les formats de stockage (PEM, DER, PKCS #7 / P7B, etc.). Il détaille également comment convertir ces certificats d'un format à un autre et présente Let's Encrypt comme une méthode simple pour générer des certificats SSL.

Chapitre 17 : Ce chapitre aborde le choix et l'installation d'un panneau de contrôle pour le serveur. Il examine à la fois des panneaux payants et populaires (cPanel, DirectAdmin, ISPManager, Plesk) et des options gratuites (Webmin, VestaCP, ISPConfig, Ajenti). Une attention particulière est accordée à Webmin, avec une explication détaillée de son utilisation.

Chapitre 18 : Ce chapitre se concentre sur l'amélioration des performances du serveur. Il fournit une liste de contrôle pour identifier et résoudre les problèmes de performance, en abordant des aspects tels que :

  • Le nombre de clients et la configuration du serveur.
  • Les réglages d'Apache.
  • La version de PHP utilisée.
  • Les directives memory_limit et max_execution_time.
  • Les configurations de compression et de mise en cache.
  • L'activation de la mise en cache côté serveur (utilisation de Memcached).
  • Les ajustements spécifiques à la CMS utilisée.

Chaque point est analysé en détail pour aider à optimiser les performances du serveur.

Chapitre 19 : Ce chapitre traite de la configuration de la messagerie sur le serveur web. L'auteur guide l'installation du paquet ssmtp, la configuration d'un compte Gmail et l'ajustement des paramètres du serveur SMTP pour assurer une communication efficace.

Chapitre 20 : Ce chapitre est dédié à la résolution des problèmes courants. L'auteur recommande l'installation d'outils de surveillance tels que Zabbix ou Yandex.Metrica pour suivre les statistiques du serveur. Il aborde également les erreurs fréquentes, notamment :

  • Manque d'espace disque ou d'inodes disponibles.
  • Insuffisance de ressources système (mémoire, processeur, etc.).
  • Mauvaise configuration du serveur.

Le chapitre mentionne l'importance des journaux système et présente une liste d'outils de surveillance, tels que htop, atop, apachetop et jnettop, pour aider à diagnostiquer et résoudre les problèmes de performance.

Chapitre 21 et 22 : Ces chapitres, en plus des considérations financières de l'auteur et de réflexions philosophiques sur le choix entre un serveur virtuel ou physique, abordent la création d'une alternative à Zoom. L'auteur guide l'installation et la configuration de l'application BigBlueButton pour organiser des conférences en ligne, offrant ainsi une solution open-source pour les besoins de visioconférence.

Conclusion

En somme, ce livre offre une ressource complète et structurée pour ceux qui souhaitent approfondir leurs connaissances en administration système sous Linux. Avec de nombreuses illustrations, commentaires et explications, il s'adresse aussi bien aux développeurs back-end qu'aux développeurs front-end désireux d'explorer l'administration système. Bien que la richesse du contenu puisse sembler dense, une pratique régulière permettra d'assimiler efficacement les concepts présentés.

Вверх