docs updated

This commit is contained in:
mom040267 2014-11-21 08:14:45 +00:00
parent 6758ca9231
commit 01e2364a7d
9 changed files with 59 additions and 51 deletions

62
INSTALL
View File

@ -211,10 +211,10 @@ If you do not want to use the rpath linking option, or you OS or compiler
do not allows that, then after the installation, you may have to adjust the
system-wide shared library search path by using "ldconfig -n <libdirname>"
(Linux), "ldconfig -m <libdirname>" (BSD) or "crle -u -l <libdirname>"
(Solaris). Your system must be able to find the sqlite, libevent2, openssl and
(optionally) PostgreSQL and/or MySQL (MariaDB) and/or MongoDB and/or Redis
shared libraries, either with the help of the system-wide library search
configuration or by using LD_LIBRARY_PATH. "make install" will make a
(Solaris). Your system must be able to find the libevent2, openssl and
(optionally) SQLite and/or PostgreSQL and/or MySQL (MariaDB) and/or MongoDB
and/or Redis shared libraries, either with the help of the system-wide library
search configuration or by using LD_LIBRARY_PATH. "make install" will make a
non-garantied effort to add automatically PREFIX/lib and /usr/local/lib to
the libraries search path, but if you have some libraries in different
non-default directories you will have to add them manually to the search
@ -268,21 +268,21 @@ The code is compatible with C++ compiler, and a C++ compiler
VII. WHICH EXTRA LIBRARIES AND UTILITIES YOU NEED
In addition to common *NIX OS services and libraries, to compile this code,
OpenSSL (version 1.0.0a or better recommended), sqlite C development library,
and libevent2 (version 2.0.5 or better) are required,
the PostgreSQL C client development setup is
optional, the MySQL (MariaDB) C client development setup is optional, the MongoDB
C Driver and the Hiredis development files for Redis database access are optional.
For fully functional build, the extra set of libraries must be installed
in full version (the development headers and the libraries to link with).
For runtime, only runtime setup is required. If the build is modified for
OpenSSL (version 1.0.0a or better recommended) and libevent2 (version 2.0.5
or better) are required, SQLite C development library and header is optional,
the PostgreSQL C client development setup is optional,
the MySQL (MariaDB) C client development setup is optional,
the MongoDB C Driver and the Hiredis development files for Redis database
access are all optional. For development build, the development headers and
the libraries to link with, are to be installed. For the runtime, only the
runtime setup is required. If the build is modified for
static linking, then even runtime installation is not needed.
OpenSSL, SQLite, libevent2, PostgreSQL, MySQL (or MariaDB) and Hiredis
libraries can be downloaded from their web sites:
- http://www.openssl.org (required);
- http://www.sqlite.org (optional);
- http://www.libevent.org (required);
- http://www.sqlite.org (optional);
- http://www.postgresql.org (optional);
- http://www.mysql.org (or http://mariadb.org) (optional);
- https://github.com/mongodb/mongo-c-driver (optional);
@ -387,9 +387,8 @@ like this:
Dynamic library paths:
You may also have to adjust the turn server start script, add PostgreSQL
and/or MySQL and/or MongoDB and/or Redis runtime library path to LD_LIBRARY_PATH.
Or you may find that it would be more convenient to adjust the
You may also have to adjust the turn server start script, add all the dynamic runtime
library paths to LD_LIBRARY_PATH. Or you may find that it would be more convenient to adjust the
system-wide shared library search path by using commands:
on Linux:
@ -410,22 +409,23 @@ On Mac OS X, you have three different choices for dynamic libraries handling:
2) Before the compilation, check the dynamic libraries and adjust their identification names,
if necessary, to the absolute library path or to @rpath/<library-file-name>.
For exmple, the MySQL dynamic library may need that adjustment. You will have to use
For example, the MySQL dynamic library may need that adjustment. You will have to use
"adjust_name_tool" with -id option for that; OR
3) After the compilation, you can use the same tool, "adjust_name_tool", with option -change,
to adjust the library paths values in the binary, where necessary. All library paths must be
absolute paths or @rpath/... .
3) After the compilation, you can use the same tool, "adjust_name_tool",
with option -change, to adjust the library paths values in the binary,
where necessary. All library paths must be absolute paths or @rpath/... .
See also the next section.
NOTE: See "PostgreSQL setup" and "MySQL setup" and "MongoDB setup" and
"Redis setup" sections below for more database setup information.
NOTE: See "SQLite setup" and "PostgreSQL setup" and "MySQL setup" and
"MongoDB setup" and "Redis setup" sections below for more database setup
information.
NOTE: If you do not install PostgreSQL or MySQL or MongoDB or Redis then you will
be limited to flat files for user database. It will work great for
smaller user databases (like 100 users) but for larger systems you
will need PostgreSQL or MySQL or MongoDB or Redis.
NOTE: If you do not install SQLite or PostgreSQL or MySQL or MongoDB or Redis,
then you will be limited to the command-line options for user database.
It will work great for development setup, but for real runtime systems you
will need SQLite or PostgreSQL or MySQL or MongoDB or Redis.
NOTE: To run PostgreSQL or MySQL or MongoDB or Redis server on the same system,
you will also have to install a corresponding PostgreSQL or MySQL or
@ -1026,11 +1026,11 @@ Redis can be also used for the TURN allocation status check and for status and
traffic notifications.
See the explanation in the turndb/schema.stats.redis file, and an example in
turndb/testredisdbsetup.sh file. One special thing about TURN Redis security setup
is that you can store open passwords for long-term credentials in Redis.
You cannot set open passwords for long-term credentials in MySQL and PostgreSQL -
with those DBs, you have to use the keys only. With Redis, you have a choice -
keys or open passwords.
turndb/testredisdbsetup.sh file. One special thing about TURN Redis security
setup is that you can store open passwords for long-term credentials in Redis.
You cannot set open passwords for long-term credentials in SQLite or MySQL or
PostgreSQL - with those DBs, you have to use the keys only. With Redis, you
have a choice - keys or open passwords.
You also have to take care about Redis connection parameters, the timeout and the
keepalive. The following settings must be in your Redis config file

