Установка АСР Казна-39 (ABillS)
Автоматическая установка
Инсталлер находится в файле misc/install.sh. Он интерактивный — все параметры задаются через меню, аргументы командной строки не используются.
Требования
- Чистый сервер Debian 12/13 или Ubuntu
- Доступ root
- Не менее 2 ГБ ОЗУ и 20 ГБ диска
- Доступ к репозиторию Git (по SSH-ключу или по логину/паролю)
Запуск
Скопируйте каталог с кодом на сервер и запустите:
cd /путь/к/коду/misc ./install.sh
Откроется главное меню:
1) Параметры установки 2) Показать план установки 3) Начать установку 4) Выход
Параметры установки
Пункт 1 главного меню открывает подменю параметров. В каждом подменю пункт 0 возвращает назад.
1) Каталог установки — куда ставить систему. По умолчанию /usr/ACP.
2) Git-репозиторий:
- Адрес репозитория — например git@git.it39.su:releases/ACP.git
- Ветка — по умолчанию master
- Способ доступа — ssh или https
- SSH-ключ — путь к приватному ключу (для ssh)
- Логин и пароль Git — для доступа по https
3) База данных:
- Имя БД — по умолчанию acp
- Пользователь БД — по умолчанию acp
- Пароль БД — если не задать, будет сгенерирован автоматически
- Хост БД — по умолчанию localhost
- Пароль root MariaDB — если root без пароля, оставьте пустым
4) Веб-сервер:
- Домен — домен для nginx
- Порт HTTPS — по умолчанию 443
- HTTPS — включить или выключить
5) FreeRADIUS — устанавливать и настраивать ли FreeRADIUS
6) Демо-данные — загружать ли демонстрационные данные (абоненты, тарифы, компании)
7) Состав установки:
- Устанавливать пакеты
- Настраивать nginx
- Создавать БД
- Клонировать из Git
- Перезаписывать файлы без вопросов
- Режим dry-run (только показать, ничего не менять)
8) Сбросить параметры к значениям по умолчанию
Особенности ввода
- Обычные поля: нажмите Enter, чтобы оставить текущее значение
- Пароли: Enter — оставить текущий, дефис (-) — сгенерировать новый
- Да/нет: введите y или n, Enter — оставить текущее
Проверка перед установкой
Пункт 2 главного меню показывает план установки со всеми выбранными параметрами. Рекомендуется проверить перед запуском.
Процесс установки
Пункт 3 главного меню запускает установку. Выполняются шаги:
- Проверка окружения — версия ОС, права root, пакетный менеджер
- Установка системных пакетов — nginx, fcgiwrap, MariaDB, Perl-модули, FreeRADIUS (если выбран)
- Получение кода из Git
- Создание каталогов и прав
- Настройка базы данных — создание БД, пользователя, импорт схемы acp.sql
- Настройка config.pl — подстановка доступов к БД и base_dir
- Настройка nginx + fcgiwrap — генерация конфига, самоподписанный SSL-сертификат
- Настройка FreeRADIUS (если выбран)
- Настройка logrotate — ежедневная ротация логов, хранение 10 дней
- Настройка billd и cron — billd как systemd-сервис, периодические задачи в crontab root
- Установка демо-данных (если выбрано)
По завершении выводится сводка: каталог установки, параметры БД, адреса веб-интерфейса и админки.
ВАЖНО: сохраните пароль БД — он также записан в libexec/config.pl
Проверка после установки
systemctl status nginx fcgiwrap.socket mariadb billd
curl -sk -o /dev/null -w '%{http_code}\n' https://ваш-домен/Веб-интерфейс: https://ваш-домен/
Админка: https://ваш-домен/admin/
Службы
- nginx — веб-сервер
- fcgiwrap.socket — обработчик CGI
- mariadb — база данных
- billd — демон обработки событий биллинга (systemd-сервис, автозапуск)
Периодические задачи
Задачи находятся в crontab пользователя root (редактируются командой crontab -e):
- 10 0 * * * — ежедневные и ежемесячные задачи биллинга (списания, отчёты)
- 2 1 * * * — резервное копирование БД
Ротация логов настраивается в /etc/logrotate.d/acp_kazna_39_logs