srv1c-web
This commit is contained in:
@@ -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 "$@"
|
||||||
Reference in New Issue
Block a user