View File

@ -80,7 +80,7 @@ Commands:
Options with required values:
-b, --db, --userdb SQLite user database file name (default - /var/db/turndb or
-b, --db, --userdb SQLite user database file name (default - /var/db/turndb or
/usr/local/var/db/turndb).
See the same option in the turnserver section.
-e, --psql-userdb PostgreSQL user database connection string.
@ -172,6 +172,7 @@ to see the man page.
/etc/turnserver.conf
/var/db/turndb
/usr/local/var/db/turndb
/usr/local/etc/turnserver.conf

View File

@ -486,15 +486,15 @@ Options with required values:
--tls-alternate-server Option to set alternative server for TLS & DTLS services in form of
<ip>:<port>. If the port number is omitted, then the default port
number 5349 for the TLS/DTLS protocols will be used. See the previous option for the
functionality description.
number 5349 for the TLS/DTLS protocols will be used. See the
previous option for the functionality description.
-O, --redis-statsdb Redis status and statistics database connection string, if used (default - empty,
no Redis stats DB used). This database keeps allocations status information, and it can
be also used for publishing and delivering traffic and allocation event notifications.
This database option can be used independently of --redis-userdb option,
and actually Redis can be used for status/statistics and MySQL or MongoDB or PostgreSQL can
be used for the user database.
and actually Redis can be used for status/statistics and SQLite or MySQL or MongoDB or
PostgreSQL can be used for the user database.
The connection string has the same parameters as redis-userdb connection string.
--max-allocate-timeout Max time, in seconds, allowed for full allocation establishment.
@ -770,7 +770,10 @@ choose any for your convenience.
You do not have to handle the database information "manually" - the turnadmin program can handle
everything for you. For PostgreSQL and MySQL you will just have to create an empty database
with schema.sql SQL script. With Redis, you do not have to do even that - just run turnadmin and
it will set the users for you (see the turnadmin manuals).
it will set the users for you (see the turnadmin manuals). If you are using SQLite, then the
turnserver or turnadmin will initialize the empty database, for you, when started. The
TURN server installation process creates an empty initialized SQLite database in the default
location (/var/db/turndb or /usr/local/var/db/turndb, depending on the system).
=================================
@ -844,6 +847,7 @@ FILES
/etc/turnserver.conf
/var/db/turndb
/usr/local/var/db/turndb
/usr/local/etc/turnserver.conf

View File

@ -252,6 +252,7 @@ FILES
/etc/turnserver.conf
/var/db/turndb
/usr/local/var/db/turndb
/usr/local/etc/turnserver.conf

View File

@ -160,15 +160,11 @@
# Uncomment to use long-term credential mechanism.
# By default no credentials mechanism is used (any user allowed).
# This option can be used with either flat file user database or
# PostgreSQL DB or MySQL DB or MongoDB or Redis DB for user keys storage.
#
#lt-cred-mech
# Uncomment to use short-term credential mechanism.
# By default no credentials mechanism is used (any user allowed).
# For short-term credential mechanism you have to use PostgreSQL or
# MySQL or MongoDB or Redis database for user password storage.
#
#st-cred-mech

View File

@ -11,8 +11,8 @@ mechanism (peer.sh to be used, too).
4) "longtermsecuredb" shows how to start TURN server with database. The clients from the
directory "longtermsecure" can be used with the relay scripts in the "longtermsecuredb"
directory. Of course, the database (PostgreSQL or MySQL) must be set for these scripts
to work correctly.
directory. Of course, the database (SQLite, PostgreSQL, MySQL, Redis or MongoDB) must
be set for these scripts to work correctly.
5) "restapi" shows how to use TURN REST API.

