
Que vous ayez commandé un serveur dédié pour héberger des sites web, des applications, un panel d’administration, ou pour monter une infra plus complexe, il y a des étapes essentielles à faire dès la première connexion. Dans cet article, on passe en revue, de manière simple et pratique, comment bien préparer son serveur GNU/Linux dès le départ.
1. Se connecter en SSH pour la première fois
Une fois le serveur livré, vous recevez l’IP et les accès SSH. Sur votre machine locale :
ssh root@IP_DU_SERVEUR
Conseil : Ne travaillez pas longtemps en root. On va justement créer un utilisateur non-root ensuite.
2. Créer un utilisateur admin non-root
Pour plus de sécurité, on évite de faire toute l’administration en tant que root
.
adduser admin
usermod -aG sudo admin
Puis :
exit
ssh admin@IP_DU_SERVEUR
3. Mettre à jour le système
Même un serveur fraîchement livré peut avoir des paquets obsolètes.
sudo apt update && sudo apt upgrade -y
(si vous êtes sous Debian/Ubuntu – adaptez pour CentOS, Fedora, etc.)
4. Sécuriser SSH
L’accès SSH est la porte principale de votre serveur. Il faut le verrouiller correctement.
a. Désactiver l’accès root
sudo nano /etc/ssh/sshd_config
Modifiez :
PermitRootLogin no
Puis :
sudo systemctl restart ssh
b. Changer le port SSH (optionnel mais utile)
Toujours dans /etc/ssh/sshd_config
, modifiez :
Port 2222
Et redémarrez SSH.
⚠️ Attention : ouvrez le port correspondant dans le pare-feu si vous en utilisez un (ex : UFW).
5. Installer un pare-feu simple avec UFW
Un pare-feu bien configuré bloque tout sauf ce que vous autorisez.
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # ou 22 si vous avez gardé le port SSH classique
sudo ufw enable
Ajoutez ensuite les ports dont vous avez besoin (web, mail, etc.).
6. Installer les outils de base
Voici une liste minimale d’outils utiles sur tout serveur :
sudo apt install htop curl wget git unzip fail2ban net-tools
htop
: pour surveiller l’usage CPU/RAMfail2ban
: pour bloquer les tentatives de brute forcegit
: pour gérer vos dépôtsnet-tools
: contientifconfig
,netstat
, etc.
7. Configurer le nom d’hôte et le fuseau horaire
a. Définir un hostname :
sudo hostnamectl set-hostname mon-serveur
b. Régler le bon fuseau horaire :
sudo timedatectl set-timezone Europe/Paris
8. Créer une clé SSH pour se connecter sans mot de passe
Sur votre machine locale :
ssh-keygen
ssh-copy-id admin@IP_DU_SERVEUR
Ensuite, désactivez l’authentification par mot de passe :
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
9. Planifier des sauvegardes dès le début
Même si vous n’avez encore rien d’important, automatiser la sauvegarde maintenant vous évite de l’oublier plus tard.
- Stockage local temporaire (
/backups
) - Rsync vers un autre serveur ou un stockage cloud (S3, Backblaze, etc.)
- Sauvegardes chiffrées avec
restic
ouborg
10. Choisir un stack (Apache/Nginx, PHP, DB, etc.)
Votre serveur est prêt. Il ne reste plus qu’à installer ce dont vous avez besoin selon vos projets :
- Web :
nginx
ouapache2
- PHP :
php-fpm
,php-cli
, etc. - Base de données :
mysql
,postgresql
, oumariadb
- Panel :
Cockpit
,Webmin
, ou manuellement
Bonus : Surveiller et maintenir le serveur dans le temps
- Créez des alertes via
monit
,prometheus + grafana
, ouuptime-kuma
- Activez
unattended-upgrades
pour appliquer les mises à jour de sécurité automatiquement - Planifiez un audit mensuel : logs, espace disque, état des services
En résumé
✔️ Créez un utilisateur admin non-root
✔️ Sécurisez SSH et le pare-feu
✔️ Mettez à jour le système
✔️ Installez vos outils de base
✔️ Automatisez les sauvegardes
✔️ Installez votre stack applicatif