Un aspect crucial que tout administrateur système doit maîtriser est la configuration du démarrage automatique des services. Cette configuration garantit qu’un serveur redémarre et que ses services sont opérationnels sans intervention manuelle.
Un serveur peut redémarrer pour diverses raisons, parmi lesquelles :
- Redémarrages programmés (hebdomadaires, mensuels, etc.)
- Redémarrages inattendus dus à des problèmes matériels ou au noyau
Une configuration correcte permet d’éviter de devoir démarrer manuellement les services à chaque redémarrage.
L’automatisation, n’est-ce pas une bonne chose ?
Les exemples ci-dessous illustrent la configuration sur deux distributions populaires, testées sur des serveurs DigitalOcean.
CentOS ou RHEL 6.x
Dans cet exemple, nous prenons un serveur HTTP Apache, mais la procédure reste valable pour tout autre service que vous souhaitez démarrer automatiquement au démarrage sur Red Hat Enterprise Linux (RHEL) ou CentOS 6.
Vous pouvez choisir n’importe quel nom pour votre fichier de script. Ici, nous conservons « httpd ».
- Connectez-vous en tant qu’utilisateur root à votre serveur Linux.
- Créez ou copiez votre script dans le répertoire /etc/init.d/.
[root@serveur init.d]# ls -ltr httpd -rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd [root@serveur init.d]#
Nous utiliserons l’utilitaire « chkconfig », présent par défaut sur les systèmes Linux et CentOS.
- Ajoutez le script au démarrage automatique en utilisant chkconfig avec l’option –add.
[root@serveur init.d]# chkconfig --add httpd [root@serveur init.d]# chkconfig httpd on
- Vérifiez que le script a été ajouté avec succès en utilisant l’option –list.
[root@serveur init.d]# chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@serveur init.d]#
C’est tout ! Le script httpd sera exécuté pour démarrer les services au démarrage de Linux.
Si vous souhaitez désactiver le démarrage automatique du service, vous pouvez utiliser les commandes suivantes:
chkconfig httpd off chkconfig --del httpd
RHEL ou CentOS 7.x/8.x
La configuration du démarrage automatique des services dans RHEL 7 est légèrement différente de celle de RHEL 6. Elle utilise « systemd » pour la gestion des services.
La plupart des logiciels tels que Apache, PHP, MySQL, Nginx sont configurés en tant que services lors de leur installation.
Prenons l’exemple de PHP-FPM.
Commençons par vérifier l’état de php-fpm (en supposant que vous avez déjà les scripts dans /usr/lib/systemd/system/).
[root@serveur ~]# systemctl status php-fpm php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@serveur ~]#
Comme vous pouvez le voir, l’état est « disabled », ce qui signifie qu’il n’est pas configuré pour un démarrage automatique.
Activons le démarrage automatique de php-fpm avec la commande « systemctl ».
[root@serveur ~]# systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service. [root@serveur ~]#
Vérifions à nouveau l’état.
[root@serveur ~]# systemctl status php-fpm php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: inactive (dead) [root@serveur ~]#
php-fpm est maintenant prêt à démarrer automatiquement. Testons cela en redémarrant le serveur.
Si vous souhaitez désactiver le démarrage automatique d’un service, utilisez la commande suivante :
systemctl disable php-fpm
Vous pouvez également consulter cet article qui explique « systemd » et la configuration du démarrage automatique des services.
Ubuntu
La configuration du démarrage automatique des services sous Ubuntu est légèrement différente. Imaginons que le nom du script soit « Nginx ».
- Connectez-vous au serveur Ubuntu en tant que root.
- Copiez le script dans le répertoire /etc/init.d/.
- Exécutez la commande ci-dessous :
update-rc.d nginx defaults
- Redémarrez le serveur pour vérifier que les services ont bien démarré.
Ces informations m’ont été utiles et j’espère qu’elles le seront aussi pour vous.
L’administration système est toujours enrichissante et stimulante. Si vous cherchez à développer votre carrière dans ce domaine, vous pouvez consulter ce cours Udemy.
Apprenez également comment identifier la cause d’un redémarrage soudain de Linux.
Consultez cet article pour savoir comment installer ou mettre à jour PHP-FPM 5.6 sur CentOS 6.x.
Vous avez apprécié cet article ? N’hésitez pas à le partager !