Конфигурация сервера teamspeak с mysql5
Пример установки на 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. Если всё было сделано правильно, то он стартует. Если база была пуста, то смотрим пароль суперадминистратора в логе.
Оригинал находится [тут]. При перепечатке ссылка на оригинал обязательна