Как опубликовать информационную базу 1С на удаленном Linux-сервере и подключиться к ней?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Развертывание клиент-серверного варианта 1С:Предприятия на виртуальном выделенном сервере (VPS) под управлением Linux — популярное решение для обеспечения круглосуточного доступа к данным. Однако при попытке опубликовать информационную базу стандартным способом через меню Конфигуратора на клиентском компьютере системные администраторы часто сталкиваются с ошибкой «Веб-серверы не обнаружены». Разберем архитектурные особенности платформы 1С на Linux, выясним причину этой ошибки и рассмотрим по шагам, как перенести базу данных на сервер и опубликовать ее для доступа через интернет.

Почему возникает ошибка «Веб-серверы не обнаружены» в Конфигураторе

Проанализируем механику работы графического интерфейса. Пункт меню «Администрирование — Публикация на веб-сервере» в Конфигураторе 1С выполняет поиск установленных веб-серверов (Apache или IIS) исключительно на том локальном компьютере, на котором запущен сам Конфигуратор. Он проверяет локальные службы и реестр операционной системы.

Если сервер 1С и веб-сервер функционируют на удаленной машине с Linux, локальный Конфигуратор не сможет обнаружить веб-сервер дистанционно. Соответственно, выполнить публикацию напрямую из оконного интерфейса клиентской Windows-машины на удаленный сервер Linux невозможно. Эту операцию необходимо выполнять непосредственно на самом сервере.

Шаг 1. Перенос информационной базы в кластер на Linux

Прежде чем публиковать базу в веб-пространстве, разберем порядок переноса локальной файловой базы в кластер серверов 1С и СУБД PostgreSQL на удаленном VPS:

  1. Выгрузка данных: Откроем локальную файловую базу на рабочем компьютере в режиме Конфигуратора, перейдем в меню «Администрирование — Выгрузить информационную базу...» и сохраним файл с расширением .dt.
  2. Создание пустой базы в кластере: В окне запуска 1С:Предприятия нажмем «Добавить», выберем «Создание новой информационной базы», далее — «Создание информационной базы без конфигурации...». На следующем шаге укажем вариант «На сервере 1С:Предприятия» и заполним параметры:
    1. Кластер серверов 1С:Предприятия (IP-адрес или доменное имя вашего VPS);
    2. Имя информационной базы в кластере;
    3. Тип СУБД: PostgreSQL;
    4. Сервер баз данных: localhost (или IP-адрес сервера СУБД);
    5. Имя базы данных, пользователь и пароль к СУБД. При установленном флаге «Создать базу данных в случае ее отсутствия» платформа создаст схему в PostgreSQL автоматически.
  3. Загрузка данных: Запустим Конфигуратор для созданной базы на сервере, выберем меню «Администрирование — Загрузить информационную базу...» и выберем ранее сохраненный файл .dt.

Альтернативный вариант управления кластером без графического интерфейса — использование утилиты командной строки rac, взаимодействующей с демоном администрирования ras (запускается на сервере командой ras cluster --daemon).

Шаг 2. Публикация базы с помощью утилиты webinst (штатный способ)

Рассмотрим основной способ публикации информационной базы на веб-сервере Apache под управлением Linux. Для этого в дистрибутив сервера 1С входит консольная утилита webinst. Она находится в каталоге установки платформы (например, /opt/1cv8/x86_64/8.3.XX.XXXX/ или /opt/1C/v8.3/x86_64/).

Для публикации базы выполним в терминале сервера команду от имени суперпользователя:


/opt/1cv8/x86_64/8.3.10.2299/webinst -publish \
  -apache24 \
  -wsdir base_name \
  -dir /var/www/base_name \
  -connstr "Srvr=localhost;Ref=base_name;" \
  -confpath /etc/httpd/conf/httpd.conf

Разберем параметры команды подробнее:

  1. -publish — флаг выполнения публикации;
  2. -apache24 — версия используемого веб-сервера (для Apache 2.4);
  3. -wsdir — виртуальный каталог (алиас), по которому база будет доступна в браузере (например, http://ip-сервера/base_name);
  4. -dir — физическая папка на сервере, в которую утилита запишет файл дескриптора публикации default.vrd;
  5. -connstr — строка подключения к информационной базе в кластере 1С;
  6. -confpath — абсолютный путь к основному конфигурационному файлу Apache (в зависимости от дистрибутива Linux это может быть /etc/httpd/conf/httpd.conf или /etc/apache2/apache2.conf).

Шаг 3. Ручная публикация через файл default.vrd

Если требуется настроить публикацию вручную или отредактировать существующую конфигурацию, разберем структуру необходимых настроек:

  1. Подключение модуля в конфигурации Apache: Убедимся, что в конфигурационном файле веб-сервера подключен модуль расширения 1С: LoadModule _1cws_module /opt/1cv8/x86_64/8.3.10.2299/wsap24.so
  2. Создание дескриптора публикации: В каталоге публикации (например, /var/www/base_name/) создадим файл default.vrd следующего содержания:
    
    <?xml version="1.0" encoding="UTF-8"?>
    <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           base="/base_name"
           ib="Srvr=localhost;Ref=base_name;">
        <standardOdata enable="true"/>
        <httpServices publishByDefault="true"/>
    </point>
    
  3. Настройка директории в Apache: Добавим секцию директории в конфигурацию веб-сервера:
    
    Alias "/base_name" "/var/www/base_name/"
    <Directory "/var/www/base_name/">
        AllowOverride None
        Options None
        Require all granted
        SetHandler 1c-application
        ManagedApplicationDescriptor "/var/www/base_name/default.vrd"
    </Directory>
    
  4. Перезапуск службы: Перезапустим веб-сервер командой systemctl restart httpd или systemctl restart apache2.

Особенности работы с Nginx и требования безопасности

Посмотрим на важные архитектурные нюансы при развертывании 1С на Linux:

  1. Отсутствие нативного модуля для Nginx: Фирма 1С предоставляет модули расширения только для Apache и IIS. Опубликовать базу напрямую через Nginx нельзя. Стандартная схема работы — использование Apache в качестве внутреннего сервера приложений 1С, а Nginx — в качестве обратного прокси-сервера (Reverse Proxy) для обработки внешних SSL/TLS-соединений (HTTPS).
  2. Права доступа к файлам: Пользователь веб-сервера (apache или www-data) должен иметь права на чтение бинарных файлов 1С (включая модуль wsap24.so) и полные права на чтение и запись в каталог с файлом default.vrd.
  3. Сетевые порты: При доступе к базе через веб-сервер снаружи на сервере достаточно открыть только порты 80 (HTTP) и 443 (HTTPS). Порты кластера 1С (1540, 1541, 1560–1591) открывать во внешнюю сеть не требуется, так как веб-сервер и кластер взаимодействуют локально.

Шаг 4. Подключение к опубликованной базе

После успешной публикации подключиться к базе можно двумя способами:

  1. Через веб-браузер: Перейдем по ссылке вида http://<IP_или_домен_сервера>/base_name.
  2. Через Тонкий клиент: В окне запуска 1С нажмем «Добавить», выберем «Добавление в список существующей информационной базы», переключим тип расположения на «На веб-сервере» и укажем URL-адрес публикации.
← На главную