Ubuntu Server 16.04.1 上安装 COTURN 后出现 SQLite 错误

Ubuntu Server 16.04.1 上安装 COTURN 后出现 SQLite 错误

我正在根据以下说明在 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

  1. 从以下位置下载最新源代码Github
  2. 提取文件:

    tar -xvfz turnserver-<...>.tar.gz

  3. 使用架构 turndb/schema.sql 创建一个新数据库:

    sqlite3 <new_file_name> < turndb/schema.sql

  4. 将新数据库替换为原始数据库/var/lib/turn/

另外,使用 Ubuntu18 可能会出现问题。请改用 Ubuntu16。

相关内容