| 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