1. Package content and requirements
2. Compilation and installation
3. Running the main executable: unid-adm
4. Configuring the server and command line client
5. See also

*** 1. Package content and requirements ***

This packages contains:

- Administrator console (unid-adm)
- TCP server (unid-serv)
- TCP client (unid-clic)

and links against or uses parts of the following free software:

⋆ Boost::regex (Boost license
⋆ CryptoPP (Boost license -
- SimpleNetwork (MIT license -
⋆ Gnu Readline (GPL -
⋆ SQLite3 (Public domain -

(⋆) should be installed in standard locations before any compilation attempt.

*** 2. Compilation and installation ***

Once downloaded (from the Github download site) and decompressed, Unidatab can be installed from its top directory by running:

$ make

which is a shorthand to :

$ make all

This action will result in compiling the various executables under the bin/ directory, if everything goes as it should. The make command lines can also be sent for each target one by one as this:

$ make adm
$ make serv
$ make clic

or for debugging purpose:

$ make all-debug

which amounts to:

$ make adm-debug
$ make serv-debug
$ make clic-debug

The next step is then to install the executables in an Unidatab folder at the root of the user’s home by issuing:

$ make install

This command uses ‘sudo’ internally and requires user to be listed in the sudoers;
it modifies the home directory as well as /usr/local which is needed for sql_help
(so don’t use ‘sudo make install’ but only ‘make install’ at command line).

A different prefix can be passed (absolute path only):

$ make install PREFIX=/opt/Unidatab ; — registrated sudoer still required

Local folders:

~/Unidatab/bin -- which contains the newly built executables
~/Unidatab/lib -- the shared library
~/Unidatab/run -- where belong the current configuration files
~/Unidatab/run/example -- where are created new config files and sample db

Global folders and files:

/usr/local/bin/ -- executables plus their debug versions;
/usr/local/lib/ -- to link Unidatab classes in another project;
/usr/local/share/doc/Unidatab/ -- help files;

*** 3. Running the main executable: unid-adm ***

unid-adm ensures administration tasks like adding or deleting users, setting their privileges etc…

Compilation: see above.


$ path-to/unid-adm path-to/db.unid user

The default password is set to ‘adminp’ and it is possible to update it after base creation.

Main test suite:

? unidtest

Unid Default Set of records :

? unidset

Help on Unidatab:

? SELECT sql_help('');

to print the whole list of targets, or, specifying a target by name:

? SELECT sql_help('adm-help');

*** 4. Installing and running the server and command line client ***

Compilation: see above.

Configuration: edit unid.ini in order to set correct username, databases and path.

A start command can now be sent as:

$ path-to/unid-serv path-to/unid.ini 

to start the server with an init file configured by default for “test.unid” and user “admin”. Then from  another shell type:

$ path-to/unid-clic localhost 8765 test.unid admin

and provide password to start an UnidSql session, e.g. :

? SELECT send_record('unid_home',1);

*** 5. See also ***

Unidatab-CGI (