Доступ к файловой базе 1С через браузер и тонкий клиент: настройка IIS и Apache

· 9 мин

Содержание

Чтобы опубликовать файловую базу 1С, нужны три вещи: веб-сервер (IIS или Apache), компонент платформы «Модули расширения веб-сервера» той же разрядности и права на папку с базой для учётной записи веб-сервера. Сама публикация делается из Конфигуратора: Администрирование → Публикация на веб-сервере. Конфигуратор при этом запускают от имени администратора Windows.

Частое заблуждение: «файловую базу через веб опубликовать нельзя, нужен сервер 1С». Можно. Модуль веб-сервера сам открывает файл 1Cv8.1CD и работает с ним как обычный клиент. Сервер 1С не нужен. Но и чудес нет: это решение для небольшой команды, а не замена клиент-серверному варианту.

1. Какой веб-сервер выбрать и что подготовить заранее

Выбор простой. Сервер на Windows — берите IIS: он уже есть в системе, ставится галочками, а Конфигуратор умеет настраивать его сам. Сервер на Linux — Apache 2.4. Apache на Windows тоже работает, но его придётся скачивать отдельно и следить за разрядностью сборки.

ВариантКогда подходитНа что смотреть
IIS на Windows Server / Windows 10–11Типовой офис на WindowsРазрядность пула приложений
Apache 2.4 на WindowsIIS по каким-то причинам не используютСборка Apache той же разрядности, что и платформа
Apache 2.4 на LinuxСервер на Linux, база на нём жеПрава пользователя www-data (или apache) на каталог базы

Что подготовить до начала:

  • 🖥️ Компьютер, где будет веб-сервер. Лучше всего тот, на котором лежит сама база. Тогда модуль работает с файлом на локальном диске, а не по сети.
  • 📁 Путь к базе. Например, D:\Bases\Buh. Короткий путь без кириллицы и пробелов избавит от проблем с экранированием в конфигурации Apache.
  • 🔑 Права администратора Windows — для установки ролей IIS и записи в его настройки.
  • 👤 Список пользователей в самой базе. Без него любой, кто знает адрес, попадёт в программу без пароля.
  • 🔐 Лицензии. Для файловой базы через веб-сервер клиентскую лицензию получает модуль расширения веб-сервера, поэтому программная лицензия или ключ защиты должны быть доступны на компьютере с веб-сервером.

Держите базу на локальном диске машины с веб-сервером. Если 1Cv8.1CD лежит в сетевой папке, учётной записи пула IIS нужен доступ к этой папке, а это отдельная головная боль с правами и скоростью.

2. Установка IIS и модулей расширения веб-сервера

Роли IIS

На Windows Server роли ставятся через «Диспетчер серверов» → «Добавить роли и компоненты» → «Веб-сервер (IIS)». На Windows 10–11 — через «Включение или отключение компонентов Windows» → «Службы IIS».

Отметьте минимум:

  1. «Веб-сервер» → «Общие функции HTTP»: «Статическое содержимое», «Документ по умолчанию».
  2. «Разработка приложений»: «Расширения ISAPI» и «Фильтры ISAPI». Это обязательная пара: модуль 1С для IIS подключается как ISAPI-расширение.
  3. «Средства управления» → «Консоль управления IIS».
  4. Если нужен вход по учётке Windows — «Безопасность» → «Проверка подлинности Windows».

После установки откройте в браузере http://localhost. Стартовая страница IIS означает, что веб-сервер работает.

Компонент платформы

Запустите установщик той же версии платформы, что стоит у пользователей (номера должны совпадать полностью). В списке компонентов включите «Модули расширения веб-сервера». Если платформа уже установлена, выберите в установщике режим изменения и добавьте компонент.

Разрядность модуля должна совпадать с разрядностью процесса веб-сервера. Для IIS это значит: 64-битная платформа работает в пуле по умолчанию, а для 32-битной в дополнительных параметрах пула (DefaultAppPool или своего) нужно включить «Разрешены 32-разрядные приложения» = True.

3. Права учётных записей на базу и каталоги

Половина неудачных публикаций упирается в права. Процесс веб-сервера работает не от вашего имени, и база для него закрыта.

IIS

