Serwer TS3 z bazą danych MariaDB + PHPMyAdmin na UBUNTU 14.04 LTS

teamspeak3

Serwer TS3 z bazą danych MariaDB + PHPMyAdmin na UBUNTU 14.04 LTS
Tym razem nie na Debianie tylko na Ubuntu.
Jako że sam mam serwer TS3 (obecnie uzywam bazy Myql), postanowilem że pokaże jak to ugryźć na Ubuntu z baza MariaDB.
Serwer TS3 od wersji 3.0.11.2 wspiera natywne używanie bazy Maria DB

1. Logujemy się do konsoli i pobieramy do pliki serwera TS3

wget http://dl.4players.de/ts/releases/3.0.11.2/teamspeak3-server_linux-amd64-3.0.11.2.tar.gz
tar xvf teamspeak3-server_linux-amd64-3.0.11.2.tar.gz; rm teamspeak3-server_linux-amd64-3.0.11.2.tar.gz
mv teamspeak3-server_linux-amd64/ TS3_SERVER

Pliki mamy gotowe.

Teraz instalujemy sobie serwer bazy danych MariaDB wraz z potrzebnymi narzędziami.

Polecam przejscie do poprzedniego poradnika, czyli instalacja serwera WWW Lighttpd z wszystkimi narzędziami.

Pamietaj o sudo, przed komendami, tamten poradnik pisany był w oparciu o serwer Debian 7

Pokaze w skrócie bez objaśniania jak to pokolei poklikać, w razie kłopotów:

sudo apt-get update
sudo apt-get install lighttpd php5-cgi
sudo lighttpd-enable-mod fastcgi
sudo /etc/init.d/lighttpd restart
sudo apt-get install software-properties-common -y
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://mariadb.kisiek.net//repo/10.0/ubuntu trusty main'
sudo apt-get update; sudo apt-get install mariadb-server mariadb-client -y
sudo /etc/init.d/lighttpd restart
sudo apt-get install phpmyadmin -y
sudo ln -s /usr/share/phpmyadmin/ /var/www/pma

Polecam zmienic port serwera WWW na inny niż 80, i tak nie będzie tutaj (przynajniej tak zakładam) żadnej strony WWW.

sudo nano /etc/lighttpd/lighttpd.conf
server.port = 80

na

server.port = 8081

I restart serwera WWW aby zmiany się zapisały:

sudo /etc/init.d/lighttpd restart

2. Wystarczy przejśc do przeglądarki:

http://[twoj-ip]:8081/pma

Tworzymy nowego użytkownika, będzie to użytkownik TS3 na potrzeby naszego serwera

TS3_1

TS3_2

Zatwierdzamy wszystko przyciskiem na dole strony: WYKONAJ

Zapisz sobie wygenerowane hasło do bazy bo będzie potrzebne przy uruchamianiu serwera TS3

3. Tworzymy uzytkownika TS3

sudo adduser TS3 --force-badname

I przenosimy wcześniej pobrane i przygotowane pliki serwera TS3

sudo cp -R TS3_SERVER/ /home/TS3/; rm -R TS3_SERVER/

Przechodzimy do katalogu serwera i nadajmy przy okazji uprawnienia dla uzytkownika TS3 aby mógł operowac w tym katalogu

sudo chmod -R 755 /home/TS3/TS3_SERVER/; sudo chown -R TS3:TS3 /home/TS3/TS3_SERVER/; cd /home/TS3/TS3_SERVER

4. Konfiguracja serwera TS3

Na początek tworzymy plik ts3server.ini

sudo nano ts3server.ini

o zawartości:

machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
liscensepath=
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
dbplugin=ts3db_mariadb
dbpluginparameter=ts3db_mariadb.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mariadb/
dblogkeepdays=90
logpath=logs
logquerycommands=0
dbclientkeepdays=30

oraz plik: ts3db_mariadb.ini

sudo nano ts3db_mariadb.ini

o zawartości:  [ wygenerowane hasła będą się różnić, wpisz prawidłowe ]

[config]
host=localhost
port=3306
username=TS3
password=47Dvywj6Ar5adyue
database=TS3
socket=/var/run/mysqld/mysqld.sock

Po zapisaniu plików dołączamy biblioteke MariaDB:

ldd libts3db_mariadb.so

Kopiujemy plugin obslugi bazy MariaDB do głównego katalogu serwera

sudo cp redist/libmariadb.so.2 ./

UWAGA
jeżeli przeprowadzasz instalacje na systemie Debian 7 konieczne bedzie wykonanie:
ln -s /home/TS3/TS3_SERVER/redist/libmariadb.so.2 /lib/x86_64-linux-gnu/libmariadb.so.2

