Установка Team Speak 3 server с MySQL на Debian Squeeze
Сейчас попробую показать, как устанавливать TS3 3.0.2 на Debian Squeeze. Установка описывается для архитектуры amd64
Сперва сделаем папку, куда будем "собирать" TS3
Сперва сделаем папку, куда будем "собирать" TS3
cd ~Нам понадобится пакет TS3 под нашу архитектуру (Я использую amd64) и библиотека limbysqlclient.15.so (в репозиториях Squeeze есть только 16я, так что 15ю мы утянем из Lenny)
mkdir ./ts3s
mkdir ./ts3s/deb
cd ./ts3s
Идем на сайт TeamSpeak.com и получаем ссылку на скачивание .tar.gz под свою архитектуру (у меня - amd64)
Затем топаем на
wget http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.2/teamspeak3-server_linux-amd64-3.0.2.tar.gz
wget http://archive.debian.org/debian/pool/main/m/mysql-dfsg-5.0/libmysqlclient15off_5.0.51a-24+lenny5_amd64.debУстанавливаем MySQL и утилиты к нему.
sudo apt-get install mysql-server mysql-clientУстанавливаем библиотеку libmysqlclient.15:
sudo dpkg -i ./libmysqlclient15off_5.0.51a-24+lenny5_amd64.deb
Распаковываем сервер TS3
tar -xvf ./teamspeak3-server_linux-amd64-3.0.2.tar.gz
Создаем структуру папок для установки в стиле Debian
mkdir ./deb/etc
mkdir ./deb/usr
mkdir ./deb/var
mkdir ./deb/etc/init.d
mkdir ./deb/etc/ts3-server
mkdir ./deb/usr/lib
mkdir ./deb/usr/lib/ts3-server
mkdir ./deb/usr/bin
mkdir ./deb/usr/share
mkdir ./deb/usr/share/ts3-server
mkdir ./deb/var/ts3-server
Copy files from original TS3 distro to our new debian-style TS3 directory structure.
Скопируем файлы из распакованного дистрибутива TS3 в папки нашей Debian-структуры
Обращаю внимание, что всякую ерунду типа документаций, копирайтов, лицензий я не трогаю, ибо оно нам не надо на сервере
Скопируем файлы из распакованного дистрибутива TS3 в папки нашей Debian-структуры
Обращаю внимание, что всякую ерунду типа документаций, копирайтов, лицензий я не трогаю, ибо оно нам не надо на сервере
echo Copying and renaming an executable..
cp ./teamspeak3-server_linux-amd64/ts3server_linux_amd64 ./deb/usr/bin/ts3-server
echo Copying SQL-TS3 Libraries
cp ./teamspeak3-server_linux-amd64/libts3db_*sql*.so ./deb/usr/lib/ts3-server/
echo Copying SQL-TS3 statement templates
cp --recursive ./teamspeak3-server_linux-amd64/sql ./deb/usr/share/ts3-server/
Теперь создадим файлы в нашей структуре, которые TS3 будет использовать
Теперь нам нужно сделать скрипт init.d для "кошерного" запуска нашего сервера TS3. Он основан на оригинальном ts3server_startscript.sh, который идет в дистрибутиве TS3. Из изменений добавлена поддержка "размазанных" по файловой системе файлов TS3, запуск под непривилегированным пользователем и т.д.
Мой init.d уже готов,его можно посмотреть на pastebin http://pastebin.com/H7wPSsNM . Нам нужно его скачать.
Замените "ts3db" именем базы,которое вам больше нравится. Кстати, желательно не использовать базу,которой уже пользуется какой-либо сервис, и не давать базу TS3 кому-либо потом.
Создаем пользователя MySQL для TS3. Имя пользователя `ts3server`, пароль `somepassword` (замените на что-нибудь свое) и даем ему права на базу,которую мы создали ранее (ts3db)
echo Creating LICENSE file. Replace it if you have one.
touch ./deb/etc/ts3-server/licensekey.dat
echo Creating MYSQL-CONF file. You shold edit it
touch ./deb/etc/ts3-server/ts3-server.mysql
echo Creating COMMANDLINE-CONF file. You should edit it
touch ./deb/etc/ts3-server/ts3-server.mysql
echo Creating INIT.D file. You should edit it
touch ./deb/etc/init.d/ts3-server
echo filling them with data
echo 'machine_id=MachineId' > ./deb/etc/ts3-server/ts3-server.cmdlines
echo 'dbplugin=ts3db_mysql' >> ./deb/etc/ts3-server/ts3-server.cmdlines
echo 'dbsqlcreatepath=create_mysql/' >> ./deb/etc/ts3-server/ts3-server.cmdlines
echo 'query_ip=127.0.0.1' >> ./deb/etc/ts3-server/ts3-server.cmdlines
echo 'dbpluginparameter=/etc/ts3-server/ts3-server.mysql' >> ./deb/etc/ts3-server/ts3-server.cmdlines
echo '[config]' > ./deb/etc/ts3-server/ts3-server.mysql
echo 'host=localhost' >> ./deb/etc/ts3-server/ts3-server.mysql
echo 'port=3306' >> ./deb/etc/ts3-server/ts3-server.mysql
echo 'username=ts3s-default' >> ./deb/etc/ts3-server/ts3-server.mysql
echo 'password=somepassword' >> ./deb/etc/ts3-server/ts3-server.mysql
echo 'database=ts3db_default' >> ./deb/etc/ts3-server/ts3-server.mysql
echo 'socket=' >> ./deb/etc/ts3-server/ts3-server.mysql
Теперь нам нужно сделать скрипт init.d для "кошерного" запуска нашего сервера TS3. Он основан на оригинальном ts3server_startscript.sh, который идет в дистрибутиве TS3. Из изменений добавлена поддержка "размазанных" по файловой системе файлов TS3, запуск под непривилегированным пользователем и т.д.
Мой init.d уже готов,его можно посмотреть на pastebin http://pastebin.com/H7wPSsNM . Нам нужно его скачать.
sudo wget http://pastebin.com/download.php?i=H7wPSsNM
-O ./deb/etc/init.d/ts3-server
chmod +x ./deb/etc/init.d/ts3-serverПосле мы зыпускаем MySQL и создаем пользователя и базу для TS3
sudo /etc/init.d/mysql startВходим в консоль MySQL под пользователем root и паролем, который вы во время установки поставили
mysql -u root -pИ делаем следующие команды:
Замените "ts3db" именем базы,которое вам больше нравится. Кстати, желательно не использовать базу,которой уже пользуется какой-либо сервис, и не давать базу TS3 кому-либо потом.
CREATE DATABASE ts3db;Create a TS3Server MYSQL user `ts3server` with password `somepassword` (remember it) and grant him access to any tables in database `ts3db`)
Создаем пользователя MySQL для TS3. Имя пользователя `ts3server`, пароль `somepassword` (замените на что-нибудь свое) и даем ему права на базу,которую мы создали ранее (ts3db)
GRANT ALL PRIVILEGES on ts3db.* TO ts3server@localhost IDENTIFIED BY 'somepassword';
EXIT;Теперь со спокойной душой мы переносим ту структуру каталогов,которую мы создали,на "боевое" место
sudo cp --recursive ./deb/* /И надо еще изменить несколько параметров.
Сперва, поправьте machine_id. Хотя это практически не нужно, но для красоты.
sudo nano /etc/ts3-server/ts3-server.cmdlinesИзмените поле machine_id= , затем нажмите CTRL+X, затем Y
Прошу заметить что я не предусмотрел возможности внесения комментариев в этот файл, так что каждая строка в нем передается в программу при запуске.
Теперь, надо поправить параметры доступа к MySQL
sudo nano /etc/ts3-server/ts3-server.mysqlПоправьте все,что нужно, затем CTRL+X, Y
Наконец, добавим пользователя в систему для TS3. По-умолчанию, мой init.d использует пользователя ts3-server в группе ts3-server, так что добавляем его. Если что,скрипт запуска и сам его создаст.
sudo /usr/sbin/adduser --system --no-create-home --shell /bin/true --group --disabled-password --disabled-login ts3-server(!) Первый запуск. Он будет отличаться от последующих!
sudo /etc/init.d/ts3-server nodaemon clear_database=1Вы увидите что-то похожее на :
I M P O R T A N T
------------------------------------------------------------------И
Server Query Admin Acccount created
loginname= "serveradmin", password= "IGKPLW2s"------------------------------------------------------------------
I M P O R T A N TСкопируйте все поля,помеченные красным куда-нибудь. Первый - это пароль администратора сервера для работы через QueryConsole. Он используется в WEB-интерфейсе или при работе через TELNET. Второй - это ваш ключ повышения полномочий.
------------------------------------------------------------------
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=Z8YeSl1+wapPLSA61JLevEpSEEmrE0knYoMe8KgX
------------------------------------------------------------------
Нажмите CTRL+C и уведите примерно следующее
INFO |ServerMain | | Received signal SIGINT, shutting down.
INFO |VirtualServer | 1| stopped
Теперь попробуем запуститься в "нормальном" режиме
sudo /etc/init.d/ts3-server startПроверим, что TS3 запустился и "висит" на нужных нам сетевых портах.
sudo netstat --numeric --listening --programs | grep ts3-server
Вы увидите что-то вроде
tcp 0 0 0.0.0.0:10011 0.0.0.0:* LISTEN 18551/ts3-server
tcp 0 0 0.0.0.0:30033 0.0.0.0:* LISTEN 18551/ts3-server
udp 0 0 0.0.0.0:9987 0.0.0.0:* 18551/ts3-server
Теперь добавим сервер в авто запуск
sudo update-rc.d ts3-server defaults
Проверим,что все добавилось
ls /etc/rc2.d/ | grep ts3-serverВсе, сервер настроен.
Теперь вам нужно запустить TS3-клиент и присоединиться к серверу. Клиент попросит вас дать ему ключ полномочий (который мы копировали выше). Дайте его ему.
Дополнительно для администрирования я использую TS3-WebInterface (Как раз то место,где используется пароль serveradmin)
http://addons.teamspeak.com/directory/tools/web-based/Teamspeak-3-Webinterface-by-Psychokiller.html
Получить NPL лицензию можно тут http://npl.teamspeakusa.com/ts3npl.php (Она дает до 10 виртуальных серверов и до 512 клиентов (на все серверы)
Комментариев нет:
Отправить комментарий