Manuel d’administration d’un serveur
Table des matières
- Dois-je administrer un serveur ?
- Exigences
- Installation
- Modes du serveur
- Options de configuration
- Enregistrement
- Ajouter des métadonnées au serveur
- Serveurs sur le bureau
- Sauvegarder le serveur
- Dépannage
Dois-je administrer un serveur ?
Non. Vous n’avez pas besoin d’exécuter un serveur. Vous pouvez utiliser les serveurs répertoriés par les annuaires intégrés et utiliser Jamulus sans exécuter vous-même un serveur. Vous pouvez également utiliser un serveur non répertorié si vous connaissez son adresse Internet. Ou vous pouvez utiliser un service d’hébergement tiers tel que melomax ou KOORD. Il y a probablement un serveur à proximité que vous et vos amis pouvez utiliser avec une latence suffisamment faible pour la plupart des besoins.
L’utilisation d’un serveur public peut vous faire rencontrer des inconnus. Si vous voulez une session sans être dérangé, vous pouvez utiliser la technique du solo décrite sur la page Trucs et astuces. Vous n’entendrez pas les étrangers qui se connectent au serveur, mais ils pourront vous entendre s’ils le souhaitent.
Exigences
Vitesse et latence
La capacité du serveur lui-même (et du réseau sur lequel il se trouve) n’est PAS le principal déterminant de la qualité d’une session Jamulus!
Habituellement, les problèmes se situent du côté Client et doivent y être résolus. Consultez la page de dépannage si nécessaire.
Cependant, divers problèmes peuvent également survenir lors de la configuration des serveurs, en particulier lorsqu’ils sont exécutés sur une connexion domestique à faible bande passante. Il est généralement acceptable d’avoir moins de 5 musiciens sur une connexion domestique à vitesse plus lente (par exemple, 10 Mbit/s aval et 1 Mbit/s amont). Vous pouvez en savoir plus sur les exigences du réseau sur différents paramètres de qualité ici.
Envisagez d’utiliser un hôte dans le nuage, pas votre connexion internet domestique, pour obtenir de meilleurs temps de ping si vous avez des problèmes.
Notes générales
- Tout serveur doit avoir une fréquence de CPU d’au moins 1,6 GHz et 1 Go de RAM
- L’exécution d’un serveur peut nécessiter l’ajustement de tout pare-feu fonctionnant sur ou en dehors de votre machine ou de votre hôte cloud.
- Vous devez configurer la redirection de port sur votre routeur pour faire fonctionner un serveur non enregistré chez vous. Dans la plupart des cas, cela ne devrait pas être nécessaire pour exécuter un serveur enregistré. Cependant, certains réseaux domestiques peuvent exiger une redirection de port pour un serveur enregistré.
- Jamulus offre un support IPv6 limité que vous pouvez activer pour un client ou un serveur à partir de la ligne de commande.
Installation
La plupart des gens exécutent Jamulus sur un hôte tiers/cloud en tant que serveur “sans affichage” (pas d’affichage vidéo ni de clavier) sur du matériel sans audio fonctionnant sous Linux. Vous pouvez également faire tourner un serveur dans un environnement de bureau.
Remarque les étapes suivantes vous permettront d’exécuter un serveur “non enregistré”. Pour plus d’informations, voir la section modes du serveur ci-dessous.
Pour exécuter un serveur sans affichage sous Linux, les étapes suivantes supposent que vous êtes familier avec la ligne de commande et avec Debian/Ubuntu ou une distribution similaire qui utilise systemd.
Télécharger le script d’installation :
curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
Rendre le script exécutable :
chmod +x setup_repo.sh
Exécutez le script et installez le serveur sans affichage :
sudo ./setup_repo.sh && sudo apt install jamulus-headless
Activez le processus du serveur sans affichage :
sudo systemctl enable jamulus-headless
Ajoutez les options de la ligne de commande voulues à la ligne
ExecStart
dans le fichier service systemd :sudo systemctl edit --full jamulus-headless
Rechargez les fichiers systemd et redémarrez le serveur sans affichage :
sudo systemctl daemon-reload && sudo systemctl restart jamulus-headless
Pour modifier la configuration de votre serveur, il suffit de répéter les deux dernières étapes ci-dessus.
Modes du serveur
Les serveurs peuvent fonctionner selon l’un des trois modes suivants (à domicile ou sur un hôte tiers), en fonction de vos besoins.
Mode non-enregistré
Il s’agit de la valeur par défaut lors du premier démarrage d’un serveur. Les serveurs non enregistrés ne sont pas répertoriés par les annuaires, donc seuls les musiciens qui connaissent l’adresse de votre serveur pourront s’y connecter.
Pour plus d’informations sur l’utilisation d’un serveur non enregistré, voir ce guide.
Mode enregistré
Dans ce mode, votre serveur apparaîtra dans la liste des serveurs fournie par un annuaire. Les clients Jamulus sont livrés avec une liste de annuaires intégrée. Si vous enregistrez votre serveur dans l’un d’eux, n’importe qui peut le découvrir et s’y connecter.
Vous pouvez également inscrire votre serveur dans un annuaire personnalisé (voir ci-dessous). Les clients ne trouveront votre serveur que s’ils entrent l’adresse internet de l’annuaire personnalisé.
Notez que les annuaires ne peuvent enregistrer que 150 serveurs au maximum. Si vous voyez un message indiquant que vous ne pouvez pas enregistrer votre serveur parce que l’annuaire est plein, vous pouvez essayer de vous enregistrer dans un autre annuaire.
Mode annuaire
Lorsque vous souhaitez faire fonctionner plusieurs serveurs, éventuellement derrière un pare-feu ou sur un réseau local, vous voudrez peut-être exécuter votre serveur en tant qu’annuaire. Il s’agit par exemple d’événements en ligne, d’associations de musique, de répétitions de sections ou de cours de musique pour les écoles.
Pour information lire le guide des annuaires.
Options de configuration
En fonction de votre système d’exploitation et de la façon dont vous exécutez le serveur, vous pouvez définir les options du serveur et les rendre persistantes entre les rechargements en suivant les étapes suivantes :
Pour Linux sans affichage (Debian/Ubuntu utilisant systemd)
Ajoutez les options de la ligne de commande voulues à la ligne ExecStart
dans le fichier service systemd en exécutant sudo systemctl edit --full jamulus-headless
(vous devrez recharger ou redémarrer pour que les changements prennent effet. Voir Installation).
Pour l’interface graphique (toutes plateformes)
Tout réglage effectué en utilisant l’interface graphique sera stocké dans le fichier Jamulusserver.ini
. (Ne pas éditer ce fichier à la main !) Cependant, certaines options ne sont pas disponibles dans l’interface graphique et doivent être définies en utilisant la ligne de commande. Pour plus d’informations, voir Serveurs sur le bureau
Configuration minimale pour fonctionner en mode enregistré
Vous pouvez faire tourner un serveur sans affichage sous Linux en utilisant systemd (avec systemctl
), ce qui est couvert dans d’autres sections. Vous pouvez également exécuter un serveur directement depuis la ligne de commande. Entrez la commande suivante pour lancer un serveur enregistré :
jamulus-headless --nogui --server \
--directoryaddress hostname:port \
--serverinfo "nomduserveur;ville;[ville en tant que code de pays ISO à deux-lettres ou locale Qt5]"
Voir le tableau ci-dessous pour les valeurs de hostname:port
.
Note : les caractères points-virgules et nouvelles lignes ne sont pas autorisés dans [nomdeserveur]
et [ville]
dans l’argument --serverinfo
. Voir les options liées au mode serveur pour plus d’informations sur le code pays.
Options liées au mode serveur
-e ou --directoryaddress
Nécessaire pour un serveur enregistré. Également requis pour exécuter Jamulus en tant qu’annuaire.
Cette option prend le format :
--directoryaddress hostname:port
où hostname
est le nom d’hôte de l’annuaire de genre et port
est son numéro de port.
Pour vous enregistrer dans l’un des annuaires intégrés au client Jamulus, remplacez hostname:port
par l’une des options suivantes :
Genre | hostname:port |
---|---|
Tout genre 1 | anygenre1.jamulus.io:22124 |
Tout genre 2 | anygenre2.jamulus.io:22224 |
Tout genre 3 | anygenre3.jamulus.io:22624 |
Genre Rock | rock.jamulus.io:22424 |
Genre Jazz | jazz.jamulus.io:22324 |
Genre Classique/Folk | classical.jamulus.io:22524 |
Genre Chorale/Barbershop | choral.jamulus.io:22724 |
-o ou --serverinfo
Lorsque vous enregistrez votre serveur auprès d’un annuaire, vous pouvez fournir un nom de serveur et des détails sur l’emplacement afin que les utilisateurs puissent ensuite rechercher ces valeurs à partir de leur client.
Cette option prend le format :
[nom];[ville];[pays sous forme de code pays ISO à deux lettres]
Voir codes pays ISO à deux lettres
Remarque : les caractères point-virgule et saut de ligne ne sont pas autorisés dans les valeursnom
et ville
.
-L ou --licence
Affiche une fenêtre d’accord avant que les utilisateurs puissent se connecter. Le texte de l’accord à afficher doit être fourni dans le --welcomemessage
(voir ci-dessous).
-w ou --welcomemessage
Un “message de bienvenue” à afficher dans la fenêtre de tchate du client lors de la connexion. Il peut prendre la forme d’une chaîne ou d’un nom de fichier et peut contenir du HTML. Lorsqu’un chemin est utilisé, le fichier doit être accessible par le compte utilisateur qui exécute Jamulus. (Sur la plupart des installations Linux, l’utilisateur jamulus
est utilisé par défaut). S’il n’est pas accessible, le chemin littéral (plutôt que son contenu) apparaîtra.
--serverpublicip
L’adresse IP publique du serveur s’il est connecté à un annuaire derrière le même NAT. Voir les notes sur les serveurs d’annuaire pour davantage d’informations.
--directoryfile
Annuaires uniquement : se souvient des serveurs enregistrés même si l’annuaire est redémarré. Voir le guide des annuaires pour davantage d’informations.
-f ou --listfilter
Annuaires uniquement : spécifiez les serveurs qui peuvent s’enregistrer sur le serveur d’annuaire. Voir le guide des annuaires pour de plus amples informations.
Options générales du serveur
Ces options peuvent être utilisées quel que soit le mode d’exécution de votre serveur (bien que certaines ne soient pas pertinentes pour les annuaires).
-d ou --discononquit
Normalement, lorsqu’un serveur est arrêté ou redémarré, tous les clients qui n’ont pas utilisé leur bouton “Déconnecter” rétabliront automatiquement la connexion lorsque le serveur sera de retour. Cette option oblige les clients à rétablir manuellement leur connexion au serveur dans ce scénario.
-F ou --fastupdate
Réduit la latence si les clients se connectent avec l’option “petits tampons de réseau”. Nécessite un processeur plus rapide pour éviter les pertes de données, et une bande passante plus large pour les clients activés.
-l ou --log
Activer l’enregistrement, définir le chemin et le nom de fichier
-m ou --htmlstatus
Active le fichier d’état HTML, définit le chemin et le nom du fichier
Note : cette fonctionnalité est obsolète et pourrait disparaître dans une prochaine version.
-P ou --delaypan
Commencez avec le délai panoramique activé. Cette option utilise les petites différences de temps d’arrivée du son entre les deux oreilles. Elle produit un effet stéréo similaire à l’audition humaine naturelle par rapport à un panoramique normal de “volume”.
-s
ou --server
Démarrer Jamulus en mode serveur
--serverbindip
Spécifie l’adresse IP à laquelle le processus Jamulus se liera.
Normalement, Jamulus écoutera sur toutes les adresses IP de la machine hôte. Lorsque l’hôte possède plusieurs adresses réseau, cette option permet de choisir l’une des adresses.
-T ou --multithreading
Utilise le multithreading pour mieux utiliser les processeurs multi-cœurs. Ce paramètre peut aider le serveur à prendre en charge plus de clients. Voir aussi --numchannels
-u ou --numchannels
Nombre maximum de canaux (clients)
-z ou --startminimized
Démarrez l’interface utilisateur graphique du serveur Jamulus dans l’état de fenêtre réduite.
Autres options
documents)
-h
ou--help
Afficher le texte d’aide-i
ou--inifile
paramètre l’emplacement du fichier d’initialisation (remplace la valeur par défaut). Sur macOS, fournissez simplement un nom de fichier, puisque les fichiers de configuration ne peuvent être lus que depuis/Users/<nomdutilisateur>/Library/Containers/app.jamulussoftware.Jamulus/Data/
. Pour le serveur, remplacezapp.jamulussoftware.Jamulus
parapp.jamulussoftware.JamulusServer
. Activez “Afficher le dossier Bibliothèque” dans “Afficher les options d’affichage” dans le Finder pour voir ce dossier.)-n
ou--nogui
Désactiver l’interface graphique (pour une utilisation en mode sans interface graphique)-p
ou--port
Définit le numéro du port UDP local. La valeur par défaut est 22124--jsonrpcport
Permet au serveur API JSON-RPC de contrôler l’application, définit le numéro de port TCP (EXPÉRIMENTAL, les API peuvent changer ; accessible uniquement depuis localhost). Veuillez consulter le fichier de documentation de l’API JSON-RPC.--jsonrpcsecretfile
Requis lorsque vous utilisez--jsonrpcport
. Définit un chemin vers un fichier texte contenant une chaîne d’authentification pour obtenir l’accès à l’API JSON-RPC.--jsonrpcbindip
L’adresse IP à laquelle le serveur JSON-RPC devrait se lier. (optionnel, la valeur par défaut est 127.0.0.1)- -Q
ou
–qos` Définit la valeur DS Field byte de la qualité de service. La valeur par défaut est 128 (DSP/CS4). QoS est ignoré par Windows. Pour l’activer, voir cette page -t
ou--notranslation
Désactiver les traductions de langue de l’interface utilisateur-6
ou--enableipv6
Active l’adressage IPv6 (IPv4 est toujours activé)-v
ou--version
Affiche les informations sur la version
Contrôle du serveur via l’API
Jamulus peut être contrôlé via une API expérimentale qui est sujette à des changements. Vous pouvez trouver l’API JSON-RPC documentée dans le dépôt principal (en anglais). JSON-RPC vous permet de contrôler certaines fonctionnalités telles que la modification du message de bienvenue ou le lancement d’enregistrements en mode sans-affichage à partir d’applications externes authentifiées. Il fonctionne lorsque le serveur est en cours d’exécution.
Enregistrement
-R ou --recording
Définir le répertoire d’enregistrement du serveur. Par défaut, le serveur enregistre lorsqu’une session est active.
Remarque : vous devrez sauvegarder les enregistrements dans un chemin hors du répertoire personnel de jamulus, ou supprimer ProtectHome=true
de votre fichier d’unité systemd, mais sachez que cela représente toutefois un risque potentiel pour la sécurité.
Les enregistrements sont par piste au format Audacity.lof
et REAPER.rpp
. Ouvrez les fichiers respectifs pour les écouter dans ces applications.
Remarque : lorsque votre serveur enregistre, les clients affichent un message en bannière rouge indiquant que l’enregistrement est en cours.
--norecord
Configurer le serveur pour qu’il n’enregistre pas par défaut lorsque l’enregistrement est configuré.
Contrôler l’enregistrement
L’enregistrement commence dès que la première personne se connecte au serveur et s’arrête lorsque la dernière personne le quitte.
Si le serveur reçoit un signal SIGUSR1 pendant un enregistrement, il démarre un nouvel enregistrement dans un nouveau répertoire. SIGUSR2 permet d’activer ou de désactiver l’enregistrement. Si JSON-RPC est activé, vous pourrez également gérer le serveur d’une manière comparable à l’interface graphique. Veuillez consulter la documentation (expérimentale) JSON-RPC sur l’enregistreur (en anglais).
Pour envoyer ces signaux en utilisant systemd, créez les deux fichiers .service
suivants dans /etc/systemd/system
, en les appelant de manière appropriée (par exemple, jamulusTogglerec.service
).
Pour activer ou désactiver l’enregistrement (selon l’état actuel) :
[Unit]
Description=Basculer l'état d'enregistrement du serveur Jamulus
Requisite=Jamulus-Server
[Service]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR2 jamulus-headless
Pour démarrer un nouvel enregistrement :
[Unit]
Description=Démarrer un nouvel enregistrement sur le serveur Jamulus
Requisite=Jamulus-Server
[Service]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR1 jamulus-headless
_Remarque : le nom du service Jamulus dans la ligne ExecStart
doit être le même que le nom du fichier .service
utilisé par systemd pour contrôler votre serveur Jamulus. Par défaut, si vous utilisez les fichiers .deb
du dépôt, il s’agit de jamulus-headless
, comme dans cet exemple.
Exécutez sudo systemctl daemon-reload
pour les enregistrer pour la première utilisation.
Vous pouvez maintenant les exécuter avec la commande systemctl
, par exemple :
sudo systemctl start jamulusTogglerec
Vous pouvez voir le résultat de ces commandes si vous exécutez systemctl status jamulus-headless
(ou le nom du service que vous avez spécifié manuellement). Vous pouvez également consulter votre journal (système).
Ajouter des métadonnées au serveur
Vous pouvez ajouter des métadonnées au message de bienvenue d’un serveur afin d’ajouter des informations supplémentaires et cachées telles que des informations de contact ou des demandes de politique pour les robots (c’est comparable à robots.txt). Voir l’entrée de la base de connaissances de la communauté sur les métadonnées pour plus d’informations.
Serveurs sur le bureau
Jamulus peut être exécuté en mode Serveur dans l’environnement graphique d’un ordinateur. Cela vous donne une interface utilisateur graphique pour contrôler la plupart des paramètres. Pour ce faire, commencez par installer Jamulus pour votre plate-forme, puis effectuez l’une des opérations suivantes :
Utilisateurs de Windows - Utilisez l’icône “Jamulus Server” dans le menu Démarrer de Windows. Si vous souhaitez que le serveur démarre automatiquement lorsque vous lancez Windows, cochez la case de cette option.
Utilisateurs de macOS - Double-cliquez sur l’icône “Serveur Jamulus” dans Applications.
Utilisateurs de Linux - Lancez le raccourci « Jamulus Serveur ». Ou vous pouvez ouvrir une fenêtre de terminal (
CTRL + ALT + t
sur Debian et les distributions associées), tapezjamulus -s
et appuyez sur entrée.
Si la plupart des fonctions courantes de Jamulus peuvent être définies à l’aide de l’interface graphique, d’autres ne peuvent l’être qu’à l’aide d’options données dans une fenêtre de terminal lors du lancement du serveur. La manière exacte de procéder dépend de votre système d’exploitation.
Par exemple, sous Windows, pour utiliser un fichier de paramètres spécifique, faites un clic-droit sur le raccourci de Jamulus et choisissez Propriétés > Cible. Ajoutez les arguments nécessaires à Jamulus.exe
"C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100
Pour macOS, démarrez une fenêtre de Terminal et exécutez Jamulus avec les options souhaitées comme ceci :
/Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100
Note Les options de la ligne de commande définissent les valeurs par défaut du serveur au démarrage. Vous pouvez les remplacer par les contrôles correspondants de l’interface graphique lorsque le serveur est en cours d’exécution.
L’icône d’état du serveur
Lorsque le serveur fonctionne en mode graphique, le système d’exploitation affiche une icône dans la barre d’état système ou dans la zone d’état qui indique si le serveur a des connexions :
Le serveur est vide
Le serveur est occupé
Sauvegarder le serveur
Une fois installé et en fonctionnement, vous voudrez peut-être conserver une copie de vos paramètres. Avoir une sauvegarde est toujours une bonne idée, et les fichiers de paramètres ne sont pas rétrocompatibles entre les versions de Jamulus. Ainsi, si vous souhaitez revenir à la version précédente, vous devrez restaurer les paramètres que vous aviez.
Pour trouver votre fichier de paramètres sous Windows, saisissez %APPDATA%
dans la barre de recherche et cherchez un dossier nommé Jamulus
. Vous trouverez un ou plusieurs fichiers .ini
dans ce dossier. Maintenant sauvegardez les paramètres de Jamulus.
Pour toutes les autres plateformes, exécutez la commande suivante à partir de la ligne de commande pour trouver leur emplacement et copier les fichiers à un autre endroit :
find ~ -name Jamulus.ini -ls
Si vous avez utilisé le paramètre --inifile
pour sauvegarder un fichier ini à un endroit différent, n’oubliez pas de sauvegarder également ces fichiers. Points à noter
- Ne pas sauvegarder ou restaurer les fichiers de paramètres lorsque Jamulus est en cours d’exécution.
- Il n’est pas recommandé de modifier les fichiers de paramètres à la main (ils ne sont pas conçus pour cela).
Vous pouvez rétablir tous les paramètres par défaut en supprimant simplement le fichier de paramètres (après avoir fermé Jamulus).
- Les serveurs sans affichage n’utilisent pas de fichiers
.ini
. Toute la configuration est donnée sous forme d’options de ligne de commande. Si vous exécutez un serveur en mode graphique, après avoir lu les options de la ligne de commande au démarrage, il stockera sa configuration dans le fichierJamulusserver.ini
.
Dépannage
Si vous avez un autre problème, regardez ce guide.