Files
2026-02-10 05:09:58 +03:00

77 lines
2.7 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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 "$@"