Compile kemboss server

Requirements:

- The Qt libraries version 4 or 5 from http://qt-project.org/downloads

- A C++ compiler, for example gcc. On Windows You could use MinGW (http://www.mingw.org/)

- The MySQL client runtime library and development files from http://dev.mysql.com/downloads/mysql/

- The OpenSSL runtime library and development files from http://www.openssl.org/

- If You use version 4 of the Qt libraries You also need the Qt Cryptographic Architecture (QCA) from http://delta.affinix.com/qca/. You have to install the QCA base package as well as the qca-ossl plugin. If You use Qt version 5 You don't need the QCA libraries.

Qt has to be compiled with SSL-support and MySQL-support enabled. The Windows libraries from qt-project.org for example are compiled without SSL-support and the MySQL plugin. An example for configuring the Qt sources before compiling could be:

configure.exe -release -opensource -plugin-sql-mysql -openssl -I \OpenSSL\include -L \OpenSSL\bin -I \MySQL\include -L \MySQL\lib

More information about compiling Qt can be found at http://qt-project.org/doc/qt-4.8/installation.html. If You want to compile Qt with the MySQL plugin on Windows using MinGW You can find a good tutorial at http://christopher.rasch-olsen.no/2009/04/14/qt-45-and-mysql-plugin-with-mingw-on-windows-xp/.

Compile:

- When You have all required libraries and development files, download the kemboss sources and unpack them. Open a shell (Linux/Unix) or the 'Qt command prompt' (Windows) and move to the directory '/src' of the unpacked kemboss sources

- Type 'qmake kembossd.pro' (or 'qmake-qt4 kembossd.pro' on some Linux systems)

- Type 'make' or 'mingw32-make' (depending on Your compiler)

You will get the two executable files 'kembossd' and 'kembossd-admin'. The kemboss server depends on the QtCore, QtNetwork and QtSql libraries of Qt, the qsqlmysql Qt plugin in the subdirectory sqldrivers, the qca2 library and the libmysql library. If You used the MinGW compiler on Windows, kemboss will need the mingwm10.dll, libstdc++-6.dll and libgcc_s_dw2-1.dll. The server also needs a list of the programs it is allowed to run (e.g. the file 'allowed_emboss_programs' distributed with the sources) as well as an SSL certificate and a private key file. More information about setting up the server can be found here.