coturn服务器的搭建

Window下搭建coturn服务器:

准备材料:

1、安装Cygwin,地址:https://cygwin.com/install.html

由于Window无法直接部署coturn,因此需要下载安装Cygwin在Window上部署Linux虚拟环境。

在安装的时候需要安装几下packet:openssl-dev、gcc、libevent-devel、make(bin和source都要选择)。尤其是openssl和libevent这两个配置的时候需要使用必须添加正确才能正常生成Makefile。

2、下载coturn源码,地址:https://codeload.github.com/coturn/coturn/zip/4.5.0.4

安装步骤:
  1. 安装Cygwin的步骤网上有很多,除了需要选择几个packet之外,其他的没有需要特别注意的点,所以这里不在追叙。可以参考链接:Cygwin安装教程-CSDN博客
  2. 编译coturn源码
  • 2.1 Cygwin安装完整之后,打开Cygwin窗口,进入到coturn代码所在路径

  • 2.2 到coturn代码路径之后执行以下命令

    ./configure //使用此命令更具configure生成makefile

此过程可能会遇到一下问题:

问题1:ERROR: OpenSSL Crypto development libraries are not installed properly in required location.

出现此问题是由于Cygwin中没有安装openssl,如果在编译之前添加了openssl应该不会出现此问题,如果添加了还出现此问题,建议再添加openssllib。

问题2:Libevent2 development libraries are not installed properly in required location.

出现此问题是由于在Cygwin中没有安装libevent,添加之后应该就会出现此问题。

  • 2.3 编译完成之后,会在coturn文件下生成Makefile文件。之后执行make

    make//编译生成可以执行的文件

编辑完成如下图:

  • 2.4 编译完成之后会在文件夹下生成一下几个文件

之后使用make install 安装即可

复制代码
make install

安装完成如下:

复制代码
install -d sqlite
rm -rf sqlite/turndb
echo sqlite/turndb < turndb/schema.sql
sqlite/turndb
install -d /usr/local
install -d /usr/local/bin
install -d /usr/local/var/db
install -d /usr/local/man/man1
install -d /usr/local/etc
install -d /usr/local/lib
install -d /usr/local/share/examples/turnserver
install -d /usr/local/share/doc/turnserver
install -d /usr/local/share/turnserver
install -d /usr/local/include/turn
install -p bin/turnserver /usr/local/bin
install -p bin/turnadmin /usr/local/bin
install -p bin/turnutils_uclient /usr/local/bin
install -p bin/turnutils_peer /usr/local/bin
install -p bin/turnutils_stunclient /usr/local/bin
install -p bin/turnutils_oauth /usr/local/bin
install -p bin/turnutils_natdiscovery /usr/local/bin
install -p -m 0644 man/man1/turnserver.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnadmin.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_uclient.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_stunclient.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_oauth.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_natdiscovery.1 /usr/local/man/man1/
install -p -m 0644 man/man1/turnutils_peer.1 /usr/local/man/man1/
install -p -m 0644 man/man1/coturn.1 /usr/local/man/man1/
install -p lib/libturnclient.a /usr/local/lib
install -p LICENSE /usr/local/share/doc/turnserver
install -p README.turnserver /usr/local/share/doc/turnserver
install -p README.turnadmin /usr/local/share/doc/turnserver
install -p README.turnutils /usr/local/share/doc/turnserver
install -p INSTALL /usr/local/share/doc/turnserver
install -p postinstall.txt /usr/local/share/doc/turnserver
install -p turndb/schema.sql /usr/local/share/doc/turnserver
install -p turndb/schema.sql /usr/local/share/turnserver
install -p turndb/schema.mongo.sh /usr/local/share/doc/turnserver
install -p turndb/schema.mongo.sh /usr/local/share/turnserver
install -p turndb/testredisdbsetup.sh /usr/local/share/turnserver
install -p turndb/testmongosetup.sh /usr/local/share/turnserver
install -p turndb/testsqldbsetup.sql /usr/local/share/turnserver
install -p turndb/schema.userdb.redis /usr/local/share/doc/turnserver
install -p turndb/schema.userdb.redis /usr/local/share/turnserver
install -p turndb/schema.stats.redis /usr/local/share/doc/turnserver
install -p turndb/schema.stats.redis /usr/local/share/turnserver
if [ -f sqlite/turndb ] ; then install -p sqlite/turndb /usr/local/var/db/turndb; fi
install -p examples/etc/turnserver.conf /usr/local/etc/turnserver.conf.default
cp -rpf examples/etc /usr/local/share/examples/turnserver
cp -rpf examples/scripts /usr/local/share/examples/turnserver
rm -rf /usr/local/share/examples/turnserver/scripts/rfc5769.sh
cp -rpf include/turn/client /usr/local/include/turn
install -p include/turn/ns_turn_defs.h /usr/local/include/turn
cat /usr/local/share/doc/turnserver/postinstall.txt
See docs folder or go to https://github.com/coturn/coturn/docs/PostInstall.md

至此Window中coturn安装完成。

服务器配置:

1、切换目录到 /usr/local/etc 路径中,将turnserver.conf.default拷贝一份命名为turnserver.conf。

2、在turnserver.conf中添加一下配置

复制代码
#与前ifconfig查到的网卡名称一致(如果无法运行ifconfig,可以在windows的cmd窗口中使用ipconfig,如果只有一块网卡,可以默认使用如下值)
relay-device=eth0
#内网IP(ipconfig查到的IP地址)
listening-ip=192.168.1.188
#公网IP(局域网可以使用与上面相同的ip地址)
external-ip=113.119.27.xx
#第1步创建的用户名密码,创建IceServer时用
user=your_username:your_password
#一般与turnadmin创建用户时指定的realm一致
realm=xxx.com
#端口号
listening-port=3478
#不开启会报CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!错误
cli-password=qwerty
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem

至此将自己的信息对应填写之后配置结束。

启动服务:
复制代码
 turnserver -o -a -f -c /usr/local/coturn/etc/turnserver.conf -r sdo.com 
检测:

打开一下网址,此网址是webRTC提供测试coturn服务器的网址:Trickle ICE (webrtc.github.io)

打开之后填写自己coturn服务器的配置文件信息,如下所示:

参考链接:

WebRTC之搭建coturn服务遇到的问题_k8s 部署webrtc服务coturn-CSDN博客

coTurn 运行在Windows平台的方法-CSDN博客

相关推荐
HashData酷克数据3 分钟前
官宣:Apache Cloudberry (Incubating) 2.0.0 发布!
数据库·开源·apache·cloudberry
秋难降4 分钟前
SQL 索引突然 “罢工”?快来看看为什么
数据库·后端·sql
爱隐身的官人11 分钟前
新后端漏洞(上)- Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)
java·tomcat·ajp
pound12718 分钟前
Linux
linux·运维·服务器
@CLoudbays_Martin1122 分钟前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
TDengine (老段)33 分钟前
TDengine 时间函数 TODAY() 用户手册
大数据·数据库·物联网·oracle·时序数据库·tdengine·涛思数据
四谎真好看36 分钟前
Java 学习笔记(进阶篇2)
java·笔记·学习
码界奇点42 分钟前
KingbaseES一体化架构与多层防护体系如何保障企业级数据库的持续稳定与弹性扩展
数据库·架构·可用性测试
上官浩仁1 小时前
springboot ioc 控制反转入门与实战
java·spring boot·spring
悟乙己1 小时前
数据科学家如何更好地展示自己的能力
大数据·数据库·数据科学家