/apostol-C365

HepDesk System Client365

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

Апостол (Apostol)

Апостол - это платформа для создания системного программного обеспечения, исходные коды на C++.

СТРУКТУРА КАТАЛОГОВ

auto/                       содержит файлы со скриптами
cmake-modules/              содержит файлы с модулями CMake
conf/                       содержит файлы с настройками
src/                        содержит файлы с исходным кодом
├─app/                      содержит файлы с исходным кодом: Apostol
├─core/                     содержит файлы с исходным кодом: Apostol Core
├─lib/                      содержит файлы с исходным кодом библиотек
| └─delphi/                 содержит файлы с исходным кодом библиотеки*: Delphi classes for C++
├─workers/                  содержит файлы с исходным кодом дополнений (модулей)
| └─WebServer/              содержит файлы с исходным кодом дополнения: Веб-сервер
├─helpers/                  содержит файлы с исходным кодом дополнений (модулей)
www/                        содержит файлы с Веб-сайтом

ОПИСАНИЕ

Платформа написана на языке программирования C++, имеет модульную конструкцию и включает в себя встроенную поддержку СУБД PostgreSQL.

СБОРКА И УСТАНОВКА

Для установки Апостол Вам потребуется:

  1. Компилятор C++;
  2. CMake или интегрированная среда разработки (IDE) с поддержкой CMake;
  3. Библиотека libpq-dev (libraries and headers for C language frontend development);
  4. Библиотека postgresql-server-dev-12 (libraries and headers for C language backend development).
  5. Библиотека libdelphi (Delphi classes for C++);
  6. Библиотека apostol-core (Apostol Core C++);
ВНИМАНИЕ: Устанавливать libdelphi не нужно, достаточно скачать и разместить в каталоге src/lib проекта.

Linux (Debian/Ubuntu)

Для того чтобы установить компилятор C++ и необходимые библиотеки на Ubuntu выполните:

$ sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev make cmake gcc g++
Подробное описание установки C++, CMake, IDE и иных компонентов необходимых для сборки проекта не входит в данное руководство.

PostgreSQL

Для того чтобы установить PostgreSQL воспользуйтесь инструкцией по этой ссылке.

Параметр --make необходим для установки базы данных в первый раз. Далее установочный скрипт можно запускать или без параметров или с параметром --install.

Для установки Апостол (без Git) необходимо:

  1. Скачать Апостол по ссылке;
  2. Распаковать;
  3. Скачать libdelphi по ссылке;
  4. Распаковать в src/lib/delphi;
  5. Скачать apostol-core по ссылке;
  6. Распаковать в src/core;
  7. Настроить CMakeLists.txt (по необходимости);
  8. Собрать и скомпилировать (см. ниже).

Для установки Апостол с помощью Git выполните:

$ git clone https://github.com/ufocomp/apostol.git

Чтобы добавить libdelphi в проект с помощью Git выполните:

$ cd apostol/src/lib
$ git clone https://github.com/ufocomp/libdelphi.git delphi
$ cd ../../../

Чтобы добавить apostol-core в проект с помощью Git выполните:

$ cd apostol/src
$ git clone https://github.com/ufocomp/apostol-core.git core
$ cd ../../
Сборка:
$ cd apostol
$ cmake -DCMAKE_BUILD_TYPE=Release . -B cmake-build-release
Компиляция и установка:
$ cd cmake-build-release
$ make
$ sudo make install

По умолчанию бинарный файл apostol будет установлен в:

/usr/sbin

Файл конфигурации и необходимые для работы файлы, в зависимости от варианта установки, будут расположены в:

/etc/apostol
или
~/apostol

ЗАПУСК

Если INSTALL_AS_ROOT установлено в ON.

apostol - это системная служба (демон) Linux. Для управления apostol используйте стандартные команды управления службами.

Для запуска apostol выполните:

$ sudo service apostol start

Для проверки статуса выполните:

$ sudo service apostol status

Результат должен быть примерно таким:

● apostol.service - LSB: starts the apostol web servcie
   Loaded: loaded (/etc/init.d/apostol; generated; vendor preset: enabled)
   Active: active (running) since Thu 2019-08-15 14:11:34 BST; 1h 1min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 16465 ExecStop=/etc/init.d/apostol stop (code=exited, status=0/SUCCESS)
  Process: 16509 ExecStart=/etc/init.d/apostol start (code=exited, status=0/SUCCESS)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/apostol.service
           ├─16520 apostol: master process /usr/sbin/abc
           └─16521 apostol: worker process

Управление.

Управлять apostol можно с помощью сигналов. Номер главного процесса по умолчанию записывается в файл /run/apostol.pid. Изменить имя этого файла можно при конфигурации сборки или же в apostol.conf секция [daemon] ключ pid.

Главный процесс поддерживает следующие сигналы:

Сигнал Действие
TERM, INT быстрое завершение
QUIT плавное завершение
HUP изменение конфигурации, запуск новых рабочих процессов с новой конфигурацией, плавное завершение старых рабочих процессов
WINCH плавное завершение рабочих процессов

Управлять рабочими процессами по отдельности не нужно. Тем не менее, они тоже поддерживают некоторые сигналы:

Сигнал Действие
TERM, INT быстрое завершение
QUIT плавное завершение