Конфигурация сервера teamspeak с mysql5

Материал из wiki.p3.ru

Пример установки на VDS с Debian 4

  • Ставим TeamSpeak как обычно:

Скачиваем с официального сайта (http://www.goteamspeak.com/)

Создаём пользователя teamspeak командой adduser

Скопируем архив с teamspeak в домашнюю директорию пользователя.

Затем (все дальнейшие действия следует выполнять как пользователь teamspeak), распакуем архив:

$ tar xjvf ts2_server_rc2_202319.tar.bz2 

И запустим сервер

$ cd tss2_rc2
$ ./teamspeak2-server_startscript start

Конфигурацонный файл server.ini создался, тимспик останавливаем.

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

Предположим база называется ts, и пользователь ts

  • Теперь надо сменить пароль для этого пользователя.

заходим в shell,заходим рутом в mysql

mysql -p 

и выполняем следующие команды:

SET PASSWORD FOR 'ts'@'localhost' = OLD_PASSWORD('пароль');
FLUSH PRIVELEGES;

Для чего это нужно, обЪяснено будет позже.

  • Копируем библиотеку /usr/lib/libmysqlclient_r.so.10.0.0 в директорию, где находится TeamSpeak
  • Приступаем к настройке. Редактируем файл server.ini.

Нас интересует секция [DBEXPRESS]

[DBEXPRESS]
sqldir=./mysql_sql/
Drivername=mysql
Database=ts
Hostname=localhost
User_name=ts
Password=пароль
GetDriverFunc=getSQLDriverMYSQL
VendorLib=./libmysqlclient_r.so.10.0.0
LibraryName=./libsqlmy.so
Active=1

Приблизительно так это должно выглядеть.

  • Отступление:

TeamSpeak рабоет с mysql только с 3-й версией. Соответственно клиентскую библиотеку он может использовать только от третьей версии (libmysqlclient_r.so.10.0.0).

Также по непонятной причине он работает, только если библиотека расположена в его же директории.

В третьей версии пароли шифровались другим методом, поэтому мы и задали пользователю пароль функцией OLD_PASSWORD. Эта функция шифрует пароль как раз старым методом.

  • Теперь начинается колдунство.
ls /usr/share/mysql/charsets/ | grep xml | awk '{print "ln -s /usr/share/mysql/charsets/" $1, "/usr/share/mysql/charsets/" $1 "conf"}' | sh
echo "cp1251.xml 33" >> /usr/share/mysql/charsets/Index

Этим мы скопировали xml файлы кодировок в xml.conf, и содали Index файл для одной из них. Вообще 33 - это utf8 кодировка, но почему то файла utf.xml не было.

Это всё нужно опять же из-за клиента от mysql 3

  • Запускаем TeamSpeak. Если всё было сделано правильно, то он стартует. Если база была пуста, то смотрим пароль суперадминистратора в логе.

Оригинал находится [тут]. При перепечатке ссылка на оригинал обязательна