Configurer un serveur Linux peut sembler intimidant au début, mais c’est une compétence essentielle pour de nombreux administrateurs systèmes, développeurs et ingénieurs. Que ce soit pour héberger un site web, une base de données, ou déployer des applications, une bonne configuration du serveur garantit des performances optimales et une sécurité accrue.
Dans cet article, nous allons vous guider à travers les étapes de configuration d’un serveur Linux de manière claire et structurée.
Pourquoi Choisir Linux pour un Serveur ?
Linux est un système d’exploitation open-source largement utilisé pour les serveurs en raison de sa stabilité, de sa sécurité, de ses faibles coûts, et de sa flexibilité. Il existe plusieurs distributions Linux (ou distros), comme Ubuntu, CentOS, Debian ou Fedora, qui peuvent être utilisées en fonction des besoins spécifiques.
Pré-requis
Avant de commencer la configuration de votre serveur Linux, voici quelques éléments essentiels à préparer :
- Accès root ou un utilisateur avec des privilèges sudo.
- Une connexion SSH pour accéder à votre serveur à distance (pour les serveurs en cloud comme AWS ou DigitalOcean).
- Un serveur avec une distribution Linux installée (vous pouvez installer Linux via une ISO sur une machine physique ou virtuelle).
Étapes pour Configurer un Serveur Linux
1. Connexion SSH au Serveur
La première étape consiste à vous connecter à votre serveur via SSH. Utilisez un terminal et la commande suivante :
ssh username@your_server_ip
Remplacez username par votre nom d’utilisateur (généralement root ou un utilisateur avec des privilèges sudo), et your_server_ip par l’adresse IP publique de votre serveur.
2. Mise à Jour du Serveur
Une fois connecté, il est important de mettre à jour votre serveur pour vous assurer qu’il dispose des derniers correctifs de sécurité et des logiciels les plus récents.
Pour les distributions basées sur Debian/Ubuntu :
sudo apt update && sudo apt upgrade -y
Pour les distributions basées sur Red Hat/CentOS :
sudo yum update -y
Cela permettra de s’assurer que tous les paquets sont à jour.
3. Création d’un Utilisateur avec Privilèges Sudo
Par sécurité, il est recommandé de ne pas utiliser le compte root directement pour les opérations quotidiennes. Créez un nouvel utilisateur avec des privilèges sudo :
sudo adduser newuser
sudo usermod -aG sudo newuser
Vous pouvez ensuite vous connecter en tant que ce nouvel utilisateur :
su - newuser
4. Sécurisation du Serveur
A. Désactivation de l’accès root SSH
Il est important de désactiver l’accès SSH direct pour l’utilisateur root, pour éviter les attaques par force brute. Ouvrez le fichier de configuration SSH :
sudo nano /etc/ssh/sshd_config
Recherchez la ligne suivante :
PermitRootLogin yes
Changez-la en :
PermitRootLogin no
Enregistrez et quittez l’éditeur. Ensuite, redémarrez le service SSH pour appliquer les changements :
sudo systemctl restart sshd
B. Configurer un Pare-feu
L’activation d’un pare-feu est cruciale pour protéger votre serveur des attaques extérieures. Sur une distribution Debian/Ubuntu, vous pouvez utiliser ufw (Uncomplicated Firewall) :
sudo ufw allow OpenSSH
sudo ufw enable
Cela autorise les connexions SSH et active le pare-feu.
5. Installation de Serveurs Web et Services
A. Installation de Nginx ou Apache
Si vous souhaitez configurer un serveur web, vous pouvez choisir entre Nginx ou Apache. Voici comment installer Nginx :
Pour Debian/Ubuntu :
sudo apt install nginx -y
Pour CentOS/Red Hat :
sudo yum install nginx -y
Démarrez et activez Nginx :
sudo systemctl start nginx
sudo systemctl enable nginx
B. Installation de MySQL ou PostgreSQL
Si vous avez besoin d’une base de données, vous pouvez installer MySQL ou PostgreSQL. Pour installer MySQL sur une distribution Debian/Ubuntu :
sudo apt install mysql-server -y
Activez et démarrez le service MySQL :
sudo systemctl enable mysql
sudo systemctl start mysql
6. Installation de PHP
Si vous devez exécuter des applications PHP, installez PHP et les modules nécessaires :
sudo apt install php-fpm php-mysql -y
Pour vérifier que PHP fonctionne bien avec Nginx, créez un fichier de test dans le répertoire web par défaut :
sudo nano /var/www/html/info.php
Ajoutez le contenu suivant :
<?php
phpinfo();
?>
Accédez ensuite à http://your_server_ip/info.php pour vérifier que PHP est installé correctement.
7. Automatisation avec Cron Jobs
Si vous devez exécuter des tâches récurrentes sur votre serveur, vous pouvez les automatiser avec cron. Par exemple, pour exécuter une sauvegarde tous les jours à 2h du matin, vous pouvez ajouter une entrée cron :
sudo crontab -e
Ajoutez la ligne suivante :
0 2 * * * /path/to/backup/script.sh
8. Sauvegarde et Récupération
La sauvegarde régulière des données de votre serveur est essentielle pour éviter les pertes de données. Vous pouvez utiliser des outils comme rsync pour effectuer des sauvegardes régulières.
Exemple de commande rsync pour sauvegarder un répertoire :
rsync -avz /source/directory /backup/directory
Conclusion
La configuration d’un serveur Linux est un processus fondamental pour de nombreux projets. Que vous hébergiez un site web, une application ou un service, comprendre les étapes de configuration de base vous permettra de maximiser la performance et la sécurité de votre infrastructure. En suivant les étapes détaillées ci-dessus, vous serez en mesure de déployer un serveur Linux prêt à être utilisé pour divers cas d’utilisation.
N’oubliez pas de toujours maintenir votre serveur à jour et de le protéger contre les menaces extérieures en appliquant les meilleures pratiques de sécurité.
Abonnez-vous à notre Newsletter !
Restez à jour avec les dernières tendances, articles et actualités directement dans votre boîte de réception. En vous abonnant à la newsletter de Wordly Fusion, vous recevrez des contenus exclusifs, des recommandations personnalisées, et les nouveautés les plus passionnantes de notre site. Ne manquez aucune mise à jour et soyez toujours informé des sujets qui vous intéressent. Inscrivez-vous dès maintenant pour rejoindre notre communauté !
