Рабочее место 1С на Linux через WSL. Часть 3 - Публикация баз данных 1С на веб-сервере (Apache) в WSL | infolimp.ru

Рабочее место 1С на Linux через WSL. Часть 3 - Публикация баз данных 1С на веб-сервере (Apache) в WSL

6 сентября 2026 · infolimp.ru

В предыдущих лабораторных работах мы развернули СУБД PostgreSQL, сервер «1С:Предприятие 8» и настроили их автоматический запуск. Однако современная разработка редко ограничивается работой внутри локальной сети или десктопным клиентом. Для полноценной отладки HTTP- и SOAP-сервисов, интеграции со сторонними веб-приложениями, работы через веб-клиент и тестирования мобильных приложений необходим веб-сервер. В этой работе мы разберем установку популярного веб-сервера Apache HTTP Server (Apache2) внутри подсистемы WSL, настроим связку с веб-модулями 1С, решим проблему конфликтов портов и опубликуем нашу демонстрационную базу данных DemoDB.

Теоретическая часть

Зачем разработчику веб-сервер в WSL? Локальный веб-сервер позволяет превратить ваше рабочее место программиста в полноценную веб-платформу. Это открывает следующие возможности:

  1. Веб-клиент: запуск и тестирование работы базы данных непосредственно в окне браузера (Chrome, Firefox, Edge) без необходимости установки тонкого клиента на клиентские ПК.
  2. Отладка интеграций: отладка HTTP-сервисов и Web-сервисов (SOAP), которые ваша конфигурация предоставляет внешним системам.
  3. Мобильная разработка: публикация мобильной конфигурации или мобильного приложения для подключения мобильного клиента с физического смартфона или эмулятора. Архитектура взаимодействия компонентов При обращении пользователя к опубликованной базе данных задействуется следующая технологическая цепочка:
  4. Браузер или HTTP-клиент отправляет запрос на порт веб-сервера (например, http://192.168.1.10:8080/demo).
  5. Веб-сервер Apache2 принимает запрос и, руководствуясь директивами конфигурации, передает управление проприетарному модулю расширения веб-сервера от компании 1С - файлу библиотеки <b>wsap24.so</b> (входит в пакет 1c-enterprise83-ws).
  6. Модуль wsap24.so считывает файл параметров публикации <b>default.vrd</b> (XML-формат), который содержит настройки подключения к базе.
  7. Модуль транслирует запрос к кластеру серверов 1С:Предприятия (процессу rmngr/rphost), который выполняет бизнес-логику на сервере и возвращает результат обратно веб-серверу для отправки клиенту. Решение проблемы конфликтов портов в WSL По умолчанию веб-сервер Apache слушает стандартный порт 80. Однако в Windows-хосте порт 80 часто уже занят локальным сервером IIS, другим экземпляром Apache (например, из состава XAMPP), веб-сервером СУБД или сторонним софтом. Поскольку WSL и хост-система Windows делят единый сетевой стек на низком уровне, одновременный запуск веб-серверов на одном и том же порту в Windows и WSL приведет к конфликту адресов. Чтобы избежать этого, мы настроим Apache в WSL на использование альтернативного незанятого порта - 8080.

Пошаговая инструкция

Шаг 1. Установка веб-сервера Apache2

  1. Откройте терминал Ubuntu в ConEmu.
  2. Обновите индекс пакетов и установите веб-сервер Apache2 стандартной командой:
sudo apt update
sudo apt install -y apache2
  1. Проверьте статус службы:
service apache2 status

Если служба запущена, остановите её на время конфигурирования: sudo service apache2 stop.

Шаг 2. Перевод Apache на альтернативный порт (8080)

Для предотвращения конфликтов со службами Windows переведём веб-сервер на порт 8080.

  1. Откройте конфигурационный файл портов Apache в текстовом редакторе nano:
sudo nano /etc/apache2/ports.conf
  1. Найдите строку Listen 80 и замените её на Listen 8080: # Было: Listen 80 Listen 8080 Сохраните изменения [Ctrl + O, Enter] и выйдите из редактора [Ctrl + X].
  2. Теперь отредактируйте конфигурацию виртуального хоста по умолчанию:
sudo nano /etc/apache2/sites-enabled/000-default.conf
  1. Измените порт в первой строке файла: # Было: <VirtualHost *:80> <VirtualHost *:8080> Сохраните файл и закройте редактор.

Шаг 3. Подготовка веб-модуля 1С и проверка путей

Для публикации баз нам потребуется утилита <b>webinst</b> и библиотека <b>wsap24.so</b>. Они поставляются в составе пакета 1c-enterprise83-ws...deb, который мы установили в работе №1.

  1. Убедитесь, что пакет публикации веб-сервисов 1С установлен в вашей системе:
apt list --installed | grep 1c-enterprise83-ws
  1. Определите точный путь к вашей установленной платформе. Для версии 8.3.16.1148 файлы находятся в каталоге: /opt/1cv8/x86_64/8.3.16.1148/ Примечание: в более новых версиях платформы путь может выглядеть как /opt/1C/v8.3/x86_64/.

Шаг 4. Публикация базы данных через утилиту webinst

Утилита webinst выполняет автоматическую пропись модулей 1С в конфигурационный файл Apache и формирует структуру каталога публикации.

  1. Создайте каталог, в котором будут лежать файлы публикации нашей базы DemoDB:
sudo mkdir -p /var/www/demo
  1. Запустите утилиту публикации со следующими параметрами:
sudo /opt/1cv8/x86_64/8.3.16.1148/webinst \
  -apache24 \
  -wsdir demo \
  -dir /var/www/demo \
  -conn "Srvr=PEN-PC;Ref=DemoDB;" \
  -confPath /etc/apache2/apache2.conf

Разбор ключевых параметров запуска webinst:

Шаг 5. Настройка прав доступа (Права www-data)

Типичная ошибка при публикации - запуск Apache от системного пользователя www-data, который по умолчанию не имеет прав на чтение и запись файлов в созданном каталоге /var/www/demo.

  1. Передайте права владения на каталог публикации системной учетной записи, под которой работает веб-сервер Apache:
sudo chown -R www-data:www-data /var/www/demo
  1. Убедитесь, что файл конфигурации default.vrd доступен для чтения:
ls -la /var/www/demo

Шаг 6. Перезапуск веб-сервера и проверка работы

  1. Запустите или перезапустите веб-сервер Apache2:
sudo service apache2 restart
  1. Перейдите в хост-систему Windows, откройте любой современный веб-браузер и введите в адресной строке: http://localhost:8080/demo
  2. На экране должно появиться стандартное окно авторизации и запуска веб-клиента «1С:Предприятие» для нашей демонстрационной базы.

Практическое задание

Цель работы: Развернуть веб-сервер Apache в изолированном WSL-окружении, опубликовать демонстрационную базу данных и настроить сетевую маршрутизацию для обеспечения доступа к базе с мобильных устройств. Задание:

Проверьте себя

  1. Зачем при настройке Apache в WSL изменять стандартный порт 80 на порт 8080? Ответ: WSL и Windows делят единый сетевой стек. Если на хосте Windows запущен другой веб-сервер (например, IIS или XAMPP) на 80 порту, запуск Apache в WSL на том же порту вызовет критический конфликт сокетов "Address already in use". Порт 8080 решает эту проблему.
  2. Какая системная учетная запись в ОС Ubuntu по умолчанию используется для запуска процессов веб-сервера Apache2, и почему это важно при публикации баз 1С? Ответ: Apache2 запускается под системным пользователем www-data. Если этот пользователь не будет назначен владельцем каталога публикации (например, /var/www/demo), веб-сервер выдаст ошибку HTTP 500 или 403, так как не сможет прочитать файл конфигурации default.vrd или сделать в него запись.
  3. За что отвечает файл конфигурации default.vrd и какой формат разметки он использует? Ответ: Файл default.vrd представляет собой XML-документ, который описывает параметры подключения веб-клиента к конкретной базе данных на кластере 1С (имя сервера, имя базы, таймауты, включенные HTTP/SOAP-сервисы и др.).
  4. Какой пакет технологической платформы 1С:Предприятие обязательно должен быть установлен в Linux для обеспечения возможности веб-публикации? Ответ: Должен быть установлен специализированный пакет 1c-enterprise83-ws (расширение веб-сервера), содержащий библиотеку-адаптер wsap24.so.
  5. Какое действие выполняет утилита webinst при указании флага -confPath? Ответ: Утилита находит основной файл конфигурации веб-сервера Apache (по указанному пути, например /etc/apache2/apache2.conf) и автоматически прописывает в него директиву загрузки модуля расширения 1С (LoadModule _1cws_module ... wsap24.so), чтобы Apache знал, как обрабатывать запросы к 1С.
Расширение «НОПик» для 1С — встраиваемый коннектор к внешнему AI с интеллектуальным поиском по базе. Задавайте вопросы обычными словами - AI сам найдёт нужное. 45 дней бесплатно.

Попробовать НОПик →
Знаете ответ на такие вопросы не хуже автора статьи? Пройдите бесплатную анонимную проверку уровня на infolimp.ru - 3 практических задачи, 15 минут, публичный токен-профиль, который можно показать работодателю или заказчику. Без регистрации по почте.

Проверить свой уровень бесплатно →