Публикация баз данных на сервере под управлением Linux без правки apache2.conf

21.11.22

Администрирование - Администрирование веб-серверов

Способ добавления баз 1С в apache2 без правки apache2.conf.

Простой способ добавления баз 1С в apache2 без правки конфигурационных файлов, поставляемых в составе пакетов. Данная публикация показывает это на примере Debian.

1С предлагает ковыряние в файле /etc/apache2/apache2.conf. Для публикации базы данных нужно загрузить модуль wsap2.so, и настроить псевдоним (alias) для базы данных.

Этот файл может быть затёрт при обновлении пакета. Или в обновлении могут появиться важные правки от сопровождающих, которые не стоит игнорировать. В общем, простое поддержание системы в актуальном состоянии превращается в проблему.

К тому же, в 1С выяснили, что в Linux тоже можно ставить несколько версий одной и той же программы параллельно. И они смогут функционировать. После этих нововведений правка этого файла стала более сложной, т.к., путь к модулю теперь стал зависеть от версии платформы. Т.е., каждый раз после смены версии нужно править /etc/apache2/apache2.conf.

Для удобства смены применяемой версии платформы можно использовать символические ссылки на нужные каталоги. Например:

ls -l /opt/1cv8/
итого 12
drwxr-xr-x 2 root root 4096 окт 24 19:08 common
drwxr-xr-x 2 root root 4096 сен 30  2021 conf
lrwxrwxrwx 1 root root   18 окт 24 19:10 current -> x86_64/8.3.22.1603
drwxr-xr-x 5 root root 4096 окт 24 19:08 x86_64

После установки новой версии, если на неё переключается управление, правим ссылку /opt/1cv8/current на нужный каталог и запускаем сервис. Для серверов в кластере это тоже удобный механизм.

Для управления загрузкой модулей есть a2enmod и a2dismod. Чтобы эти приложения управляли загрузкой модуля wsap, нужно в каталоге /etc/apache2/mods-available разместить файл с понятным именем и расширением '.load'. Например, wsap-current.load с таким содержимым:

LoadModule _1cws_module "/opt/1cv8/current/wsap24.so"

И при вызове a2enmod этот модуль можно подключить:

# a2enmod
Your choices are: access_compat actions alias allowmethods asis auth_basic auth_digest auth_form authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authnz_fcgi authnz_ldap authz_core authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex buffer cache cache_disk cache_socache cern_meta cgi cgid charset_lite data dav dav_fs dav_lock dbd deflate dialup dir dump_io echo env expires ext_filter file_cache filter headers heartbeat heartmonitor http2 ident imagemap include info lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic lbmethod_heartbeat ldap log_debug log_forensic lua macro mime mime_magic mpm_event mpm_prefork mpm_worker negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_express proxy_fcgi proxy_fdpass proxy_ftp proxy_hcheck proxy_html proxy_http proxy_http2 proxy_scgi proxy_wstunnel ratelimit reflector remoteip reqtimeout request rewrite sed session session_cookie session_crypto session_dbd setenvif slotmem_plain slotmem_shm socache_dbm socache_memcache socache_shmcb speling ssl status substitute suexec unique_id userdir usertrack vhost_alias wsap-current xml2enc
Which module(s) do you want to enable (wildcards ok)?

Собственно, подключение:

# a2enmod wsap-current
Enabling module wsap-current.
To activate the new configuration, you need to run:
  systemctl restart apache2

После загрузки модуля нужно прописать применение обработчика 1c-application к определённым псевдонимам в настройках сайта.

Можно писать по одному сайту на базу, но это не очень удобно. Применение обработчика для разных псевдонимов описывается в отдельных файлах в каталоге /etc/apache2/1c (а можно и этот каталог разбить на 1c-avaible и 1c-enabled, но тогда утилиту для манипуляций символическими ссылками с этими фалами нужно будет писать самому). И загружаются в описании сайта одной строкой:

