Comment héberger un serveur TeamSpeak sous Linux



Vous êtes un joueur Linux à la recherche d’un chat vocal, mais les solutions cloud comme Discord ne vous attirent pas ? Si vous possédez un serveur personnel, considérez une solution que vous contrôlez entièrement, comme l’hébergement d’un serveur TeamSpeak.

Création d’un nouvel utilisateur

La première étape pour configurer votre serveur TeamSpeak sous Linux est de créer un utilisateur dédié, garantissant une exécution sécurisée du logiciel. Ouvrez un terminal et utilisez la commande sudo pour obtenir un shell root. L’accès root simplifiera l’interaction avec le serveur et l’exécution de nombreuses commandes root.

sudo -s

Maintenant que vous avez les privilèges root, nous allons créer un nouvel utilisateur avec la commande adduser. Notez que nous utiliserons l’option –disabled-login, car cet utilisateur ne devrait jamais avoir la possibilité de se connecter au système.

adduser --disabled-login teamspeak
    
usermod -a -G teamspeak teamspeak

Il n’est pas nécessaire de définir un mot de passe pour cet utilisateur, le système gérera le reste. À partir de là, nous pouvons passer au téléchargement du logiciel serveur.

Installation du serveur TeamSpeak

Le logiciel serveur TeamSpeak est propriétaire. Aucune distribution Linux courante ne peut légalement le proposer sous forme de paquet facile à installer. Par conséquent, les utilisateurs doivent le télécharger manuellement. Rendez-vous sur le site officiel et sélectionnez la version correspondant à votre processeur. TeamSpeak prend en charge les architectures 32 bits et 64 bits. Téléchargez le fichier et transférez-le vers votre serveur via FTP, Samba, ou toute autre méthode de votre choix. Si vous préférez éviter le transfert de fichiers, envisagez d’utiliser wget pour le télécharger directement.

Pour obtenir la dernière version du serveur TeamSpeak, naviguez vers le répertoire de versions, faites un clic droit sur la version la plus récente, sélectionnez « copier l’adresse du lien », puis utilisez la commande suivante:

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_amd64-3.1.1.tar.bz2

ou

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_x86-3.1.1.tar.bz2

Extrayez le contenu de l’archive du logiciel serveur TeamSpeak en utilisant la commande tar.

tar -xvf teamspeak3-server_linux_*.tar.bz2
    
rm *.tar.bz2

Utilisez la commande chown pour attribuer les autorisations nécessaires au nouvel utilisateur que nous avons créé précédemment. Le changement de propriétaire du dossier est crucial car l’utilisateur Teamspeak doit pouvoir l’utiliser sans rencontrer d’erreurs.

Remarque : Pour des raisons de sécurité, n’exécutez jamais le serveur TS3 avec les privilèges root.

mv teamspeak3-server_linux_* /usr/local/teamspeak
    
chown -R teamspeak:teamspeak /usr/local/teamspeak
    
cd /usr/local/teamspeak

Créez un fichier vide avec la commande touch pour indiquer au logiciel serveur que vous avez accepté les termes et conditions d’utilisation.

touch .ts3server_license_accepted

Ensuite, créez un fichier de service systemd personnalisé pour TeamSpeak.

cd /etc/systemd/system
    
echo '' > teamspeak3.service
    
nano teamspeak3.service

Collez le code suivant dans l’éditeur de texte Nano et enregistrez-le en utilisant Ctrl + O.

[Unit]
Description = Serveur TeamSpeak 3
Après = network.target

[Service]
WorkingDirectory = /usr/local/teamspeak/
User = teamspeak
Group = teamspeak
Type = forking
ExecStart = /usr/local/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop = /usr/local/teamspeak/ts3server_startscript.sh stop
PIDFile = /usr/local/teamspeak/ts3server.pid
RestartSec = 15
Restart = always

[Install]
WantedBy = multi-user.target

Démarrez et activez le nouveau service teamspeak3.service avec les commandes de l’outil d’initialisation systemd :

systemctl enable teamspeak3
    
systemctl start teamspeak3

Vous pouvez redémarrer le serveur à tout moment via systemd avec la commande suivante :

systemctl stop teamspeak3

Pour désactiver complètement le serveur :

systemctl disable teamspeak3

Connexion

La partie la plus délicate de la configuration du serveur TeamSpeak3 est maintenant terminée. Il ne vous reste plus qu’à obtenir votre clé d’administrateur (appelée aussi jeton de privilège). Ce jeton est généré aléatoirement lors du premier démarrage du serveur. Pour obtenir ce jeton, ouvrez votre client TeamSpeak3 et connectez-vous à votre serveur. Lors de votre première connexion au serveur, il devrait vous demander une « clé de privilège ». Si vous ne voyez pas d’invite, vous devrez consulter les paramètres du serveur et rechercher cette option.

Utilisez cette commande pour trouver et rediriger automatiquement votre jeton d’administrateur de serveur TeamSpeak vers un fichier :

cat /usr/local/teamspeak/logs/* | grep "token"

Copiez la chaîne de caractères qui suit immédiatement « token = » et collez-la entre les guillemets dans la commande suivante :

echo 'token string' > /usr/local/teamspeak/admin-token.txt

Enregistrer le jeton de cette manière permettra de le stocker dans un endroit sûr.

Vous pourrez afficher le contenu du fichier texte contenant le jeton à l’aide de cat.

Pour donner un accès administrateur à votre utilisateur, copiez-collez le contenu du fichier dans l’invite prévue à cet effet.

cat /usr/local/teamspeak/admin-token.txt

N’oubliez pas que pour chaque administrateur, vous pourriez avoir à générer un nouveau jeton de privilège. Consultez le site Web et le manuel de TeamSpeak pour savoir comment procéder.

Désinstallation du serveur TeamSpeak

TeamSpeak est un bon logiciel, mais certains utilisateurs peuvent se lasser des complications qu’il peut engendrer. Si après l’avoir essayé, vous ne souhaitez plus avoir de serveur TeamSpeak, suivez les étapes ci-dessous pour le désinstaller complètement.

Tout d’abord, utilisez systemd pour désactiver et arrêter le service TeamSpeak.

sudo systemctl disable teamspeak3 -f
    
sudo systemctl stop teamspeak3

Ensuite, supprimez le fichier de service systemd que vous avez créé lors de la configuration.

sudo rm /etc/systemd/system/teamspeak3.service

Après cela, supprimez le logiciel du serveur.

sudo rm -rf /usr/local/teamspeak/

Enfin, supprimez le groupe et l’utilisateur TeamSpeak.

sudo userdel -r teamspeak
    
sudo groupdel teamspeak

L’exécution de toutes ces commandes devrait supprimer toutes les références à TeamSpeak de votre serveur. Sudo devrait fonctionner, mais si ce n’est pas le cas, vous pouvez essayer de supprimer sudo de chaque commande et de récupérer un shell root avec `sudo -s` au préalable.