Outil en ligne de commande servbayctl
servbayctl
est un puissant outil en ligne de commande fourni par ServBay, conçu pour offrir aux développeurs la possibilité de gérer directement, depuis le terminal, les services d’arrière-plan de ServBay. Avec servbayctl
, vous pouvez facilement démarrer, arrêter, recharger, redémarrer, forcer l'arrêt, visualiser le statut et interrompre tous les services, ce qui est particulièrement utile pour l'automatisation de scripts, le basculement rapide de l’état des services ou pour les développeurs qui préfèrent l’interface en ligne de commande.
Ce guide explique en détail comment utiliser servbayctl
, ainsi que les commandes, paramètres et services pris en charge.
Présentation
ServBay n’offre pas uniquement une interface graphique intuitive (GUI) pour la gestion de votre environnement web local, il inclut également l’outil en ligne de commande (CLI) servbayctl
. Localisé dans le dossier script
du répertoire d'installation de ServBay, servbayctl
vous permet de contrôler facilement, à l’aide de simples commandes, l’exécution des divers paquets logiciels installés via ServBay en tant que services d’arrière-plan.
Les avantages d’utiliser servbayctl
incluent :
- Automatisation : intégrez facilement la gestion des services dans vos scripts de workflow de développement.
- Efficacité : démarrez ou arrêtez rapidement des services spécifiques sans ouvrir l’interface graphique.
- Flexibilité : idéal pour les connexions SSH distantes ou les environnements sans interface graphique.
- Contrôle précis : possibilité de cibler des services ou versions spécifiques.
Prérequis
Avant d'utiliser servbayctl
, assurez-vous que :
ServBay est correctement installé sur votre système.
Vous avez accès à un terminal.
(Facultatif, recommandé) Pour simplifier l’utilisation, ajoutez le dossier
/Applications/ServBay/script
à la variable d’environnement PATH de votre système. Cela vous permettra d’exécuter la commandeservbayctl
depuis n’importe quel emplacement, sans avoir à taper le chemin complet.Pour les utilisateurs de Bash ou Zsh, modifiez l’un de vos fichiers
~/.bash_profile
,~/.bashrc
,~/.zshrc
ou~/.profile
et ajoutez la ligne suivante :bashexport PATH="/Applications/ServBay/script:$PATH"
1Sauvegardez le fichier, puis exécutez
source ~/.bash_profile
(ou le fichier que vous avez modifié) pour appliquer les modifications, ou redémarrez simplement votre terminal.
Syntaxe d’utilisation
La syntaxe de base de la commande servbayctl
est la suivante :
bash
servbayctl <command> <service> [parameters]
1
<command>
: L’action souhaitée (par exemplestart
,stop
,restart
).<service>
: Le nom du service à gérer (par exemplephp
,mysql
,caddy
).[parameters]
: Paramètres optionnels, pour préciser la version ou l’étendue (7.4
ou-all
, par exemple).
Selon la documentation fournie par ServBay, les commandes supportées et la structure de base sont les suivantes :
Usage: /Applications/ServBay/script/servbayctl {start|stop|reload|restart|kill|status|stop-all} {php|mariadb|mysql|postgresql|redis|memcached|caddy|nginx|apache|dnsmasq|mongodb|rabbitmq|cloudflared|frpc|mailpit|web|ollama} [-all|version]
1
À noter : la commande stop-all
ne prend ni nom de service ni paramètre. Elle arrête tous les services gérés par ServBay.
Détail des commandes supportées
Voici les explications détaillées et des exemples concrets pour chaque commande prise en charge par servbayctl
:
start
- Démarrer un service
Démarre le service spécifié. Vous pouvez préciser une version donnée ou utiliser -all
pour démarrer toutes les versions installées du service.
bash
servbayctl start <service> [-all|version]
1
- Exemple : Démarrer PHP 8.1 :bash
servbayctl start php 8.1
1 - Exemple : Démarrer toutes les versions de PHP installées :bash
servbayctl start php -all
1 - Exemple : Démarrer MySQL avec la configuration par défaut :bash
servbayctl start mysql
1
stop
- Arrêter un service
Arrête le service spécifié. Vous pouvez préciser la version ou utiliser -all
pour arrêter toutes les versions installées.
bash
servbayctl stop <service> [-all|version]
1
- Exemple : Arrêter PHP 7.4 :bash
servbayctl stop php 7.4
1 - Exemple : Arrêter toutes les versions de MariaDB installées :bash
servbayctl stop mariadb -all
1 - Exemple : Arrêter Redis :bash
servbayctl stop redis
1
reload
- Recharger la configuration d’un service
Recharge la configuration du service spécifié. Utile après modification d’un fichier de configuration, sans avoir à redémarrer complètement le service. Tous les services ne prennent pas en charge le rechargement à chaud.
bash
servbayctl reload <service> [-all|version]
1
- Exemple : Recharger la configuration du serveur web Caddy :bash
servbayctl reload caddy
1 - Exemple : Recharger la configuration de toutes les versions de PHP installées (si supporté) :bash
servbayctl reload php -all
1
restart
- Redémarrer un service
Redémarre le service spécifié (équivaut à un arrêt suivi d’un redémarrage).
bash
servbayctl restart <service> [-all|version]
1
- Exemple : Redémarrer le service PostgreSQL :bash
servbayctl restart pgsql
1 - Exemple : Redémarrer toutes les versions de Redis installées (si plusieurs sont présentes) :bash
servbayctl restart redis -all
1
kill
- Forcer l’arrêt d’un processus
Termine de manière forcée le processus du service spécifié. Cette commande, plus radicale, doit être utilisée avec précaution, notamment pour les bases de données car elle peut provoquer une perte ou une corruption de données. À réserver aux cas où le service ne peut être arrêté normalement.
bash
servbayctl kill <service> [-all|version]
1
- Exemple : Forcer l’arrêt de PHP 7.4 :bash
servbayctl kill php 7.4
1 - Exemple : Forcer l’arrêt de tous les processus Memcached :bash
servbayctl kill memcached -all
1
status
- Consulter le statut d’un service
Permet de vérifier l’état (en cours d’exécution ou non) d’un service.
bash
servbayctl status <service> [-all|version]
1
- Exemple : Vérifier le statut de Caddy :bash
servbayctl status caddy
1 - Exemple : Vérifier le statut de toutes les versions de MySQL installées :bash
servbayctl status mysql -all
1
stop-all
- Arrêter tous les services ServBay
Arrête tous les services en arrière-plan actuellement gérés par ServBay. Cette commande globale n’accepte ni nom de service ni argument de version.
bash
servbayctl stop-all
1
- Exemple : Arrêter tous les services gérés par ServBay :bash
servbayctl stop-all
1
Liste des services pris en charge
Selon la documentation d’utilisation de servbayctl
, l’outil peut gérer directement les types de services d’arrière-plan suivants :
php
: gestion des différentes versions de PHP-FPM.mariadb
: gestion de MariaDB.mysql
: gestion de MySQL.postgresql
: gestion de PostgreSQL.redis
: gestion du service de cache/base de données Redis.memcached
: gestion du cache Memcached.caddy
: gestion du serveur web Caddy.nginx
: gestion du serveur web Nginx.apache
: gestion du serveur HTTP Apache.dnsmasq
: gestion du service DNS intégré à ServBay.mongodb
: gestion de MongoDB.rabbitmq
: gestion du service de queue RabbitMQ.cloudflared
: gestion du service Cloudflare Tunnel (si installé et configuré).frpc
: gestion du client Fatedier/frp (si installé et configuré).mailpit
: gestion de l’outil de capture d’emails Mailpit.web
: gestion des services web (la signification exacte peut varier selon l’utilisation, par exemple le serveur web actif ou les interfaces web liées à ServBay).ollama
: gestion du service local de grands modèles de langage Ollama.
Notez que servbayctl
peut désormais gérer directement de nombreux services de base tels que Nginx et Apache. Même si ServBay prend en charge l’installation et l’utilisation d’autres outils (comme Java, Python, Go, .NET, Ruby, Rust, etc.), ces paquets ne sont généralement pas gérés comme services d’arrière-plan par servbayctl
et doivent être utilisés ou gérés directement via le terminal ou leurs propres outils. servbayctl
se concentre avant tout sur la gestion des services principaux tournant en mode démon.
Exemples d’utilisation courante
Quelques scénarios typiques pour utiliser servbayctl
:
Basculement rapide entre versions de PHP pour des tests :
bashservbayctl stop php -all servbayctl start php 8.2
1
2Redémarrage d’une base de données après modification de la configuration :
bash# Supposons que vous ayez modifié my.cnf ou my.ini servbayctl restart mysql
1
2S’assurer que tous les services sont arrêtés (par exemple avant une extinction ou une mise à jour de ServBay) :
bashservbayctl stop-all
1Vérification de l’état du serveur Web :
bashservbayctl status caddy
1Automatiser le démarrage des services de développement dans un script :
bash#!/bin/bash echo "Arrêt de tous les services ServBay..." servbayctl stop-all echo "Démarrage des services requis..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "Les services ServBay sont démarrés."
1
2
3
4
5
6
7
8
9
10
11
12
Conseils pratiques et recommandations
- Ajout au PATH : il est fortement conseillé d’ajouter le dossier où se trouve
servbayctl
dans votre PATH système, pour simplifier la saisie des commandes. - Utilisation prudente de
kill
: la commandekill
force l’arrêt du processus, ce qui peut entraîner la perte de données ou un état instable des services. Privilégiezstop
ourestart
sauf en cas de blocage. stop-all
est une opération globale : la commande arrête tous les services gérés par ServBay – soyez certain de vouloir effectuer cette action !- Paramètre de version : lorsque vous spécifiez une version, vérifiez qu’elle a bien été installée via ServBay. Vous pouvez consulter la liste des versions installées dans l’interface graphique.
- Gestion des erreurs : en cas d’échec de la commande
servbayctl
, un message d'erreur sera affiché dans le terminal. Reportez-vous à ces messages ou consultez les fichiers de logs dans le dossierlogs
de l’installation ServBay pour plus de détails. - Combiner GUI et CLI :
servbayctl
complète l’interface graphique. Pour les tâches complexes ou une vue d’ensemble, l’interface graphique reste une option pratique.
FAQ – Questions fréquentes
Q : J’obtiens l’erreur command not found
en exécutant servbayctl
, que faire ?
R : Cela signifie probablement que le dossier /Applications/ServBay/script
n’a pas été ajouté à votre PATH système. Référez-vous à la section « Prérequis » de ce guide pour les instructions.
Q : J'utilise servbayctl start <service>
pour démarrer un service, mais il ne se lance pas correctement. Que puis-je vérifier ?
R :
- Vérifiez le statut du service avec
servbayctl status <service>
. - Regardez les fichiers de logs correspondants dans le dossier
logs
de l’installation ServBay pour toute erreur spécifique. - Essayez de démarrer le même service via l’interface graphique, qui peut fournir des explications plus détaillées.
- Vérifiez la validité de vos fichiers de configuration.
Q : Le paramètre -all
s’applique-t-il à tous les services ?
R : -all
sert principalement pour les services dont plusieurs versions peuvent être installées, comme PHP. Pour les bases de données (MySQL, PostgreSQL, etc.) ou serveurs web (Caddy), généralement une seule instance tourne : utiliser -all
ou non aura le même effet, mais il est recommandé de rester explicite en nommant simplement le service. Pour Redis ou Memcached, il est possible d'avoir plusieurs instances (sur différents ports), et -all
agira sur l’ensemble selon la configuration de ServBay.
Conclusion
servbayctl
est une interface en ligne de commande puissante offerte par ServBay aux développeurs. Elle permet de gérer de façon flexible et efficace les services de l’environnement de développement local. En maîtrisant les commandes start
, stop
, reload
, restart
, kill
, status
et stop-all
, ainsi que les paramètres version
et -all
, vous pourrez piloter, directement depuis le terminal, tous les services pris en charge par ServBay comme PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy, et bien d’autres, afin d'automatiser vos workflows et d’optimiser votre expérience de développement.