Cómo instalar el servidor de TeamSpeak en Debian 11
TeamSpeak es un software de chat de voz multiplataforma utilizado por jugadores, equipos y escuelas. Es ligero y rápido y le ofrece más control ya que puede alojarlo en su servidor. Ofrece una forma segura y fácil de conectarse con personas de todo el mundo. Tiene una interfaz de usuario totalmente personalizable, admite la mensajería directa, la transferencia ilimitada de archivos y permite el uso anónimo.
Este tutorial le enseñará a instalar el servidor de TeamSpeak en un servidor basado en Debian 11 y a conectarse a él utilizando un cliente de Windows.
Requisitos previos
- Un servidor basado en Debian 11.
- Un usuario no root con privilegios sudo.
- Sudo el paquete está instalado.
- Todo está actualizado.
$ sudo apt update && sudo apt upgrade
- Pocos paquetes que su sistema necesita.
$ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -y
Algunos de estos paquetes pueden estar ya instalados en su sistema.
Paso 1 – Configurar el Firewall
El primer paso es configurar el cortafuegos. Debian viene con ufw (Uncomplicated Firewall).
Compruebe si el cortafuegos se está ejecutando.
$ sudo ufw status
Debería obtener la siguiente salida.
Status: inactive
Permita el puerto SSH para que el firewall no rompa la conexión actual al habilitarlo.
$ sudo ufw allow OpenSSH
Abra los siguientes puertos requeridos por TeamSpeak.
- 9987/udp para Voz.
- 30033/tcp para la transferencia de archivos.
- 10011/tcp para la consulta del servidor (Raw).
- 10022/tcp para Serverquery (SSH).
- 10080/tcp para 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
Habilitar el Firewall
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Compruebe de nuevo el estado del cortafuegos.
$ sudo ufw status
Debería ver una salida similar.
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)
Paso 2 – Descargar TeamSpeak
Visita la página de descargas de TeamSpeak y fíjate en el número de la última versión. En el momento de este tutorial, la v3.13.6 es la última versión del servidor de TeamSpeak disponible.
Utilice el siguiente comando para descargar el servidor de TeamSpeak.
$ TVERSION=3.13.6 $ wget https://files.teamspeak-services.com/releases/server/${TVERSION}/teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2
Extraiga el archivo descargado.
$ tar -xf ./teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2
Paso 3 – Crear usuario y directorio de TeamSpeak
El primer paso para instalar TeamSpeak es crear un usuario para el servidor. El usuario tendrá su directorio principal en /opt/teamspeak y no tendrá contraseña.
$ sudo adduser ts3 --home /opt/teamspeak --shell /bin/bash --disabled-password
Ahora podemos mover el directorio extraído al directorio /opt/teamspeak.
$ sudo mv teamspeak3-server_linux_amd64/* /opt/teamspeak/
Conceda los permisos correctos al directorio.
$ sudo chown -R ts3:ts3 /opt/teamspeak
Paso 4 – Ejecutar el servidor de TeamSpeak
El siguiente paso es ejecutar el servidor de TeamSpeak para crear una clave de privilegios por primera vez. Esta clave le ayudará a acceder al servidor como administrador.
Antes de iniciar el servidor, necesitas iniciar sesión como usuario de TeamSpeak. Ejecute el siguiente comando para entrar en su shell como usuario de TeamSpeak.
$ sudo -u -i ts3
Para ello, crearemos un archivo llamado .ts3server_license_accepted en el directorio de trabajo de TeamSpeak.
$ touch .ts3server_license_accepted
Ejecute el siguiente comando para iniciar el servidor.
$ ./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 ------------------------------------------------------------------
Al ejecutar el servidor por primera vez se creará una cuenta de administrador de consultas del servidor. Anote su nombre de usuario y la contraseña. Además, anote la clave de la API y el token de privilegio generado. Los necesitará en los próximos pasos.
Para detener el servidor, pulse Ctrl + C en tu teclado.
Cierra la sesión como usuario de TeamSpeak.
$ exit
Paso 5 – Creación del demonio de servicio de TeamSpeak
Cree el archivo /lib/systemd/system/ts3server.service y ábralo para editarlo.
$ sudo nano /lib/systemd/system/ts3server.service
Pegue el siguiente código en él.
[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
Cierre el archivo pulsando Ctrl + X e introduciendo Y cuando se le solicite.
Recargue el demonio de servicio.
$ sudo systemctl daemon-reload
Habilite e inicie el servicio de TeamSpeak.
$ sudo systemctl enable ts3server --now
Compruebe el estado del servicio.
$ 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.
Paso 6 – Conéctese usando el cliente de TeamSpeak
Descargue e instale el cliente de TeamSpeak 3 para Windows desde el sitio web oficial. También puedes descargar la última versión beta (v5) del cliente, pero para nuestro tutorial, utilizaremos la v3, más antigua y estable.
Inicie el cliente en su escritorio, y obtendrá la siguiente pantalla después de pasar por la solicitud de licencia.
Haga clic en el Conexiones y seleccione el Conectar para empezar. Introduzca la dirección IP de su servidor, la contraseña generada en el paso 4 y un apodo para usted.
Haga clic en el Conectar para continuar. Se le pedirá que introduzca la clave de privilegio en el siguiente aviso. Introduzca la clave de privilegio del paso 4 y haga clic en Ok para continuar.
Ahora está conectado a su servidor de TeamSpeak y puede empezar a utilizar el cliente para comunicarse.
Paso 7 – Cambio de la contraseña de acceso
Puede cambiar la contraseña de administrador del servidor por una más fuerte de su elección. Para ello, detenga el servicio de TeamSpeak.
$ sudo systemctl stop ts3server
Cambie al usuario de TeamSpeak.
$ sudo -i -u ts3
Inicie el servidor de TeamSpeak y añada el parámetro serveradmin_password en su comando.
$ ./ts3server_startscript.sh start serveradmin_password=password Starting the TeamSpeak 3 server TeamSpeak 3 server started, for details please view the log file
Reemplace la contraseña con una contraseña fuerte de su elección.
Detenga el servidor de nuevo.
$ ./ts3server_startscript.sh stop Stopping the TeamSpeak 3 server . done
Vuelva a cambiar a su cuenta de usuario.
$ exit
Inicie de nuevo el servicio de TeamSpeak.
$ sudo systemctl start ts3server
Paso 8 – Instalación y configuración de MySQL
TeamSpeak, por defecto, utiliza la base de datos SQLite para almacenar toda la comunicación y los datos de los usuarios. Mientras que esto está bien para una pequeña comunidad, puede convertirse en un problema si usted está usando TeamSpeak para alojar a más usuarios. Afortunadamente, TeamSpeak puede ser configurado para utilizar una base de datos MySQL o PostgreSQL.
Lo configuraremos para utilizarlo con el servidor MySQL.
Instale el servidor MariaDB, que es un reemplazo directo de MySQL ya que Debian no incluye MySQL 8 por defecto.
$ sudo apt install mariadb-server -y
El instalador iniciará y habilitará el servicio Mariadb por usted. Puede comprobar el estado del servicio.
$ sudo systemctl status mariadb
Ejecute el script de seguridad para MariaDB. Utilice las opciones indicadas a continuación.
$ 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
Inicie sesión en el shell de MySQL.
$ sudo mysql
Cree el usuario ts3user. Reemplace su_contraseña con una contraseña fuerte de su elección.
mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';
Cree la base de datos de teamspeak3.
mysql> CREATE DATABASE teamspeak3;
Conceda al usuario privilegios en la base de datos teamspeak3.
mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';
Salga del Shell.
mysql> exit
Cambiar al usuario de TeamSpeak.
$ sudo -i -u ts3
El primer paso para configurar MariaDB para que funcione con TeamSpeak es añadir la biblioteca MariaDB. Puedes encontrarla en la carpeta /opt/teamspeak/redist.
Cree un enlace simbólico para la biblioteca desde la carpeta redist al directorio de trabajo principal.
$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2
Ejecute el siguiente comando para imprimir las bibliotecas compartidas requeridas por TeamSpeak.
$ ldd /opt/teamspeak3-server/libts3db_mariadb.so
Cree el archivo de configuración para almacenar los parámetros de la base de datos y ábralo para editarlo.
$ nano ts3db_mariadb.ini
Pegue el siguiente código en él.
[config] host=127.0.0.1 port=3306 username=ts3user password=your_password database=teamspeak3 socket=
Utilice las credenciales de la base de datos creadas anteriormente. Cierre el archivo pulsando Ctrl + X e introduciendo Y cuando se le solicite.
Cree un archivo de configuración para TeamSpeak y ábralo para editarlo.
$ nano ts3server.ini
Pegue el siguiente código en él.
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
Cierre el archivo pulsando Ctrl + X e introduciendo Y cuando se le solicite. Para conocer estos ajustes de configuración, puedes consultar el archivo server_quickstart.md disponible en la carpeta doc. El archivo anterior configura TeamSpeak para utilizar MariaDB en lugar de la base de datos SQLite.
Salga del shell de TeamSpeak.
$ exit
Necesitamos decirle al servidor de TeamSpeak que utilice el archivo de configuración recién creado. Detenga y desactive el servicio de TeamSpeak.
$ sudo systemctl stop ts3server && sudo systemctl disable ts3server
Abra el archivo de servicio.
$ sudo nano /lib/systemd/system/ts3server.service
Encuentre la línea ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 y cámbiela añadiendo los detalles del archivo de configuración como se muestra a continuación.
.... Type=forking ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini ....
Cierre el archivo presionando Ctrl + X e introduciendo Y cuando se le solicite.
Recargue el demonio de servicio para aplicar los cambios.
$ sudo systemctl daemon-reload
Habilite e inicie el servicio de TeamSpeak.
$ sudo systemctl enable ts3server --now
Compruebe el estado del servidor.
$ 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]: ------------------------------------------------------------------
Al hacerlo, se recreará la clave de privilegio. La próxima vez que se conecte a su servidor, se la pedirá. Sin embargo, su contraseña de administración del servidor seguirá siendo la misma.
Paso 9 – Actualización de TeamSpeak
El primer paso para actualizar el servidor de TeamSpeak es detener el servidor.
$ sudo systemctl stop ts3server
Descargue la última versión del sitio web oficial y extraiga el archivo en el directorio /opt/teamspeak sobrescribiendo los archivos originales siguiendo los pasos 2 y 3 del tutorial. Asegúrate de cambiar el permiso de la carpeta extraída.
Una vez que haya terminado, inicie el servidor de nuevo.
$ sudo systemctl start ts3server
Conclusión
Con esto concluye nuestro tutorial sobre la instalación y uso de TeamSpeak Server en un servidor basado en Debian 11. Si tiene alguna pregunta, publíquela en los comentarios más abajo.