我正在根据以下说明在 Ubuntu Server 16.04.1 上安装 COTURN这里。所有步骤都完成良好,但尝试运行时turnserver
出现此错误:
Error retrieving SQLite DB information: file is encrypted or is not a database
我已经在 Google 上搜索了上述错误,发现它大多发生在版本冲突中SQLite
。但我已完全按照安装说明执行了步骤,却不知道如何修复该问题。
答案1
如果有人遇到同样的问题:
1)安装SQLite3:
>> sudo apt-get update
>> sudo apt-get install sqlite3 libsqlite3-dev
2)在安装文档定义数据库文件时出现错误 etc/turnserver.conf
:
userdb=/etc/turnuserdb.conf
应改为:
userdb=/var/lib/turn/turndb
附言:
turnuserdb.conf
如果您需要的话,以下是重要部分:
# you can listen ports 80 and 443 instead of 3478/5349
listening-port=3478
alt-listening-port=0
tls-listening-port=5349
alt-tls-listening-port=0
listening-ip=YourPublicIPv4
relay-ip=YourPublicIPv4
external-ip=YourPublicIPv4
# realm=yourdomain.com
# server-name=yourdomain.com
# lt-cred-mech
# userdb=/etc/turnuserdb.conf
oauth
user=youruser:yourpassword
# use real-valid certificate/privatekey files
# cert=/etc/ssl/certificate.pem
# pkey=/etc/ssl/private.key
no-stdout-log
考虑使用您的YourPublicIPv4
(xxxx) 和youruser:yourpassword
。
答案2
- 从以下位置下载最新源代码Github。
提取文件:
tar -xvfz turnserver-<...>.tar.gz
使用架构 turndb/schema.sql 创建一个新数据库:
sqlite3 <new_file_name> < turndb/schema.sql
将新数据库替换为原始数据库
/var/lib/turn/
另外,使用 Ubuntu18 可能会出现问题。请改用 Ubuntu16。