Установка Teamspeak 3 с автозапуском в CentOS 6

Установка Teamspeak 3 с автозапуском в CentOS 6

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Установка сервера голосового общения Teamspeak 3 на сервер под управлением CentOS 6.

Добавляем правила в Iptables

1
2
3
4
5
6
7
8
9
10
11
12
iptables -t filter -A INPUT -p udp -m udp --dport 9987 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 30033 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 10011 -j ACCEPT
iptables -t filter -A OUTPUT -p udp -m udp --dport 2010 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 41144 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -m tcp --dport 2008 -j ACCEPT

iptables -A OUTPUT -s 80.190.145.215 -p tcp --dport 2008 -j ACCEPT
iptables -A OUTPUT -s 194.97.114.3 -p udp --dport 2010 -j ACCEPT
------------------------------------------------------------------
80.190.145.215 - accounting.teamspeak.com
194.97.114.3 - weblist.teamspeak.com

Сохраняем и перезагружаем сервис

1
service iptables save && service iptables restart

Добавляем нового пользователя в систему

1
useradd teamspeak

Переходим в домашнюю директорию пользователя и скачиваем последний дистрибутив сервера Teamspeak 3

1
2
cd /home/teamspeak
wget http://dl.4players.de/ts/releases/$version$/teamspeak3-server_linux-amd64-x.x.x.x.tar.gz
1
2
3
tar xvfz teamspeak3-server_linux-amd64-x.x.x.x.tar.gz
mv teamspeak3-server_linux-amd64/* `pwd`
rm -rf teamspeak3-server_linux-amd64 && rm -rf teamspeak3-server_linux-amd64-x.x.x.x.tar.gz

Настраиваем автозапуск Teamspeak 3

Создаем новый файл /etc/init.d/teamspeak

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
#
# teamspeak Start/Stop/Restart Teamspeak service
#
# chkconfig: 2345 98 8
# description: Start/Stop/Restart the Teamspeak voice server
# install: chkconfig --add teamspeak
# uninstall: chkconfig --del teamspeak


# Location of the 'su' command
su=/bin/su
# Username of the teamspeak user
user=teamspeak
# Directory of the teamspeak server. This can be absolute eg:
# /home/teamspeak/
# or relative (meaning if your directory is in the home directory of ts and is called ts3
# then you just need ts3, as is the default.
dir=/home/teamspeak/
# The start script (I use the current default
exec=./ts3server_startscript.sh

# See how we were called.
case "$1" in
start)
$su - $user -c "cd $dir;$exec start"
;;
stop)
$su - $user -c "cd $dir;$exec stop"
;;
restart)
$su - $user -c "cd $dir;$exec restart"
;;
status)
$su - $user -c "cd $dir;$exec status"
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 2
esac
exit 0

Предоставляем доступ для пользователя teamspeak

1
2
chown -R teamspeak:teamspeak /home/teamspeak
chown -R teamspeak:teamspeak /etc/init.d/teamspeak

Создаем конфигурационный файл

Для связки сервера с MySQL необходимо создать 2 дополнительных файла:

ts3server.ini

1
2
3
4
5
6
7
8
default_voice_port=9987
filetransfer_port=30033
query_port=10011
dbplugin=ts3db_mysql
dbpluginparameter=ts3db_mysql.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mysql/
logpath=logs

ts3db_mysql.ini

1
2
3
4
5
6
[config]
host='127.0.0.1'
port='3306'
username='$LOGIN_MYSQL$'
password='$YOUR_PASSWORD$'
database='$DB_NAME$'

Выдаем права на доступ

1
chmod 0755 /etc/init.d/teamspeak

Проверяем библиотеки для запуска

1
2
3
su teamspeak
cd ~/teamspeak
ldd libts3db_mariadb.so
1
2
3
4
5
6
7
linux-vdso.so.1 =>  (0x00007fffd45ff000)
libmariadb.so.2 => /lib/x86_64-linux-gnu/libmariadb.so.2 (0x00007f33bce50000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f33bcbce000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f33bc841000)
/lib64/ld-linux-x86-64.so.2 (0x00007f33bd3a4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f33bc63d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f33bc421000)

Но скорее всего libmariadb.so.2 будет не найдена. Потому что в стандартной сборке MariaDB под CentOS этой библиотеки нет. Но по счастью она есть в дистрибутиве сервера, в папке redist.

С правами пользователя root создаём ссылку на эту библиотеку.

1
ln -s /home/teamspeak/teamspeak/redist/libmariadb.so.2 /lib/x86_64-linux-gnu/libmariadb.so.2

Подключаем конфигурационный файл

Изменим файл ts3server_startscript.sh

1
COMMANDLINE_PARAMETERS="inifile=ts3server.ini" #add any command line parameters you want to pass here

Запуск сервера

1
2
su teamspeak
service teamspeak start
On this page