Comment installer le serveur TeamSpeak sur Debian 11

TeamSpeak est un logiciel de chat vocal multiplateforme utilisé par les joueurs, les équipes et les écoles. Il est léger et rapide et t’offre plus de contrôle puisque tu peux l’héberger sur ton serveur. Il offre un moyen sûr et facile de se connecter avec des personnes du monde entier. Il possède une interface utilisateur entièrement personnalisable, prend en charge la messagerie directe, le transfert illimité de fichiers et permet une utilisation anonyme.

Ce tutoriel t’apprendra à installer le serveur TeamSpeak sur un serveur basé sur Debian 11 et à t’y connecter à l’aide d’un client Windows.

Conditions préalables

  • Un serveur basé sur Debian 11.

  • Un utilisateur non-root avec des privilèges sudo.

  • Le paquetSudo est installé.

  • Tout est mis à jour.

    $ sudo apt update && sudo apt upgrade
    
  • Quelques paquets dont ton système a besoin.

    $ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -y
    

    Certains de ces paquets sont peut-être déjà installés sur ton système.

Étape 1 – Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Debian est livrée avec ufw (Uncomplicated Firewall).

Vérifie si le pare-feu fonctionne.

$ sudo ufw status

Tu devrais obtenir la sortie suivante.

Status: inactive

Autorise le port SSH pour que le pare-feu ne rompe pas la connexion en cours en l’activant.

$ sudo ufw allow OpenSSH

Ouvre les ports suivants requis par TeamSpeak.

  • 9987/udp pour la voix.
  • 30033/tcp pour le transfert de fichiers.
  • 10011/tcp pour Serverquery (Raw).
  • 10022/tcp pour Serverquery (SSH).
  • 10080/tcp pour Webquery (HTTP).
$ sudo ufw allow 9987/udp
$ sudo ufw allow 30033/tcp
$ sudo ufw allow 10011/tcp
$ sudo ufw allow 10022/tcp
$ sudo ufw allow 10080/tcp

Active le pare-feu

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Vérifie à nouveau l’état du pare-feu.

$ sudo ufw status

Tu devrais voir un résultat similaire.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
9987/udp                   ALLOW       Anywhere
30033/tcp                  ALLOW       Anywhere
10011/tcp                  ALLOW       Anywhere
10080/tcp                  ALLOW       Anywhere
10022/tcp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
9987/udp (v6)              ALLOW       Anywhere (v6)
30033/tcp (v6)             ALLOW       Anywhere (v6)
10011/tcp (v6)             ALLOW       Anywhere (v6)
10080/tcp (v6)             ALLOW       Anywhere (v6)
10022/tcp (v6)             ALLOW       Anywhere (v6)

Étape 2 – Télécharge TeamSpeak

Visite la page de téléchargement de TeamSpeak et remarque le dernier numéro de version. Au moment de ce tutoriel, v3.13.6 est la dernière version du serveur TeamSpeak disponible.

Utilise la commande suivante pour télécharger le serveur TeamSpeak.

$ TVERSION=3.13.6
$ wget https://files.teamspeak-services.com/releases/server/${TVERSION}/teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2

Extrais l’archive téléchargée.

$ tar -xf ./teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2

Étape 3 – Créer un utilisateur et un répertoire TeamSpeak

La première étape de l’installation de TeamSpeak consiste à créer un utilisateur pour le serveur. L’utilisateur aura son répertoire personnel à l’adresse /opt/teamspeak et n’aura pas de mot de passe.

$ sudo adduser ts3 --home /opt/teamspeak --shell /bin/bash --disabled-password

Nous pouvons maintenant déplacer le répertoire extrait dans le répertoire /opt/teamspeak.