Pozostało uruchomienie serwera:

sudo /home/TS3/TS3_SERVER/ts3server_minimal_runscript.sh start inifile=ts3server.ini

LOG z konsoli, pamietaj aby przekopiowac dane o superadminie oraz klucz uprawnień
TS3_3

 

 

Możesz wejść na swój serwer TS3 i przekleić uprawnienia, bedziesz juz adminem na swoim serwerze
TS3_4

 

 

Podgląd struktury bazy danych w PHPMyAdmin
TS3_5

Od teraz mozesz juz uruchamiac serwer komendą:

sudo /home/TS3/TS3_SERVER/ts3server_startscript.sh start inifile=ts3server.ini

Przykładowy log uruchamiania:

gru@ubuntu:/home/TS3/TS3_SERVER$ sudo /home/TS3/TS3_SERVER/ts3server_startscript.sh start inifile=ts3server.ini
ts3server.pid found, but no server running. Possibly your previously started server crashed
Please view the logfile for details.
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file

5. Uruchamianie serwera przy starcie systemu:

sudo nano /etc/init.d/ts3-server

O zawartosci:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          teamspeak3
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: teamspeak
# Description:       TS3 SERVER
### END INIT INFO
#
#  Init script for TS3.
#  The server configuration will be written to the
#  SERVER_CONFIG_FILE .ini file on first start to avoid
#  display of server parameters in process listings; Thus
#  in order for changes to the config in this file to
#  be applied, stop the server, delete the .ini file
#  and run this script afterwards;
#  Do *not* apply config changes to the .ini directly!
#
 
## TS3 Config START
 
	# udp server port
	UDP_PORT=9987
 
	# number of virtual servers
	NUMBER_OF_SERVERS=1
 
	# additional options go here...
 
## TS3 Config END
 
# path to ts3 root directory
SERVER_PATH=/home/TS3/TS3_SERVER
# full path to ts3 server binary
SERVER_BINARY=$SERVER_PATH/ts3server_linux_amd64
# user running ts3 server
TEAMSPEAK_SYSTEM_USER=TS3
# group running ts3 server
TEAMSPEAK_SYSTEM_GROUP=TS3
 
# server .ini config file
SERVER_CONFIG_FILE=ts3server.ini
 
# full path to pid file for start-stop-daemon
PID_FILE=$SERVER_PATH/server.pid
 
if [ -f $SERVER_CONFIG_FILE ]
then
	DAEMON_COMMAND_PARAMS="inifile=$SERVER_CONFIG_FILE"
else
	DAEMON_COMMAND_PARAMS="default_voice_port=$UDP_PORT \
				create_default_virtualserver=$NUMBER_OF_SERVERS \
				createinifile=1 \
				inifile=$SERVER_CONFIG_FILE"
fi						
 
case "$1" in
 start)
	echo "Starting TS3 server..."
	export LD_LIBRARY_PATH="${SERVER_PATH}:${LD_LIBRARY_PATH}"
	start-stop-daemon --start --quiet --exec "$SERVER_BINARY" --chdir "$SERVER_PATH" \
			  --chuid "$TEAMSPEAK_SYSTEM_USER" --group "$TEAMSPEAK_SYSTEM_GROUP" \
			  --background --make-pidfile --pidfile "$PID_FILE" \
			  $DAEMON_COMMAND_PARAMS
	if [ $? != 0 ]; then
		echo "! Failed. (Server already running?)"
		exit 1
	else
		echo "done."
	fi
 ;;
 stop)
 	echo "Stopping TS3 server..."
	start-stop-daemon --stop --quiet --pidfile "$PID_FILE"
	if [ $? != 0 ]; then
		echo "! Failed."
		exit 1
	else
		echo "done."
	fi
 ;;
 status)
	if [ -e $PID_FILE ]; then
		if ( kill -0 $(cat $PID_FILE) 2> /dev/null ); then
			echo "Server is running"
		else
			echo "Server not running"
		fi
	else
		echo "Server PID file not found"
	fi
 ;;
 update-config)
 	echo "Deleting $SERVER_CONFIG_FILE..."
 	rm -f $SERVER_CONFIG_FILE
	$0 restart
 ;;
 restart)
	$0 stop && $0 start || exit 1
 ;;
 *)
	echo "Usage: $0 {start|stop|restart}"
    exit 1
 ;;
esac
 
exit 0

Pamietaj aby uzupełnić prawidłowymi danymi TEAMSPEAK_SYSTEM_USER, TEAMSPEAK_SYSTEM_GROUP oraz SERVER_PATH

Nadanie praw i włączenie uruchamiania przy starcie

sudo chmod u+x /etc/init.d/ts3-server
sudo update-rc.d ts3-server defaults