Install dependencies
The framework requires the following components to build and run:
Required: GCC 9.5+, CMake 3.12+, OpenSSL 1.1.1+, PCRE 8.43+, Zlib 1.2.11+, LibXml2 2.9.13+, libidn2 2.3.0+, libunistring 0.9.12+
Optional: PostgreSQL, MySQL/MariaDB, Redis, SQLite — install if you need to work with the corresponding databases.
Quick install (Ubuntu/Debian)
All required libraries and DB clients in a single command:
sudo apt install build-essential cmake pkg-config \
libpcre3-dev zlib1g-dev libssl-dev libxml2-dev \
libidn2-dev libunistring-dev \
libpq-dev libmariadb-dev libhiredis-dev libsqlite3-devYou can then jump straight to building the project.
Start by updating the package list:
sudo apt updateGCC
Install the build-essential package:
sudo apt install build-essentialThe command installs gcc, g++ and make.
To verify that the GCC compiler has been successfully installed, use the gcc --version command, which displays the GCC version:
gcc --versionGCC is now installed on your system and you can start using it.
CMake
Package manager
Install cmake from the official repositories:
sudo apt install cmakeBuild from source
If your distro's repositories ship an outdated CMake, build it from source. Download the archive from the official site:
wget https://github.com/Kitware/CMake/releases/download/v3.27.0/cmake-3.27.0.tar.gzUnpack:
tar -zxvf cmake-3.27.0.tar.gzChange to the unpacked directory:
cd cmake-3.27.0Start the build process:
./bootstrapCompile and install:
make
sudo make installpkg-config
The pkg-config utility is used by the build system to locate headers and libraries (looked up via find_package):
sudo apt install pkg-configPCRE
Regular expression library (used for routing and regex-based virtual hosts):
sudo apt install libpcre3-devZlib
Package manager
sudo apt install zlib1g-devBuild from source
Download the archive from the official site:
wget https://zlib.net/zlib-1.2.13.tar.gzUnpack:
tar -zxvf zlib-1.2.13.tar.gzChange to the unpacked directory:
cd zlib-1.2.13Start the build process:
./configureCompile and install:
make
sudo make installOpenSSL
TLS and cryptography library (HTTPS, AES-256-GCM sessions, JWT, etc.):
sudo apt install openssl libssl-devLibXml2
Package manager
sudo apt install libxml2-devBuild from source
Download the archive from the official site:
wget https://github.com/GNOME/libxml2/releases/download/v2.9.14/libxml2-2.9.14.tar.gzUnpack:
tar -zxvf libxml2-2.9.14.tar.gzChange to the unpacked directory:
cd libxml2-2.9.14Start the build process:
./configureCompile and install:
make
sudo make installlibidn2
Library for internationalized domain name (IDN) support:
sudo apt install libidn2-devlibunistring
Unicode string library (required for IDN and i18n):
sudo apt install libunistring-devDatabases
Database support is enabled opt-in through CMake parameters (-DINCLUDE_POSTGRESQL=yes, -DINCLUDE_MYSQL=yes, -DINCLUDE_REDIS=yes, -DINCLUDE_SQLITE=yes). Building a driver requires its development client library (-dev), while running requires the server itself.
PostgreSQL
Client library to build the driver (libpq):
sudo apt install libpq-devPostgreSQL server:
sudo apt install postgresql postgresql-contribDetailed instructions are available on DigitalOcean.
MySQL / MariaDB
Client library to build the driver:
sudo apt install libmariadb-devMySQL server:
sudo apt install mysql-serverDetailed instructions are available on DigitalOcean.
Redis
hiredis client library to build the driver:
sudo apt install libhiredis-devRedis server. Add the official repository to the apt index:
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.listThen install:
sudo apt update
sudo apt install redisDetailed instructions are available on Redis.
SQLite
Client library to build the driver:
sudo apt install libsqlite3-devSQLite works directly with a file — no separate server is required. If needed, install the command-line client:
sudo apt install sqlite3Next steps
Once the dependencies are installed, proceed to building and running the project.