Публикация баз данных на сервере под управлением 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

См. также

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

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

06.04.2026    365    capitan    0    

1

Администрирование веб-серверов Системный администратор Программист Россия Абонемент ($m)

PowerShell-скрипт автоматической установки Apache HTTP Server 2.4 на Windows. Поддерживает несколько экземпляров на разных портах, бэкап, брандмауэр, логирование. Компилируется в exe. Две версии: RU и EN.

7 стартмани

27.03.2026    487    0    imiron_ru    0    

3

Администрирование веб-серверов Системный администратор Программист Россия Абонемент ($m)

Apache HTTP Server на Windows. Установка и настройка вручную — пошаговое руководство.

5 стартмани

27.03.2026    829    imiron_ru    0    

8

Архивирование (backup) Linux Системный администратор Программист Россия Абонемент ($m)

Сценарий предназначен для восстановления баз данных PostgreSQL в Linux под учетной записью postgres из резервных копий, сформированных программой pg_dump в формате plain или custom.

1 стартмани

20.02.2026    574    0    Магнат    2    

2

Архивирование (backup) Администрирование СУБД Linux Системный администратор Программист 1С:Предприятие 8 Россия Абонемент ($m)

Сценарий предназначен для избирательного создания ротационных резервных копий баз данных по дисциплине 2-1 (2 копии, одна на другом физическом диске, другая на компьютере вне серверной комнаты) в форматах custom и/или plain кластера PostgreSQL, а также глобальных свойств кластера: пользователи, пароли и т.д.

2 стартмани

19.02.2026    562    0    Магнат    1    

3

Разработка внешних компонент Администрирование СУБД Linux Обновление 1С Системный администратор Программист Россия Абонемент ($m)

Cценарий python предназначен для автоматизации процессов установки СУБД PostgreSQL, клиентского приложения и сервера 1С, службы RAS а также  и деинсталляции последних в cреде операционной системы Astra Linux. Полный режим работы выполняет деинсталляцию предшествующей версии 1С и установку последующей.  Возможны также только деинсталляция или только установка. Сценарий тестирован в среде ОС Astra Linux SE v.1.7.x,v.1.8.x  

2 стартмани

03.02.2026    828    4    Магнат    1    

2

Информационная безопасность Архивирование (backup) Linux Администрирование СУБД Системный администратор Программист Россия Абонемент ($m)

В публикации рассматриваются не только принципы проектирования IT инфраструктуры малого и среднего предприятия в фокусе последних требований законодательства о защите ПДн, но и дается пошаговая инструкция по установке и настройке полного пакета ПО на основе использования Российских компонентов. Данная структура программ полностью покрывает все потребности организации по использованию, архивированию и защите IT инфраструктуры. Практическое применение протестировано на различных предприятиях в течении 5 лет. Все программы протестированы на Astra Linux 1.8 Пример формы описания процессов установки пункт 20.9

10 стартмани

29.01.2026    1091    7    Магнат    16    

2

Администрирование веб-серверов Системный администратор 1С 8.3 Россия Абонемент ($m)

Публикация http-сервиса через Apache под Windows, с использованием ssl клиентского сертификата p12. База реализующая обработку запросов GET, POST с получением и передачей JSON

1 стартмани

23.01.2026    1202    ЕСТЬNULL    0    

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