La maîtrise des commandes Linux pour la gestion d'un VPS est un sujet essentiel pour quiconque administre un serveur privé virtuel. Que vous débutiez avec votre premier VPS ou que vous ayez déjà de l'expérience, connaître les bonnes commandes Linux fait la différence entre une gestion efficace du serveur et une recherche sans fin de solutions. Dans ce guide, nous passons en revue toutes les commandes essentielles dont vous avez besoin pour administrer votre VPS de façon professionnelle.

Pourquoi la connaissance des commandes Linux essentielles est-elle indispensable ?

Contrairement à l'hébergement mutualisé, où votre fournisseur d'hébergement s'occupe de l'administration du serveur, avec un VPS vous êtes vous-même responsable de l'administration. Cela exige des connaissances de base des commandes Linux pour VPS afin d'entretenir votre serveur, de résoudre les problèmes et de mettre en œuvre des mesures de sécurité. Sans ces connaissances, vous risquez des interruptions de service, des problèmes de sécurité et des performances sous-optimales.

Différence entre l'hébergement mutualisé et la gestion d'un VPS

CritèreHébergement mutualiséVPS (non infogéré)
Installation de logicielsLimitée, via le panneau de contrôleContrôle total en ligne de commande
Mises à jourAssurées par le fournisseurÀ effectuer vous-même via le terminal
SécuritéDe base, assurée par le fournisseurEntièrement sous votre responsabilité
DépannageVia des tickets de supportAnalyse par vos soins via les journaux et les commandes
Optimisation des performancesImpossibleContrôle total de la configuration

Commandes de base pour la gestion de fichiers

Les commandes Linux pour VPS les plus utilisées sont celles qui servent à gérer les fichiers et les dossiers. Voici l'essentiel que tout administrateur de VPS doit connaître :

  • pwd : affiche le dossier dans lequel vous vous trouvez (print working directory)
  • ls : liste tous les fichiers et dossiers, utilisez ls -la pour les détails, fichiers cachés inclus
  • cd : change de dossier, cd .. remonte d'un niveau, cd ~ va dans votre répertoire personnel
  • find : recherche des fichiers par nom, taille, date ou type
  • locate : recherche rapide de fichiers via une base de données indexée
  • tree : affiche visuellement l'arborescence des dossiers sous forme de diagramme en arbre

Copier, déplacer et modifier des fichiers

  • cp : copie des fichiers ou des dossiers (utilisez -r pour copier les dossiers de façon récursive)
  • mv : déplace ou renomme des fichiers et des dossiers
  • rm : supprime des fichiers (utilisez -rf pour les dossiers, soyez très prudent)
  • mkdir : crée un nouveau dossier (-p pour des dossiers imbriqués)
  • touch : crée un nouveau fichier vide
  • chmod : modifie les permissions d'un fichier (par ex. chmod 755 fichier)
  • chown : modifie le propriétaire d'un fichier ou d'un dossier

Consulter et modifier des fichiers

  • cat : affiche l'intégralité du contenu d'un fichier
  • less : permet de consulter des fichiers en les faisant défiler (pratique pour les gros fichiers)
  • head : affiche les premières lignes d'un fichier (10 par défaut)
  • tail : affiche les dernières lignes, tail -f suit les mises à jour en temps réel (idéal pour les journaux)
  • nano : éditeur de texte simple pour les débutants
  • vim : éditeur de texte puissant pour les utilisateurs avancés
  • grep : recherche un texte ou un motif précis dans des fichiers

Gestion des utilisateurs et des droits

La gestion des utilisateurs et des droits est un élément crucial de la connaissance des commandes Linux pour VPS, surtout pour la sécurité de votre serveur.