$ sudo mv teamspeak3-server_linux_amd64/* /opt/teamspeak/

Accorde les permissions correctes au répertoire.

$ sudo chown -R ts3:ts3 /opt/teamspeak

Étape 4 – Exécuter le serveur TeamSpeak

L’étape suivante consiste à exécuter le serveur TeamSpeak pour créer une clé de privilège pour la première fois. Cette clé t’aidera à accéder au serveur en tant qu’administrateur.

Avant de lancer le serveur, tu dois te connecter en tant qu’utilisateur TeamSpeak. Exécute la commande suivante pour te connecter à ton shell en tant qu’utilisateur TeamSpeak.

$ sudo -u -i ts3

Pour cela, nous allons créer un fichier appelé .ts3server_license_accepted dans le répertoire de travail de TeamSpeak.

$ touch .ts3server_license_accepted

Exécute la commande suivante pour démarrer le serveur.

$ ./ts3server_startscript.sh start
------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
               Server Query Admin Account created
         loginname= "serveradmin", password= "BtXdJaCb"
         apikey= "BAD8rYVPM61p_-TdrsBqEL_8ZxKzEHIKOkUk6_e"
------------------------------------------------------------------


------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
      ServerAdmin privilege key created, please use it to gain
      serveradmin rights for your virtualserver. please
      also check the doc/privilegekey_guide.txt for details.

       token=WIRagRYXkCnWqM5g7gBoSgcHHpfgLG9w17pcLORy
------------------------------------------------------------------

En lançant le serveur pour la première fois, tu créeras un compte Administrateur de requête de serveur. Note son nom d’utilisateur et son mot de passe. Note également la clé API et le jeton de privilège généré. Tu en auras besoin dans les étapes à venir.

Pour arrêter le serveur, appuie sur Ctrl + C sur ton clavier.

Déconnecte-toi en tant qu’utilisateur TeamSpeak.

$ exit

Étape 5 – Création du démon du service TeamSpeak

Crée le fichier /lib/systemd/system/ts3server.service et ouvre-le pour le modifier.

$ sudo nano /lib/systemd/system/ts3server.service

Colle le code suivant dans ce fichier.

[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target local-fs.target

[Service]
WorkingDirectory=/opt/teamspeak
User=ts3
Group=ts3
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

Ferme le fichier en appuyant sur Ctrl + X et en entrant Y lorsque tu y es invité.

Recharge le démon de service.

$ sudo systemctl daemon-reload

Active et démarre le service TeamSpeak.

$ sudo systemctl enable ts3server --now

Vérifie l’état du service.

$ sudo systemctl enable ts3server
? ts3server.service - TeamSpeak3 Server
     Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-03-29 08:18:17 UTC; 2s ago
    Process: 23120 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 (code=exited, status=0/SUCCESS)
   Main PID: 23127 (ts3server)
      Tasks: 21 (limit: 2341)
     Memory: 17.3M
        CPU: 1.953s
     CGroup: /system.slice/ts3server.service
             ??23127 ./ts3server license_accepted=1  daemon=1 pid_file=ts3server.pid

Mar 29 08:18:17 teamspeak systemd[1]: Starting TeamSpeak3 Server...
Mar 29 08:18:17 teamspeak ts3server_startscript.sh[23120]: Starting the TeamSpeak 3 server
Mar 29 08:18:17 teamspeak ts3server_startscript.sh[23120]: TeamSpeak 3 server started, for details please view the log file
Mar 29 08:18:17 teamspeak systemd[1]: Started TeamSpeak3 Server.

Étape 6 – Connecte-toi en utilisant le client TeamSpeak

Télécharge et installe le client Windows TeamSpeak 3 sur le site officiel. Tu peux aussi télécharger la dernière version bêta (v5) du client, mais pour notre tutoriel, nous utiliserons l’ancienne et stable v3.

Lance le client sur ton bureau, et tu obtiendras l’écran suivant après avoir passé l’invite de licence.

Client TeamSpeak 3

Clique sur les Connexions et sélectionne l’option Connecter pour commencer. Saisis l’adresse IP de ton serveur, le mot de passe généré à l’étape 4 et un surnom pour toi.

Connexion au serveur client TeamSpeak

Clique sur le bouton Connecter pour continuer. Il te sera demandé d’entrer la clé Privilège dans l’invite suivante. Saisis le jeton Privilège de l’étape 4 et clique sur Ok pour continuer.

Invitation au jeton de privilège du client TeamSpeak 3

Tu es maintenant connecté à ton serveur TeamSpeak et tu peux commencer à utiliser le client pour communiquer.

Connexion réussie du client TeamSpeak 3

Étape 7 – Modification du mot de passe d’accès

Tu peux changer le mot de passe de l’administrateur du serveur pour un mot de passe plus fort de ton choix. Pour ce faire, arrête le service TeamSpeak.

$ sudo systemctl stop ts3server

Passe à l’utilisateur TeamSpeak.

$ sudo -i -u ts3

Démarre le serveur TeamSpeak et ajoute le paramètre serveradmin_password dans ta commande.

$ ./ts3server_startscript.sh start serveradmin_password=password
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file

Remplace password par un mot de passe plus fort de ton choix.

Arrête à nouveau le serveur.

$ ./ts3server_startscript.sh stop
Stopping the TeamSpeak 3 server .
done

Repasse à ton compte utilisateur.

$ exit

Redémarre le service TeamSpeak.

$ sudo systemctl start ts3server

Étape 8 – Installation et configuration de MySQL

TeamSpeak, par défaut, utilise la base de données SQLite pour stocker toutes les communications et les données des utilisateurs. Bien que cela soit parfait pour une petite communauté, cela peut devenir un problème si tu utilises TeamSpeak pour accueillir plus d’utilisateurs. Heureusement, TeamSpeak peut être configuré pour utiliser une base de données MySQL ou PostgreSQL.

Nous allons le configurer pour l’utiliser avec le serveur MySQL.

Installe le serveur MariaDB, qui est un remplacement direct de MySQL puisque Debian n’est pas livré avec MySQL 8 par défaut.

$ sudo apt install mariadb-server -y

L’installateur démarrera et activera le service Mariadb pour toi. Tu peux vérifier l’état du service.

$ sudo systemctl status mariadb

Exécute le script de sécurité pour MariaDB. Utilise les options indiquées ci-dessous.

$ sudo mysql_secure_installation
Enter current password for root (enter for none): (Press Enter)
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Connecte-toi au shell MySQL.

$ sudo mysql

Crée l’utilisateur ts3user. Remplace your_password par un mot de passe fort de ton choix.

mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';

Crée la base de données teamspeak3.

mysql> CREATE DATABASE teamspeak3;

Accorde à l’utilisateur des privilèges sur la base de données teamspeak3.

mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';

Quitte le shell.

mysql> exit

Passe à l’utilisateur TeamSpeak.

$ sudo -i -u ts3

La première étape pour configurer MariaDB afin qu’elle fonctionne avec TeamSpeak est d’ajouter la bibliothèque MariaDB. Tu la trouveras dans le dossier /opt/teamspeak/redist.

Crée un lien symbolique pour la bibliothèque du dossier redist vers le répertoire de travail principal.

$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2

Exécute la commande suivante pour imprimer les bibliothèques partagées requises par TeamSpeak.

$ ldd /opt/teamspeak3-server/libts3db_mariadb.so

Crée le fichier de configuration pour le stockage des paramètres de la base de données et ouvre-le pour le modifier.

$ nano ts3db_mariadb.ini

Colle le code suivant dans ce fichier.

[config]
host=127.0.0.1
port=3306
username=ts3user
password=your_password
database=teamspeak3
socket=

Utilise les informations d’identification de la base de données créées ci-dessus. Ferme le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque tu y es invité.

Crée un fichier de configuration pour TeamSpeak et ouvre-le pour le modifier.

$ nano ts3server.ini

Colle le code suivant dans ce fichier.

machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbsqlpath=sql/
dbplugin=ts3db_mariadb
dbsqlcreatepath=create_mariadb/
dbpluginparameter=ts3db_mariadb.ini
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
query_skipbruteforcecheck=0

Ferme le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque tu y es invité. Pour connaître ces paramètres de configuration, tu peux te référer au fichier server_quickstart.md disponible dans le dossier doc. Le fichier ci-dessus configure TeamSpeak pour utiliser MariaDB au lieu de la base de données SQLite.

Quitte le shell TeamSpeak.

$ exit

Nous devons indiquer au serveur TeamSpeak d’utiliser le fichier de configuration nouvellement créé. Arrête et désactive le service TeamSpeak.

$ sudo systemctl stop ts3server && sudo systemctl disable ts3server

Ouvre le fichier de service.

$ sudo nano /lib/systemd/system/ts3server.service

Trouve la ligne ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 et modifie-la en ajoutant les détails du fichier de configuration comme indiqué ci-dessous.

....
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini
....

Ferme le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque tu y es invité.

Recharge le démon de service pour appliquer les modifications.

$ sudo systemctl daemon-reload

Active et démarre le service TeamSpeak.

$ sudo systemctl enable ts3server --now

Vérifie l’état du serveur.

$ sudo systemctl status ts3server
? ts3server.service - TeamSpeak3 Server
     Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-03-29 12:21:22 UTC; 6s ago
    Process: 26511 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini (code=exited, status=0/SUCCESS)
   Main PID: 26518 (ts3server)
      Tasks: 21 (limit: 2341)
     Memory: 16.0M
        CPU: 1.818s
     CGroup: /system.slice/ts3server.service
             ??26518 ./ts3server license_accepted=1 inifile=ts3server.ini  daemon=1 pid_file=ts3server.pid

Mar 29 12:21:23 teamspeak ts3server_startscript.sh[26518]:          apikey= "BAA_lDBRBQxy2nPJXwPQvTRk9_sX3o403Ktlbjz"
Mar 29 12:21:23 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:                       I M P O R T A N T
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       ServerAdmin privilege key created, please use it to gain
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       serveradmin rights for your virtualserver. please
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       also check the doc/privilegekey_guide.txt for details.
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:        token=kuFsCpz8G7204KiYgQJR8X8orHR+C8OrSv21MZRw
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------

En faisant cela, tu recréeras la clé de privilège. La prochaine fois que tu te connecteras à ton serveur, elle te sera demandée. Ton mot de passe d’administration du serveur restera toutefois le même.

Étape 9 – Mise à niveau de TeamSpeak

La première étape de la mise à niveau du serveur TeamSpeak consiste à arrêter le serveur.

$ sudo systemctl stop ts3server

Télécharge la dernière version sur le site officiel et extrais l’archive dans le répertoire /opt/teamspeak en écrasant les fichiers d’origine en suivant les étapes 2 et 3 du tutoriel. Veille à modifier la permission du dossier extrait.

Une fois que tu as terminé, redémarre le serveur.

$ sudo systemctl start ts3server

Conclusion

Ceci conclut notre tutoriel sur l’installation et l’utilisation de TeamSpeak Server sur un serveur basé sur Debian 11. Si tu as des questions, publie-les dans les commentaires ci-dessous.

Vous aimerez aussi...