Пул приложений работает от встроенной учётной записи, а группа, через которую ей проще всего выдать доступ, — IIS_IUSRS. Выдайте ей права:

КаталогПрава
Папка с базой (D:\Bases\Buh)Изменение (чтение и запись)
Каталог bin платформы (C:\Program Files\1cv8\8.3.xx.xxxx\bin)Чтение и выполнение
Каталог публикации (C:\inetpub\wwwroot\buh)Чтение

Право на запись в папку базы нужно обязательно. Файловая база при работе создаёт рядом с 1Cv8.1CD служебные файлы блокировок, и без записи вход падает с ошибкой доступа.

Apache на Linux

Apache обычно работает от www-data (Debian, Ubuntu) или apache (RHEL-семейство). Ему нужен доступ на чтение и запись к каталогу базы:

sudo chown -R www-data:www-data /srv/1c/buh
sudo chmod -R 770 /srv/1c/buh

Если с базой в этой же папке работают и обычные клиенты Linux под своими пользователями, не меняйте владельца, а добавьте этих пользователей и www-data в одну группу и выдайте права группе.

4. Публикация базы: Конфигуратор, Apache и webinst

Через Конфигуратор (IIS или Apache на Windows)

  1. Щёлкните ярлык 1С правой кнопкой → «Запуск от имени администратора».
  2. Откройте базу в режиме «Конфигуратор».
  3. Выберите Администрирование → Публикация на веб-сервере.
  4. В поле «Имя» задайте короткое латинское имя, например buh. Оно станет частью адреса: http://server/buh.
  5. В поле «Веб-сервер» выберите IIS или нужную версию Apache.
  6. Каталог публикации Конфигуратор предложит сам. Оставьте его или укажите свой.
  7. Поставьте флажки «Публиковать тонкий клиент и веб-клиент». Вкладки про веб-сервисы и HTTP-сервисы нужны, только если с базой работают внешние программы.
  8. Нажмите «Опубликовать». Для Apache Конфигуратор предложит перезапустить веб-сервер — согласитесь.

В каталоге публикации появится файл 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="/buh"
       ib="File=&quot;D:\Bases\Buh&quot;;">
</point>

Если базу перенесли в другую папку, можно поправить путь в атрибуте ib прямо здесь, а не публиковать заново. После правки перезапустите пул или Apache.

Что Конфигуратор пишет в httpd.conf

Для Apache 2.4 на Windows в конец httpd.conf добавляется блок примерно такого вида (версия и пути у вас свои):

LoadModule _1cws_module "C:/Program Files/1cv8/8.3.xx.xxxx/bin/wsap24.dll"

# 1c publication
Alias "/buh" "C:/Apache24/htdocs/buh/"
<Directory "C:/Apache24/htdocs/buh/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/Apache24/htdocs/buh/default.vrd"
</Directory>

Строка LoadModule должна встречаться один раз. Если вы публикуете вторую базу, добавляется только новый блок Alias + Directory.

Публикация на Linux утилитой webinst

На Linux Конфигуратор с графическим интерфейсом есть не везде, поэтому публикуют из консоли. Утилита webinst лежит в каталоге платформы, например /opt/1cv8/x86_64/8.3.xx.xxxx/:

cd /opt/1cv8/x86_64/8.3.xx.xxxx
sudo ./webinst -publish -apache24 -wsdir buh -dir /var/www/buh \
  -connstr "File=/srv/1c/buh;" -confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2

Ключ -wsdir — имя публикации в адресе, -dir — каталог для default.vrd, -connstr — строка подключения к базе, -confpath — конфигурационный файл Apache. Полный список ключей выводит сама утилита при запуске без параметров.

Перезапуск Apache или пула IIS обрывает текущие сеансы всех, кто работает через веб. Делайте это вне рабочего времени или предупредите пользователей.

5. Как подключиться к опубликованной базе

Веб-клиент

Откройте в браузере адрес публикации: http://server/buh. Появится окно входа 1С. Ничего ставить на компьютер не нужно. Поддерживаются актуальные Chrome, Edge, Firefox и Safari. Всплывающие окна для адреса базы лучше сразу разрешить: часть форм и отчётов 1С открывает в них.

Тонкий клиент

