| Système | Debian GNU/Linux 13 (trixie) |
|---|---|
| Noyau | Linux 6.12.107+deb13-amd64 |
| Architecture | x86-64 |
| version | xBrowserSync 1.1.13 |
| Date | 10/2026 |
Invoquer mongosh, puis les commandes suivantes depuis le prompt :
use admin
db.createUser({ user: "xbrowsersyncdb", pwd: "MyPasswordHere", roles: [ { role: "readWrite", db: "xbrowsersync" }, { role: "readWrite", db: "xbrowsersynctest" } ] })
use xbrowsersync
db.newsynclogs.createIndex( { "expiresAt": 1 }, { expireAfterSeconds: 0 } )
db.newsynclogs.createIndex({ "ipAddress": 1 })
quit
Installer les paquets suivants :
apt install -y git
Créer un utilisateur standard xbro
adduser --comment "Run xBrowserSync service" xbro install -o xbro -g xbro -m 750 -d /srv/xbrowsersync su - xbro cd /srv/xbrowsersync/ umask 0077 git clone https://github.com/xbrowsersync/api.git
La version xBrowserSync 1.1.13 compile correctement avec Node.js 15
# Télécharger et installer nvm : curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.6/install.sh | bash # au lieu de redémarrer le shell \. "$HOME/.nvm/nvm.sh" # Télécharger et installer Node.js 15 : nvm install 15
Pour Vérifiez la version de Node.js :
node -v # Doit afficher "v15.14.0". npm -v # Doit afficher "7.7.6".
Si plusieurs versions de Node.js coexistent dans l'environnement, on définit la v15 par défaut via la commande :
nvm install 15 nvm alias default v15.14.0
cd api npm install
Les dépendances nécessaire au programme sont installées dans le dossier ./node_modules
Vérifier l'installation des dépendances :
npm list
Créer le dossier d'enregistrement des logs :
# en root install -o xbro -g root -m 750 -d /var/log/xBrowserSync
Pour tester l'application :
node dist/api.js
Arrêter l'exécution avec Ctrl + C. Le fichier de trace /var/log/xBrowserSync/api.log a été créé avec un contenu de la forme :
{"name":"xBrowserSync_api","hostname":"xbrowsersync","pid":2052,"level":30,"msg":"Service started at http://127.0.0.1:8080/","time":"2026-10-10T08:24:58.553Z","v":0}
{"name":"xBrowserSync_api","hostname":"xbrowsersync","pid":2052,"level":30,"req":null,"msg":"Process terminated by SIGINT","time":"2026-10-10T08:25:16.809Z","v":0}
{"name":"xBrowserSync_api","hostname":"xbrowsersync","pid":2052,"level":30,"msg":"Service shutting down","time":"2026-10-10T08:25:16.809Z","v":0}
Ici on peut voir que l'application s'exécute par défaut sur la boucle locale et utilise le port 8080.
A ce stade l'application fonctionne mais pour la rendre accessible il nous faut encore :
touch /etc/systemd/system/xbrowsersync.service
Ci-dessous le contenu du fichier unité /etc/systemd/system/xbrowsersync.service
[Unit]
Description=API de synchronisation des favoris xBrowserSync
#Before=
After=mongod.service
ConditionPathExists=/srv/xbrowsersync/api
#ConditionFileIsExecutable=
[Service]
#Environment=
Type=simple
User=xbro
Group=xbro
WorkingDirectory=/srv/xbrowsersync/api
#ExecStartPre=
ExecStart=node dist/api.js
#ExecStop=
KillSignal=SIGINT
#ExecStopPost=
#RemainAfterExit=
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
Activer le nouveau service :
systemctl --system daemon-reload systemctl enable --now xbrowsersync.service systemctl status xbrowsersync.service
On peut tester un redémarrage et vérifier que le service s'exécute bien :
systemclt reboot
# Après redémarrage et reconnexion en root
systemctl status xbrowsersync.service