Commandes de gestion des utilisateurs

  • adduser : crée un nouvel utilisateur avec son répertoire personnel et sa configuration
  • usermod : modifie les paramètres d'un utilisateur (par ex. l'ajouter à un groupe : usermod -aG sudo utilisateur)
  • passwd : modifie le mot de passe d'un utilisateur
  • deluser : supprime un utilisateur du système
  • groups : affiche les groupes auxquels appartient un utilisateur
  • su : passe à un autre utilisateur ( « su - » pour l'environnement complet)
  • sudo : exécute une commande avec les droits root

Informations système et surveillance

En tant qu'administrateur de VPS, vous devez savoir comment se comporte votre serveur. Ces commandes Linux pour VPS vous donnent un aperçu de l'état du système.

Obtenir des informations sur le système

  • uname -a : affiche toutes les informations système (noyau, architecture, nom d'hôte)
  • hostname : affiche ou modifie le nom du serveur
  • uptime : affiche depuis combien de temps le serveur fonctionne et la charge moyenne
  • df -h : affiche l'utilisation du disque par partition dans un format lisible
  • du -sh : affiche la taille des fichiers et des dossiers
  • free -h : affiche l'utilisation de la RAM (totale, utilisée, libre, cache)
  • lscpu : affiche les informations sur le processeur

Surveillance des processus

CommandeFonctionUtilisation
topVue d'ensemble des processus en temps réelAperçu rapide de l'utilisation du CPU et de la RAM
htopVersion améliorée de topGestion interactive des processus, avec des couleurs
ps auxListe tous les processusInstantané des processus en cours
killArrête un processus via son PIDkill -9 PID pour forcer l'arrêt
nice/renicePriorité des processusModification de la priorité du CPU
lsofFichiers ouverts par processusDiagnostic des verrous de fichiers

Commandes de gestion du réseau

Les commandes Linux pour VPS liées au réseau sont indispensables pour gérer des serveurs web, diagnostiquer des problèmes de connexion et configurer les paramètres réseau.

Diagnostic réseau

  • ip addr : affiche toutes les interfaces réseau et leurs adresses IP
  • ping : teste la connexion avec un autre système
  • traceroute : affiche le chemin que suivent les paquets vers une destination
  • nslookup/dig : effectue des requêtes DNS pour diagnostiquer des problèmes DNS
  • netstat -tulpn : affiche tous les ports ouverts et les processus qui les écoutent
  • ss -tulpn : remplaçant plus moderne de netstat
  • curl : effectue des requêtes HTTP (pratique pour tester des sites web)
  • wget : télécharge des fichiers depuis internet

Gestion du pare-feu

  • ufw status : affiche les règles actuelles du pare-feu
  • ufw allow 80 : ouvre le port 80 pour le trafic HTTP
  • ufw deny : bloque un port ou une adresse IP précise
  • ufw enable/disable : active ou désactive le pare-feu
  • iptables -L : affiche les règles iptables sous-jacentes

Commandes de gestion des paquets

Installer, mettre à jour et supprimer des logiciels est un élément central de la connaissance des commandes Linux pour VPS. Les commandes varient selon la distribution.

Ubuntu/Debian (APT)

  • apt update : actualise les listes de paquets
  • apt upgrade : installe les mises à jour disponibles
  • apt install [paquet] : installe un nouveau paquet
  • apt remove [paquet] : supprime un paquet
  • apt autoremove : supprime les dépendances inutilisées
  • apt search [terme] : recherche les paquets disponibles

CentOS/AlmaLinux (DNF/YUM)

  • dnf update : met à jour tous les paquets
  • dnf install [paquet] : installe un paquet
  • dnf remove [paquet] : supprime un paquet
  • dnf search [terme] : recherche des paquets

Gestion des services avec systemd

Les distributions Linux modernes utilisent systemd pour gérer les services. Ces commandes Linux pour VPS sont essentielles pour démarrer, arrêter et surveiller les serveurs web, les bases de données et d'autres services.

Principales commandes systemctl

  • systemctl start [service] : démarre un service
  • systemctl stop [service] : arrête un service
  • systemctl restart [service] : redémarre un service
  • systemctl status [service] : affiche l'état d'un service
  • systemctl enable [service] : démarre automatiquement au démarrage du système
  • systemctl disable [service] : empêche le démarrage automatique
  • journalctl -u [service] : affiche les journaux d'un service précis

Services courants sur un serveur web

ServiceDescriptionPort par défaut
nginx / apache2Serveur web80, 443
mysql / mariadbServeur de base de données3306
php-fpmProcesseur PHP9000 (socket)
sshdServeur SSH22
fail2banPrévention d'intrusionN/A
postfixServeur de messagerie25, 587

Analyse des fichiers journaux

Les journaux sont votre principale source d'information pour diagnostiquer les problèmes. Maîtriser les commandes Linux pour VPS liées aux journaux est indispensable pour le dépannage.

Emplacements importants des journaux

  • /var/log/syslog : journal système général
  • /var/log/auth.log : authentification et événements de sécurité
  • /var/log/nginx/ : journaux d'accès et d'erreurs de Nginx
  • /var/log/apache2/ : journaux d'accès et d'erreurs d'Apache
  • /var/log/mysql/ : journaux de MySQL/MariaDB
  • /var/log/fail2ban.log : journal d'activité de Fail2ban

Analyser les journaux avec des commandes

  • tail -f /var/log/syslog : suit le syslog en temps réel
  • grep "error" /var/log/nginx/error.log : recherche les erreurs
  • awk '{print $1}' access.log | sort | uniq -c | sort -rn | head : les 10 principales adresses IP du journal d'accès
  • journalctl --since "1 hour ago" : affiche les journaux de la dernière heure
  • zcat /var/log/syslog.2.gz | grep "keyword" : recherche dans les anciens journaux compressés

Commandes de sauvegarde et de compression

La création de sauvegardes est cruciale pour votre stratégie de sauvegarde de site web. Voici les commandes Linux pour VPS dont vous avez besoin pour cela :

  • tar -czf backup.tar.gz /chemin/vers/dossier/ : crée une archive compressée
  • tar -xzf backup.tar.gz : extrait une archive
  • rsync -avz source/ destination/ : synchronise des fichiers avec une copie incrémentielle
  • scp fichier user@server:/chemin/ : copie des fichiers vers un autre serveur via SSH
  • mysqldump -u user -p database > backup.sql : crée une sauvegarde de base de données
  • mysql -u user -p database < backup.sql : restaure une sauvegarde de base de données

Conseils pour une gestion efficace d'un VPS

Pour finir, quelques conseils pour rendre votre gestion quotidienne de VPS plus efficace grâce aux commandes Linux pour VPS :

Alias et raccourcis

Créez des alias pour les commandes fréquemment utilisées dans votre fichier .bashrc. Par exemple, un alias pour consulter rapidement la charge du serveur, redémarrer votre serveur web ou vérifier les mises à jour disponibles. Cela fait gagner du temps et réduit les fautes de frappe.

Crontab pour l'automatisation

Utilisez crontab pour automatiser des tâches comme les sauvegardes quotidiennes, la rotation des journaux et les analyses du système. Consultez notre guide sur la configuration des tâches cron pour en savoir plus sur l'automatisation des tâches.

Maîtriser les commandes Linux pour VPS est un investissement qui se rentabilise rapidement. Avec les commandes de ce guide, vous disposez d'une base solide pour administrer votre VPS de façon professionnelle. À mesure que vous gagnerez en expérience, vous découvrirez que la ligne de commande est un outil puissant et efficace dont vous ne voudrez plus vous passer. Vous envisagez d'acheter un VPS ? Consultez notre comparaison louer un VPS : prix et options.

Conseils avancés pour la gestion quotidienne d'un VPS

Au-delà des commandes de base, il existe des techniques avancées qui rendent plus efficace votre travail quotidien avec les commandes Linux pour VPS.

Scripts shell pour l'automatisation

Les scripts shell sont de puissants outils pour automatiser les tâches répétitives sur votre VPS. En regroupant plusieurs commandes Linux pour VPS dans un script, vous pouvez effectuer des tâches complexes avec une seule commande. Commencez par des scripts simples pour les tâches de sauvegarde, puis passez progressivement à des automatisations plus avancées. Utilisez des variables, de la logique conditionnelle et des boucles pour rendre vos scripts flexibles et réutilisables.

Tmux et screen : gérer des sessions

Tmux et screen sont des multiplexeurs de terminal qui vous permettent de gérer plusieurs sessions de terminal au sein d'une seule connexion SSH. C'est particulièrement utile pour les tâches de longue durée : si votre connexion SSH est interrompue de façon inattendue, vos processus continuent de tourner dans la session tmux. Vous pouvez vous reconnecter plus tard et reprendre exactement là où vous vous étiez arrêté. C'est indispensable pour l'administration de serveur à distance.

Pipelines et redirection de sortie

La force de Linux réside dans la combinaison de commandes via des pipes et des redirections. Avec le symbole du pipe, vous pouvez utiliser la sortie d'une commande comme entrée de la suivante. La redirection de sortie vous permet d'enregistrer les résultats dans des fichiers pour une analyse ultérieure. Ces techniques permettent de construire des analyses de données et des rapports système complexes à partir de briques simples.

Commandes Linux pour VPS : gestion avancée des fichiers

Une gestion efficace des fichiers en ligne de commande est une compétence clé pour les administrateurs de VPS. Avec les bonnes commandes Linux pour la gestion d'un VPS, vous pouvez trouver, analyser et gérer rapidement des fichiers sans interface graphique.

Commandes essentielles de gestion de fichiers

CommandeFonctionExempleUtilisation
findRecherche de fichiers selon des critèresfind / -name "*.log" -mtime +30Trouver les anciens fichiers journaux
duUtilisation du disque par répertoiredu -sh /var/*Analyser l'espace disque
rsyncSynchronisation de fichiersrsync -avz /source/ /destination/Sauvegardes et migrations
tarArchivage de fichierstar -czf backup.tar.gz /data/Compression et archivage
chmod/chownModification des droitschmod 644 fichier.txtSécurité et accès
lnCréation de liens symboliquesln -s /destination /linkGestion de la configuration

La commande find est particulièrement puissante pour l'administration d'un VPS. Combinez-la avec exec pour exécuter des actions sur les fichiers trouvés, par exemple pour supprimer les fichiers temporaires de plus de 7 jours. Cela aide à garder votre VPS propre et performant.

Commandes Linux pour VPS : diagnostic réseau

En cas de problème serveur, le diagnostic réseau est souvent la clé pour trouver la cause. Avec ces commandes Linux, vous pouvez identifier et résoudre rapidement les problèmes réseau sur votre VPS.

  • netstat -tlnp : affiche tous les ports en écoute et les processus qui les utilisent. Essentiel pour vérifier que les services tournent sur les ports attendus.
  • ss -tlnp : remplaçant plus moderne de netstat, avec une sortie plus rapide sur les systèmes comptant beaucoup de connexions.
  • tcpdump : capture le trafic réseau pour l'analyser. Pratique pour déboguer des problèmes de connexion ou examiner un trafic suspect.
  • dig et nslookup : testent la résolution DNS pour diagnostiquer des problèmes de domaine. Vérifiez que votre domaine pointe vers la bonne adresse IP.
  • traceroute : suit le chemin des paquets réseau vers une destination. Identifiez où se produisent les retards ou les blocages.
  • iftop : moniteur de bande passante en temps réel par connexion. Indispensable pour voir quelles connexions consomment le plus de bande passante.

Ces commandes sont aussi utiles lors de la mise en place d'une surveillance de serveur. En effectuant régulièrement des diagnostics réseau, vous pouvez repérer les problèmes avant qu'ils n'atteignent les visiteurs de votre site web.

Automatisation avec des scripts Bash sur votre VPS

Exécuter manuellement des tâches répétitives est source d'erreurs et chronophage. Avec des scripts Bash, vous automatisez les tâches courantes de gestion d'un VPS et vous gagnez un temps précieux.

Les automatisations les plus courantes pour la gestion d'un VPS sont :

  1. Sauvegardes automatiques : un script qui sauvegarde chaque jour votre base de données et vos fichiers vers un emplacement externe.
  2. Rotation et nettoyage des journaux : supprimez automatiquement les anciens fichiers journaux pour libérer de l'espace disque.
  3. Contrôles de santé : vérifiez que les services tournent et redémarrez-les automatiquement en cas de panne.
  4. Analyses de sécurité : analyses quotidiennes à la recherche de rootkits, de logiciels malveillants et de modifications non autorisées de fichiers.
  5. Renouvellement des certificats SSL : renouvellement automatique des certificats Let's Encrypt avec des tâches cron.

Utilisez cron pour planifier des tâches automatisées. Modifiez la crontab avec crontab -e et ajoutez vos tâches au format cron standard. N'oubliez pas d'écrire la sortie de vos scripts dans un fichier journal afin de pouvoir analyser les problèmes. Combinez vos scripts avec la checklist de sécurité du VPS pour une gestion de votre serveur entièrement automatisée et sûre.

Commandes Linux pour VPS : gestion des processus et dépannage

La gestion des processus est une tâche quotidienne dans l'administration d'un VPS. Avec les bonnes commandes Linux, vous pouvez rapidement savoir quels processus consomment des ressources, redémarrer les services bloqués et surveiller l'état général du serveur.

Les commandes top et htop affichent en temps réel l'utilisation du CPU et de la mémoire par processus. Htop est la variante la plus conviviale, avec des couleurs et la prise en charge de la souris, mais elle n'est pas toujours préinstallée. Avec ps aux, vous listez tous les processus en cours, et en combinaison avec grep, vous pouvez filtrer des processus précis. La commande kill envoie des signaux aux processus : SIGTERM (15) demande à un processus de se terminer proprement, tandis que SIGKILL (9) le termine de force. Utilisez toujours SIGTERM d'abord, et SIGKILL seulement en dernier recours.

Systemd est le système d'initialisation des distributions Linux modernes et gère tous les services de votre VPS. Avec systemctl start, stop, restart et status, vous gérez les services. Avec journalctl, vous consultez les journaux de services précis. Combinez ces commandes avec l'automatisation par scripts Bash évoquée plus haut pour mettre en place un processus de gestion robuste.

Commandes Linux pour VPS : gestion des disques et optimisation du stockage

L'espace disque est une ressource finie sur votre VPS, et des disques pleins de façon inattendue provoquent des plantages et des pertes de données. Avec ces commandes Linux pour la gestion d'un VPS, vous gardez le contrôle de votre espace disque et évitez les problèmes.

La commande df -h affiche l'utilisation du disque par partition dans un format lisible. Utilisez du -sh avec des répertoires précis pour trouver les plus gros consommateurs d'espace. Les fichiers journaux sont souvent responsables des disques qui se remplissent ; contrôlez régulièrement le répertoire /var/log. La commande ncdu (NCurses Disk Usage) offre une interface interactive pour parcourir votre système de fichiers et repérer rapidement les gros fichiers et répertoires. Configurez des alertes lorsque l'utilisation du disque dépasse 80 %, afin d'avoir tout le temps de faire du ménage ou d'étendre la capacité de stockage avant que cela ne devienne un problème.

Commandes Linux pour VPS : commandes de sécurité

Outre la gestion des fichiers et le diagnostic réseau, certaines commandes Linux sont essentielles pour la sécurité de votre VPS. Avec ces commandes, vous surveillez la sécurité de votre serveur et détectez les activités suspectes.

La commande last affiche un aperçu de toutes les tentatives de connexion récentes à votre serveur, avec l'heure, l'IP source et la durée de session. Avec lastb, vous consultez les tentatives de connexion échouées, ce qui est utile pour repérer des attaques par force brute. La commande who indique qui est actuellement connecté au serveur. Utilisez w pour un aperçu plus complet qui montre aussi ce que fait chaque utilisateur connecté.

Pour contrôler les ports ouverts et les services en écoute, utilisez ss -tlnp ou, plus ancien, netstat -tlnp. Comparez régulièrement la sortie avec la configuration attendue : des ports ouverts de façon inattendue ou des services inconnus sont un signal d'alarme. La commande lsof -i affiche toutes les connexions réseau par processus, ce qui aide à repérer des connexions sortantes suspectes. Intégrez ces commandes de sécurité à votre routine quotidienne ou automatisez-les via des scripts qui génèrent chaque jour un rapport de sécurité envoyé par e-mail.