From b413b69ad5a6c32a9067833a85dcdaea8dbec600 Mon Sep 17 00:00:00 2001 From: ark Date: Wed, 16 Sep 2026 16:37:10 +0300 Subject: [PATCH] srv1c-web --- entrypoint.sh.save | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 entrypoint.sh.save diff --git a/entrypoint.sh.save b/entrypoint.sh.save new file mode 100644 index 0000000..7abb6b7 --- /dev/null +++ b/entrypoint.sh.save @@ -0,0 +1,76 @@ +#!/bin/bash + +set -euo pipefail + +log() { + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" +} + +publish() { + log "Публикация $base_name" + $WORKDIR/webinst \ + -publish \ + -apache24 \ + -wsdir $base_name \ + -dir /var/www/1c/$base_name \ + -connstr "File=/bases/$base_name;" \ + -confpath /etc/apache2/apache2.conf +} + +check() { + log "Подготовка модулей apache" + apache2ctl -V | grep -i mpm + a2dismod mpm_event + a2dismod mpm_prefork + a2enmod mpm_worker + sed -i '/StartServers/s/2/1/g' /etc/apache2/mods-available/mpm_worker.conf + sed -i '/MinSpareThreads/s/25/1/g' /etc/apache2/mods-available/mpm_worker.conf + sed -i '/MaxSpareThreads/s/75/1/g' /etc/apache2/mods-available/mpm_worker.conf + log "Проверка наличия платформы" + if [ ! -d "/opt/1cv8/x86_64/${SERVER_VERSION}/" ]; then + log "Нужная версия 1С $SERVER_VERSION не установленна в $WORKDIR " + return 1 + else + log "Платформа 1С $SERVER_VERSION уже установлена. Путь: $WORKDIR" + fi + log "Проверка установленного модуля поддержки веб сервисов" + if [ ! -e "/etc/apache2/mods-enabled/wsap24.load" ]; then + log "Подключаю модуль wsap24" + echo "LoadModule _1cws_module /opt/1cv8/x86_64/${SERVER_VERSION}/wsap24.so" > /etc/apache2/mods-available/wsap24.load + ln -s /etc/apache2/mods-available/wsap24.load /etc/apache2/mods-enabled/wsap24.load + else + log "Модуль уже wsap24.load подключен" + fi + log "Проверка баз в $BASES_DIR" + if [ -d $BASES_DIR ]; then + log "Каталог баз данных $BASES_DIR обнаружен" + for dir in "$BASES_DIR"/*; do + log "Обрабатываем $dir" + if [ -f $dir/1Cv8.1CD ]; then + log "$dir - каталог базы данных" + log "Назначаю права на каталог $dir " + chown -R www-data:www-data $dir + local base_name=$(basename "$dir") + publish "$base_name" + fi + done + fi + log "Перечисление лицензий:" + /opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring license list +} + +start() { + exec /usr/sbin/apache2ctl -DFOREGROUND +} +main() { + log "=== Запуск Web Сервера ===" + check + log "=== Все готово, запускаем сервер ===" + start +} + +# Обработка сигналов +trap 'log "Получен сигнал остановки"; exit 0' SIGTERM SIGINT + +# Запуск основной функции +main "$@"