Cygwin‌及coturn安装教程(附安装包)

一、‌Cygwin‌的安装

1.Cygwin‌

‌Cygwin‌是一个在Windows平台上运行的类UNIX模拟环境,它是一个开源的免费软件,由Cygnus Solutions公司开发。Cygwin通过提供一个名为cygwin1.dll的动态链接库,实现了在Windows上运行Unix应用程序的功能。这个DLL拦截并重定向Unix系统调用,将其转换为Windows本机API调用,从而在Windows上模拟了一个类Unix的环境‌。

2.安装包

链接:https://pan.quark.cn/s/b2845be6952a

3.勾选【从互联网安装】,然后点击【下一页(N)】

4.在任意盘创建名称 cygwin64 的文件夹

5.回到软件安装界面,点击【浏览】及进行选择

6.勾选【直接连接(D)】,然后点击【下一页(N)】

7.选择自定义镜像网站

推荐阿里云开源镜像(cygwin安装包下载_开源镜像站-阿里云

选中镜像网站后,点击【下一页(N)】

8.点击【ALL】前面的加号按钮

选择Devel->下拉框选择binutils-2.41-3

然后依次找到【gcc-coreh】和【gcc-g++】选择任意版本(11.5.0-1)

找到【gdb】,选择10.0以上较新版本(13.2-1)

【mingw64-i686-gcc-core】和【mingw64-i686-gcc-g++】11.4.0.1 

点击下一页等待安装完成

二、coturn安装

需要安装以下组件(必须)

1.安装openssl

2.libevent

3.安装gcc

4.安装make

然后下一步直至完成

5.下载Coturn

GitHub地址:coturn/coturn: coturn TURN server project (github.com)

下载完解压后拷贝到D:ENVCygwinin

如无法访问可直接访问(https://codeload.github.com/coturn/coturn/zip/4.5.0.4)下载

6.编译Coturn

打开Cygwin的安装目录,有一个Cygwin.bat批处理,双击打开

进入coturn目录

执行cd /bin/coturn

执行./configure

结尾出现success 说明到这一步没问题,继续

执行make

执行make install

目录下会出现一个bin文件夹,进入后会看到turnserver.exe

从usr/local/etc目录将turnserver.conf.default文件拷贝过来,并修改文件名去掉default

配置turnserver.conf生成签名pem文件
relay-device=eth0
listening-ip=内网ip
listening-port=3478
tls-listening-port=5349
relay-ip=内网ip
external-ip=公网ip
relay-threads=50
lt-cred-mech
min-port=49152
max-port=65535
cert=/bin/coturn/bin/turn_server_cert.pem
pkey=/bin/coturn/bin/turn_server_pkey.pem
pidfile=/var/run/turnserver.pid
user=admin:123456
cli-password=123456
3.生成签名pem文件 
openssl req -x509 -newkey rsa:2048 -keyout /bin/coturn/bin/turn_server_pkey.pem -out /bin/coturn/bin/turn_server_cert.pem -days 99999 -nodes

此时在coturn的bin目录下就会生成turn_server_cert.pem和turn_server_pkey.pem文件 

开始运行 

turnserver -o -a -f -c /usr/bin/coturn/bin/turnserver.conf -r sdo.com

查看本机的3478端口是否被监听 

4.webrtc-streamer启动命令:

webrtc-streamer.exe -o -H 内网ip:8000 -S公网ip:公网端口 -Tadmin:123456@公网ip:公网端口
5.启动 

7.可能遇到的问题 

1.src/apps/common/ns_turn_utils.c:53:10: 致命错误:sys/syscall.h:No such file or directory 53 | #include <sys/syscall.h>

当你在使用 Cygwin64 在 Windows 上编译代码时遇到 src/apps/common/ns_turn_utils.c:53:10: 致命错误:sys/syscall.h:No such file or directory 错误,这通常是因为 sys/syscall.h 文件在 Cygwin 环境中不存在或者相关的开发包没有安装

解决办法

如果你确定代码需要使用 sys/syscall.h 中的功能,并且无法找到跨平台的替代方案,你可以通过条件编译来实现跨平台兼容性。

#ifdef __linux__
#include <sys/syscall.h>
#endif

 这样,只有在 Linux 系统上编译时才会包含 sys/syscall.h 头文件,在 Windows 系统上编译时会忽略该头文件。

# 进入 coturn 源码目录
cd /path/to/coturn/source

# 清除之前的配置
make clean

# 重新配置
./configure

# 编译并安装
make
make install

2.openssl req -x509 -newkey rsa:2048 -keyout /bin/coturn/bin/turn_server_pkey.pem -out /bin/coturn/bin/turn_server_cert.pem -days 99999 -nodes Can't open "/etc/pki/tls/openssl.cnf" for reading, No such file or directory 100000000A000000:error:80000002:system library:BIO_new_file:No such file or directory:crypto/bio/bss_file.c:67:calling fopen(/etc/pki/tls/openssl.cnf, r) 100000000A000000:error:10000080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:75:

解决办法

通过 -config 选项手动指定 OpenSSL 配置文件的路径。在 Cygwin 中,OpenSSL 配置文件通常位于 /usr/ssl/openssl.cnf 或者 /etc/ssl/openssl.cnf。你可以使用以下命令来生成 PEM 文件,并指定配置文件的路径:

openssl req -x509 -newkey rsa:2048 -keyout /bin/coturn/bin/turn_server_pkey.pem -out /bin/coturn/bin/turn_server_cert.pem -days 99999 -nodes -config /usr/ssl/openssl.cnf

如果 /usr/ssl/openssl.cnf 不存在,你可以尝试使用 /etc/ssl/openssl.cnf

openssl req -x509 -newkey rsa:2048 -keyout /bin/coturn/bin/turn_server_pkey.pem -out /bin/coturn/bin/turn_server_cert.pem -days 99999 -nodes -config /etc/ssl/openssl.cnf

如若找不到 可以进行自行查找并确认 OpenSSL 配置文件位置

可以使用以下命令在 Cygwin 环境中查找 openssl.cnf 文件的位置:

find / -name "openssl.cnf" 2>/dev/null

 该命令会在整个文件系统中搜索 openssl.cnf 文件,并将错误信息重定向到 /dev/null 以避免显示不必要的错误。找到文件后,使用 -config 选项指定其路径来生成 PEM 文件。

然后将-config   替换掉之前 -config后的路径

openssl req -x509 -newkey rsa:2048 -keyout /bin/coturn/bin/turn_server_pkey.pem -out /bin/coturn/bin/turn_server_cert.pem -days 99999 -nodes -config /path/to/openssl.cnf

三、验证Cygwin安装是否成功

1.右键以管理员身份打开【Cygwin.bat】

2.在弹出的命令窗口输入

cygcheck -c cygwin

 

成功安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值