Установка зависимостей
Для сборки и работы фреймворка требуются следующие компоненты:
Обязательные: 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+
Опциональные: PostgreSQL, MySQL/MariaDB, Redis, SQLite — устанавливаются при необходимости работы с соответствующими базами данных.
Быстрая установка (Ubuntu/Debian)
Все обязательные библиотеки и клиенты БД одной командой:
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-devПосле этого можно переходить к сборке проекта.
Начните с обновления списка пакетов:
sudo apt updateGCC
Установите пакет build-essential:
sudo apt install build-essentialКоманда устанавливает gcc, g++ и make.
Чтобы убедиться, что компилятор GCC успешно установлен, используйте команду gcc --version, которая выводит версию GCC:
gcc --versionТеперь GCC установлен в вашей системе, и вы можете начать его использовать.
CMake
Менеджер пакетов
Установка cmake из официальных репозиториев:
sudo apt install cmakeСборка из исходных файлов
Если в репозиториях дистрибутива старая версия CMake, соберите его из исходников. Скачайте архив с официального сайта:
wget https://github.com/Kitware/CMake/releases/download/v3.27.0/cmake-3.27.0.tar.gzРаспакуйте:
tar -zxvf cmake-3.27.0.tar.gzПерейдите в распакованную директорию:
cd cmake-3.27.0Запустите процесс сборки:
./bootstrapСкомпилируйте и установите:
make
sudo make installpkg-config
Утилита pkg-config используется системой сборки для поиска заголовков и библиотек (ищутся через find_package):
sudo apt install pkg-configPCRE
Библиотека регулярных выражений (используется для маршрутизации и виртуальных хостов с regex):
sudo apt install libpcre3-devZlib
Менеджер пакетов
sudo apt install zlib1g-devСборка из исходных файлов
Скачайте архив с официального сайта:
wget https://zlib.net/zlib-1.2.13.tar.gzРаспакуйте:
tar -zxvf zlib-1.2.13.tar.gzПерейдите в распакованную директорию:
cd zlib-1.2.13Запустите процесс сборки:
./configureСкомпилируйте и установите:
make
sudo make installOpenSSL
Библиотека TLS и криптографии (HTTPS, сессии с AES-256-GCM, JWT и др.):
sudo apt install openssl libssl-devLibXml2
Менеджер пакетов
sudo apt install libxml2-devСборка из исходных файлов
Скачайте архив с официального сайта:
wget https://github.com/GNOME/libxml2/releases/download/v2.9.14/libxml2-2.9.14.tar.gzРаспакуйте:
tar -zxvf libxml2-2.9.14.tar.gzПерейдите в распакованную директорию:
cd libxml2-2.9.14Запустите процесс сборки:
./configureСкомпилируйте и установите:
make
sudo make installlibidn2
Библиотека для поддержки интернационализованных доменных имён (IDN):
sudo apt install libidn2-devlibunistring
Библиотека для работы с Unicode-строками (требуется для IDN и i18n):
sudo apt install libunistring-devБазы данных
Поддержка баз данных включается опционально через параметры CMake (-DINCLUDE_POSTGRESQL=yes, -DINCLUDE_MYSQL=yes, -DINCLUDE_REDIS=yes, -DINCLUDE_SQLITE=yes). Для сборки соответствующего драйвера требуется клиентская библиотека разработки (-dev), а для запуска — сам сервер.
PostgreSQL
Клиентская библиотека для сборки драйвера (libpq):
sudo apt install libpq-devСервер PostgreSQL:
sudo apt install postgresql postgresql-contribПодробная инструкция представлена на DigitalOcean.
MySQL / MariaDB
Клиентская библиотека для сборки драйвера:
sudo apt install libmariadb-devСервер MySQL:
sudo apt install mysql-serverПодробная инструкция представлена на DigitalOcean.
Redis
Клиентская библиотека hiredis для сборки драйвера:
sudo apt install libhiredis-devСервер Redis. Добавьте официальный репозиторий в индекс apt:
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.listЗатем установите:
sudo apt update
sudo apt install redisПодробная инструкция представлена на Redis.
SQLite
Клиентская библиотека для сборки драйвера:
sudo apt install libsqlite3-devДля работы с базой достаточно самого файла SQLite — отдельный сервер не требуется. При необходимости установите консольный клиент:
sudo apt install sqlite3Что дальше
После установки зависимостей переходите к сборке и запуску проекта.