У тонкого клиента интерфейс быстрее и привычнее, чем в браузере. Подключение:

  1. В окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы».
  2. Тип расположения — «На веб-сервере».
  3. Адрес — http://server/buh.
  4. Оставьте версию платформы по умолчанию или укажите ту же, что на веб-сервере.

Запуск из командной строки, если нужен ярлык без списка баз:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /WS "http://server/buh"

Особенности работы через веб

  • 🔄 Версия клиента подтягивается под сервер. Если на клиенте нет нужной версии, тонкий клиент может скачать её с веб-сервера, когда при публикации указан каталог дистрибутива. Иначе версию ставят вручную.
  • 📎 Файлы и печать. Загрузка файлов, работа с буфером и выгрузка в Excel в браузере требуют расширения для работы с файлами. Тонкому клиенту оно не нужно.
  • 🐢 Скорость. Каждый вызов сервера идёт по HTTP. По локальной сети разница с обычным подключением почти незаметна, по слабому интернет-каналу тяжёлые отчёты ощутимо тормозят.
  • 🔁 Обновление конфигурации. Через веб обновить конфигурацию нельзя. Обновляют в Конфигураторе, открыв базу по пути к файлу, а перед обновлением структуры выгоняют всех пользователей, в том числе веб-сеансы.

6. Пользователи, пароли и доступ из интернета

Публикация открывает базу всем, кто видит адрес. Поэтому до того как дать ссылку людям:

  1. В Конфигураторе откройте Администрирование → Пользователи и проверьте, что у каждого пользователя есть пароль, а у администратора он надёжный.
  2. Если нужен вход по учётке домена, включите у пользователя «Аутентификация операционной системы» и укажите доменного пользователя. В IIS для каталога публикации включите «Проверку подлинности Windows». Для Apache такой вход настраивается сложнее и обычно не нужен.
  3. Если база должна быть доступна снаружи, не открывайте порт 80. Привяжите к сайту сертификат и работайте по HTTPS: в IIS — через «Привязки» сайта, в Apache — через модуль mod_ssl или прокси на nginx.

Самый безопасный вариант для удалённых сотрудников — не выставлять публикацию в интернет, а подключать их через VPN к офисной сети. Тогда адрес остаётся внутренним.

7. Ошибки после публикации и их причины

Диагностика: выберите симптом

Как действовать, если ни одна подсказка не подошла:

  1. Откройте адрес публикации прямо на сервере (http://localhost/buh). Работает локально, но не с другого компьютера — дело в брандмауэре или DNS, а не в 1С.
  2. Для IIS посмотрите «Просмотр событий» → «Журналы Windows» → «Приложение». Для Apache — error.log (на Linux обычно /var/log/apache2/error.log).
  3. Проверьте, что номер версии модуля в пути bin совпадает с установленной платформой. После обновления платформы старый путь в httpd.conf указывает на удалённую папку, и публикация перестаёт работать.

Последний пункт стоит запомнить: после каждого обновления платформы на сервере публикацию нужно обновить. Для IIS достаточно открыть Конфигуратор новой версии и нажать «Опубликовать» ещё раз, для Apache — также поправить путь к wsap24.dll.

8. Частые вопросы

Сколько человек могут работать с файловой базой через веб-сервер?
Жёсткого ограничения нет, но файловый режим рассчитан на небольшую нагрузку. Если пользователей больше пяти–десяти и они одновременно проводят документы, начнутся ожидания на блокировках. Это сигнал переходить на клиент-серверный вариант.
Можно ли опубликовать одну базу и одновременно работать с ней по сетевой папке?
Да. Одни пользователи заходят через веб, другие открывают ту же базу по пути к файлу. Блокировки при этом общие, ограничения файлового режима остаются.
Нужно ли покупать отдельную лицензию на веб-сервер?
Для файловой базы лицензия сервера 1С не нужна. Нужны клиентские лицензии на число одновременных пользователей, доступные на компьютере с веб-сервером.
Как отменить публикацию?
В Конфигураторе откройте то же окно публикации и нажмите «Отключить». На Linux запустите webinst с ключом -delete и теми же -wsdir и -confpath.
Можно ли опубликовать несколько баз на одном IIS?
Да. Каждую публикуют под своим именем: http://server/buh, http://server/zup. Все они должны работать с одной версией модуля и одной разрядностью пула, или каждой нужен свой пул.