1、更新系统
yum update
2、创建teamspeak账户
useradd teamspeak
passwd teamspeak
3、下载ts3安装包
wget http://dl.4players.de/ts/releases/3.2.0/teamspeak3-server_linux_amd64-3.2.0.tar.bz2
Centos7解压.tar.bz2提示tar (child): bzip2: Cannot exec: No such file or directory解决方法
原因是因为该centos没有bzip2解压工具
解决方法如下:
yum -y install bzip2
tar -xjf teamspeak3-server_linux_amd64-3.9.1.tar.bz2
mv teamspeak3-server_linux_amd64 teamspeak3
cp -R teamspeak3 /home/teamspeak/
chown -R teamspeak:teamspeak /home/teamspeak/teamspeak3/
手动启动TeamSpeak服务
su - teamspeak
$ cd teamspeak3/
$ touch .ts3server_license_accepted
$ ./ts3server_startscript.sh start
如果没有创建ts3server_license_accepted”的文件,在启动过程中出现如下图的报错信息:
accept in order to accept the license agreement ...
其原因在于服务器启动时需要读取一个TS3SERVER_LICENSE文件,如果当前工作目录不存在授权文件,则报错。处理方法也很简单,使用如下命令在当前目录下新建一个名为”.ts3server_license_accepted”的文件即可:
$ touch .ts3server_license_accepted
之后再使用之前的命令启动服务器,就可以正常启动服务器了。第一次启动服务器时,会出现如下提示:
登录名 密码 第一次秘钥的信息,一定要记录了,连接服务器的时候必须用的。
可以看到,程序会提示创建了一个服务器管理员帐户,并且创建了一个管理服务器的token字符串,这个token串是通过客户端管理服务器的,所以会着重提醒。
- 添加systemctl服务
为了管理服务器方便,可以将TeamSpeak服务器添加为CentOS服务,在”/lib/systemd/system/”目录中添加一个名为”ts3.service”的文件,使用如下命令:
$ su -
vi /lib/systemd/system/ts3.service
将如下内容添加至”ts3.service”文件中:
[Unit]
Description=Team Speak 3 Server
After=network.target
[Service]
WorkingDirectory=/home/teamspeak/teamspeak3
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/home/teamspeak/teamspeak3/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/teamspeak3/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/teamspeak3/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target
然后使用如下命令启动TeamSpeak服务,并将其设置为开机自动启动,最后查看服务状态:
systemctl start ts3
systemctl enable ts3
systemctl status ts3
好了,现在TeamSpeak服务器就安装完成了,可以通过”systemctl”命令来方便管理,并且开机可以自行启动。 - 打开系统防火墙端口
CentOS 7 默认是安装并启用了防火墙的,现需要通过以下命令将TeamSpeak服务器侦听的所有端口都打开:
firewall-cmd --zone=public --add-port=9987/udp --permanent
firewall-cmd --zone=public --add-port=10011/tcp --permanent
firewall-cmd --zone=public --add-port=30033/tcp --permanent
firewall-cmd --reload
使用 systemctl list-unit-files 可以查看启动项
左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动
过滤查询可以systemctl list-unit-files | grep enable 过滤查看启动项如下
开机启动
systemctl enable server
----------------------------------------------------------------------------------------------------------------------------**