IncludeOptional 1c/*.wsap

Понятно, что файлы должны быть с расширением '.wsap', "чтоб никто не догадался"...

Содержимое файла, примерно такое:

# 1c publication
Alias "/acc" "/var/1C/www/acc/"
<Directory "/var/1C/www/acc/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "/var/1C/www/acc/default.vrd"
</Directory>

Путь '/var/1C/www' можно заменить на другой удобный и понятный.

Да, это именно то, что прописывает, ломая основной конфигурационный файл apache2, webinst от самой платформы 1С. Плюсами данной методики можно считать:

  • не надо беспокоиться об обновлениях через стандартный пакетный менеджер системы, все изменения от сопровождающих пакета будут внесены без потери правок, необходимых для 1С;

  • довольно просто переключаться между версиями платформы 1С;

  • те механизмы, что 1С предлагает для публикации базы данных, будут работать (надо только подсовывать фэйковый httpd.conf), например, публикация базы данных с псевдонимом 'base' (после отработки достаточно перезапустить сервер):

cp /etc/apache2/apache2.conf /tmp/httpd.conf ; /opt/1cv8/current/webinst -publish -apache24 -wsdir base -dir /var/1C/www/base -connstr "Srvr=192.168.0.10;Ref=Base;" -confpath /tmp/httpd.conf && diff /tmp/httpd.conf /etc/apache2/apache2.conf | sed -n 's/< LoadModule.*//gp; /< /s|||p' > /etc/apache2/1c/base.wsap

 

Вступайте в нашу телеграмм-группу Инфостарт

Linux apache2 webinst

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    9356    40    58    

54

Разработка Инструменты администратора БД Администрирование веб-серверов Администрирование Программист 1C:ERP Платные (руб)

Это специализированное решение для глубокого анализа и мониторинга серверов и баз данных 1С. Продукт позволяет выявлять причины замедлений, блокировок и ошибок, объединяя данные технологического журнала, СУБД и оборудования в единой интерактивной системе.

90000 руб.

13.05.2026    1422    2    0    

4

Администрирование веб-серверов Сервера HighLoad оптимизация Системный администратор Программист Бесплатно (free)

Каждый вечер в час закрытия смен 200 касс розничной сети начинали «залипать», и у всех было готовое объяснение: блокировки. Аудит ожиданий в час пика показал: блокировок — ноль. Сессии ждали не друг друга, а свободных потоков: заводские cost threshold for parallelism = 5 и MAXDOP = 0 на 48-ядерном сервере отправляли даже лёгкие запросы разбегаться по всем ядрам, и две трети запросов стояли в очереди за потоками. Разбираем детектив: почему рефлекс «вечером тормозит — значит, блокировки» подменяет диагностику, как читается картина ожиданий, причём тут сосед по инстансу с отчётом на 24 потока и 4,3 часа — и как две динамические настройки без перезапуска сняли проблему в тот же вечер. С чек-листом «блокировки или параллелизм».

28.07.2026    1011    nedomolkov.ivan    4    

8

Администрирование СУБД Linux Системный администратор Программист Россия Бесплатно (free)

30 декабря, пик предновогодних продаж, и тут — полная катастрофа. Сервер с 1С в единственной торговой точке пал жертвой вируса-шифровальщика. Бизнес встал, выручка — ноль, резервных копий нет. Знакомая ситуация? Но вместо того, чтобы просто переустановить «убитую» Windows, мы пошли другим путем. В свежей статье я честно рассказываю: почему сервер на «дешевых комплектующих» — это бомба замедленного действия. Как вирус проник в систему, если кассир работает исправно? Зачем микробизнесу смотреть в сторону бесплатного Linux (и при чем тут лицензии на Windows Server + MS SQL). Реально ли подружить 1С, торговое оборудование и «неродной» интерфейс? Спойлер: Сервер ожил, базу восстановили (да, это было больно), а клиент теперь спит спокойно.

20.07.2026    1533    maxber    7    

3

Администрирование веб-серверов Системный администратор 1С:Предприятие 8 Бесплатно (free)

Альтернатива Fiddler для локальной разработки/отладки/понимания Web-сервисов, чтобы смотреть тело и заголовки запроса/ответа.

02.06.2026    891    gordey_kachurin    0    

0

Linux Технологический журнал 1С:Предприятие 8 Бесплатно (free)

Графическая утилита, сделанная по принципу Microsoft SQL Server Profiler, но для СУБД PostgreSQL Позволяет легко настраивать сбор планов запросов как средствами PostgreSQL, так и технологическим журналом 1С Предприятие с их последующей визуализацией. Простая, понятная для пользователей утилита, не требующая прав администратора для визуализации, и требующая их для настройки. Скомпилированная в исполняемый файл.

20.05.2026    3350    capitan    4    

10

Linux Системный администратор Программист 1С:Предприятие 8 Абонемент ($m)

Графическое приложение на базе PyQt6, которое предоставляет простой интерфейс для очистки локального кэша баз данных 1С Предприятие для ОС Linux. Простая, понятная для пользователей утилита, не требующая прав администратора Скомпилированная в исполняемый файл

06.04.2026    2101    capitan    0    

2
Для отправки сообщения требуется регистрация/авторизация