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
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ń
Możesz wejść na swój serwer TS3 i przekleić uprawnienia, bedziesz juz adminem na swoim serwerze
Podgląd struktury bazy danych w PHPMyAdmin
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