View File

@ -1,5 +1,5 @@
.\" Text automatically generated by txt2man
.TH TURN 1 "19 November 2014" "" ""
.TH TURN 1 "21 November 2014" "" ""
.SH GENERAL INFORMATION
\fIturnadmin\fP is a TURN administration tool. This tool can be used to manage
@ -263,6 +263,7 @@ to see the man page.
/etc/turnserver.conf
.PP
/var/db/turndb
.PP
/usr/local/var/db/turndb
.PP
/usr/local/etc/turnserver.conf

View File

@ -1,5 +1,5 @@
.\" Text automatically generated by txt2man
.TH TURN 1 "19 November 2014" "" ""
.TH TURN 1 "21 November 2014" "" ""
.SH GENERAL INFORMATION
The \fBTURN Server\fP project contains the source code of a TURN server and TURN client
@ -699,8 +699,8 @@ can emulate "weighting" of the servers.
\fB\-\-tls\-alternate\-server\fP
Option to set alternative server for TLS & DTLS services in form of
<ip>:<port>. If the port number is omitted, then the default port
number 5349 for the TLS/DTLS protocols will be used. See the previous option for the
functionality description.
number 5349 for the TLS/DTLS protocols will be used. See the
previous option for the functionality description.
.TP
.B
\fB\-O\fP, \fB\-\-redis\-statsdb\fP
@ -708,8 +708,8 @@ Redis status and statistics database connection string, if used (default \- empt
no Redis stats DB used). This database keeps allocations status information, and it can
be also used for publishing and delivering traffic and allocation event notifications.
This database option can be used independently of \fB\-\-redis\-userdb\fP option,
and actually Redis can be used for status/statistics and MySQL or MongoDB or PostgreSQL can
be used for the user database.
and actually Redis can be used for status/statistics and SQLite or MySQL or MongoDB or
PostgreSQL can be used for the user database.
The connection string has the same parameters as redis\-userdb connection string.
.TP
.B
@ -1025,7 +1025,10 @@ choose any for your convenience.
You do not have to handle the database information "manually" \- the \fIturnadmin\fP program can handle
everything for you. For PostgreSQL and MySQL you will just have to create an empty database
with schema.sql SQL script. With Redis, you do not have to do even that \- just run \fIturnadmin\fP and
it will set the users for you (see the \fIturnadmin\fP manuals).
it will set the users for you (see the \fIturnadmin\fP manuals). If you are using SQLite, then the
\fIturnserver\fP or \fIturnadmin\fP will initialize the empty database, for you, when started. The
TURN server installation process creates an empty initialized SQLite database in the default
location (/var/db/turndb or /usr/local/var/db/turndb, depending on the system).
.PP
=================================
.SH LIBRARIES
@ -1099,6 +1102,7 @@ it would affect the performance.
/etc/turnserver.conf
.PP
/var/db/turndb
.PP
/usr/local/var/db/turndb
.PP
/usr/local/etc/turnserver.conf

View File

@ -1,5 +1,5 @@
.\" Text automatically generated by txt2man
.TH TURN 1 "19 November 2014" "" ""
.TH TURN 1 "21 November 2014" "" ""
.SH GENERAL INFORMATION
A set of turnutils_* programs provides some utility functionality to be used
@ -375,6 +375,7 @@ to see the man page.
/etc/turnserver.conf
.PP
/var/db/turndb
.PP
/usr/local/var/db/turndb
.PP
/usr/local/etc/turnserver.conf