Перейти к содержимому

Как установить модуль расширения веб сервера на 1с

  • автор:

Записки IT специалиста

Публикация баз данных 1С:Предприятие 8.3 на веб-сервере Apache в Debian или Ubuntu

  • Автор: Уваров А.С.
  • 26.10.2019

1cv83-web-access-linux-000.png

Публикация информационных баз 1С:Предприятие на веб-сервере приобретает все большую популярность, так как позволяет легко организовать доступ с использованием стандартных протоколов HTTP/HTTPS из любого места где есть интернет. При этом вы можете работать даже там, где доступ в интернет ограничен одним лишь серфингом, если работает браузер — будет работать и 1С. Сегодня мы подробно рассмотрим настройку веб-сервера для совместной работы с 1С:Предприятие 8.3 на платформах Debian или Ubuntu.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

С выносом веб-сервера на отдельную машину многие задачи автоматически снимаются, мы всегда можем использовать самые последние и актуальные версии ПО, а в случае компрометации сервера злоумышленник не получит доступ к серверу 1С, тем более что отдельно стоящий веб-сервер всегда можно вынести в отдельную подсеть или демилитаризованную зону. Кроме того, появляются новые возможности.

Например, веб-сервер можно использовать как единую точку консолидации для нескольких серверов, единственное условие — одинаковые версии технологической платформы. Это удобно, не нужно запоминать какая база расположена на каком сервере, кроме того, пробросить один сервер на внешний интерфейс или в VPN-сеть легче, чем группу серверов, для которых придется использовать нестандартные порты, что в ряде случаев может составить проблему.

1cv83-web-access-linux-001.png

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

1cv83-web-access-linux-002.png

Также возможны и любые иные комбинации, которые ограничены только вашими возможностями и потребностями. А с учетом относительной нетребовательности веб-сервера к ресурсам, для них можно использовать виртуальные машины или контейнеры. Например, мы имеем хороший опыт по использованию контейнеров в системе виртуализации Proxmox.

Настройка сервера

В первую очередь установим веб-сервер Apache, так как 1С:Предприятие, начиная с версии платформы 8.3.8 поддерживает актуальную версию Apache 2.4, то вся установка сводится к единственной команде:

Компания 1С рекомендует использовать модуль мультипроцессной обработки worker, поэтому следует выяснить с каким модулем работает ваш сервер, для этого выполним:

Если это prefork или event, то их следует отключить:

После чего включим worker и перезапустим веб-сервер:

Установка модуля расширения веб-сервера для платформы 8.3.19 и ниже

Установим модуль расширения веб-сервера от 1С, для этого скачаем с официального сайта архив Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем. Сразу сделаем оговорку, мы не видим никаких причин использовать в 2019 году 32-битные версии веб-серверов для 1С, поэтому здесь и далее мы будем работать только с 64-битными системами.

Из данного архива нам понадобятся три пакета: 1c-enterprise83-ws — сам модуль веб-расширения, 1c-enterprise83-common — требуется по зависимостям и 1c-enterprise83-server, которого нет в зависимостях, но без которого веб-сервер с 1С работать не будет. Если вы используете в 1С языки отличные от русского, то вам потребуется еще добавить одноименные пакеты nls

Скопируем эти пакеты в отдельную директорию, скажем, в домашнем каталоге, перейдем в него и установим пакеты:

После чего отключим автозагрузку сервера 1С, который для работы не нужен, в целях экономии ресурсов:

Если все делать «по инструкции», то следующими шагами должна быть установка прав на папки и файлы, но на практике этого не требуется, так как модуль веб-сервера работает только на чтение и имеет для этого все права с настройками по умолчанию.

Установка модуля расширения веб-сервера для платформы 8.3.20 и выше

Начиная с платформы 8.3.20 компания 1С перешла на единый дистрибутив, который также следует скачать с официального сайта, он поставляется в виде архива с именем типа server64_8_3_20_1710.tar.gz, где 8_3_20_1710 — версия платформы.

Если вы используете Debain 11, то нужно добавить репозиторий от предыдущего выпуска для установки библиотеки libenchant1c2a:

Не забудьте после этого обновить список пакетов:

Теперь перейдем в директорию с единым дистрибутивом (в нашем случае это домашняя директория) и распакуем его:

Для установки расширения веб-сервера запустите инсталлятор с ключами:

Никаких действий больше предпринимать не нужно.

Публикация клиент-серверных баз

Перед тем как публиковать базу нужно выполнить некоторые условия. Обращаться к серверу 1С можно только по имени хоста, которое веб-сервер должен разрешать в IP-адрес, в доменных сетях это решается использованием доменных DNS, но в любом случае разрешение имен следует проверить.

Для одноранговых сетей следует добавить запись в файл /etc/hosts:

Где SRV-1C имя вашего сервера 1С, перед которым указываем его IP-адрес.

Затем создадим директорию для публикации информационной базы, расположение может быть любым, но хорошим тоном для Linux-систем будет использование стандартных расположений, для веб-сервера это /var/www:

После чего можно перейти непосредственно к публикации, для этого будем использовать утилиту webinst, предварительно перейдя в каталог с ее расположением. Обратите внимание, что на платформах 8.3.17 и ниже использовался следующий путь:

Начиная с платформы 8.3.18 стало возможным устанавливать сразу несколько версий и поэтому путь к расположению файлов платформы изменился и содержит номер ее версии:

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

Коротко поясним используемые параметры:

  • publish — указывает необходимое действие, в данном случае публикацию, может быть опущен, так как это действие по умолчанию
  • apache24 — задает тип веб-сервера, для Apache 2.2 следует указывать apache22.
  • wsdir — имя публикации, по которому к базе следует обращаться из браузера, обратите внимание, что оно регистрозависимое
  • dir — путь публикации, ранее созданная нами директория
  • connstr — строка соединения, состоит из нескольких частей: Srvr — имя сервера, Ref — имя базы на сервере, каждая часть должна заканчиваться служебным символом «;»
  • confpath — путь к конфигурационному файлу веб-сервера

После чего следует перезапустить веб-сервер:

Теперь можно подключаться к базе. Есть два варианта: использовать веб-клиент, работающий через браузер или тонкий клиент, установив нужную версию платформы. Мы не рекомендуем использовать веб-клиент, потому как его возможности не позволяют использовать весь функционал платформы, например, у нас он стабильно падал при попытке использовать Планировщик в 1С.

1cv83-web-access-linux-003.png

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

1cv83-web-access-linux-004.png

Поэтому мы рекомендуем использовать тонкий клиент везде, где это возможно. Для подключения следует использовать строку http://SRV-WEB-1C/InfoBase или http://192.168.16.136/InfoBase, для подключения можно использовать FQDN, плоское имя или IP-адрес, с условием, что имена разрешаются на клиенте в адрес сервера. Предпочтительно использовать FQDN, но работать будет любой вариант.

При настройке тонкого клиента просто укажите адрес в диалоге добавления новой информационной базы:

1cv83-web-access-linux-005.png

Здесь мы еще раз напомним, что адрес регистрозависимый и если вы ранее указали в параметре wsdir имя InfoBase, то в дальнейшем его следует использовать в строке подключения, потому как http://SRV-WEB-1C/InfoBase — работать будет, а http://SRV-WEB-1C/infobase вызовет ошибку 404.

Публикация файловых баз

Возможно, вы удивитесь, но модуль расширения веб-сервера позволяет публиковать файловые базы на сервере без графического интерфейса и без установки клиента 1С, единственное условие — база физически должна располагаться на веб-сервере.

Также нам потребуется установить все необходимые для работы 1С библиотеки и шрифты. Для этого потребуется подключить несвободные репозитории, откройте файл /etc/apt/sources.list и в Debian добавьте в конце каждой строки:

а в Ubuntu раскомментируйте строки содержащие в конце

В Debain 11 нужно также добавить репозиторий от предыдущего выпуска для установки библиотеки libenchant1c2a :

В зависимости от используемого вами дистрибутива часть библиотек может быть уже установлена, о чем вы получите сообщение, так в Debian 9/10 по умолчанию установлены libfontconfig1 и libglib2.0-0.

Затем установим библиотеки ImageMagick, в разных дистрибутивах они могут иметь разные версии, поэтому выполним:

В выводе найдем нужную версию с окончанием на q16-x и установим ее.

1cv83-web-access-linux-006.png

В нашем случае это библиотека libmagickwand-6.q16-6:

Теперь создадим директорию для расположения файловой базы, например:

И поместим в нее любым доступным способом, скажем, через SFTP, файл базы данных 1Cv8.1CD, имейте ввиду, что клиента 1С на веб-сервере нет и загрузить на нем DT-файл мы не можем, поэтому его нужно развернуть в другом месте и передать на сервер именно 1CD.

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

Создадим каталог публикации:

Затем перейдем с каталог с установленной платформой, для версии 8.3.17 и ниже выполните:

Для 8.3.18 и выше (учитывайте, что путь содержит номер платформы):

Теперь можно публиковать базу:

Перезапустим веб-сервер и базой можно работать:

Но для работы следует использовать исключительно тонкий клиент, так как веб-клиент не сможет получить лицензию.

Для корректной работы с файловыми базами следует ограничить Apache одним рабочим процессом, в противном случае вы можете столкнуться с ошибкой Объект заблокирован. Чтобы избежать этого, откроем /etc/apache2/mods-available/mpm_worker.conf и установим следующие значения:

Если вы используете иные модули мультипроцессной обработки, то нужно внести изменения в их конфигурационные файлы, для event это /etc/apache2/mods-available/mpm_event.conf, настройки выполняются аналогично модулю worker (приведены выше).

В случае использования prefork откройте /etc/apache2/mods-available/mpm_prefork.conf и установите следующие значение опциям:

После чего не забудьте перезапустить веб-сервер.

Данная настройка может существенно снизить производительность и поэтому мы не рекомендуем совмещать на одном сервере публикацию файловых и клиент-серверных баз, особенно при большом количестве обслуживаемых клиентов.

Особенности обновления платформы 8.3.18 и выше

Несмотря на то, что начиная с этой версии можно устанавливать сразу несколько платформ расширение веб-сервера может работать только с одной версией платформы, поэтому предыдущие версии при обновлении нужно удалить, автоматической замены версии пакета, как это было в 8.3.17 и ниже не произойдет.

Для платформ 8.3.18 — 8.3.19 выполните:

Для 8.3.20 и выше:

Затем установите новую версию платформы, как это сделать — смотрите в соответствующем разделе нашей статьи.

После чего откройте файл /etc/apache2/apache2.conf и найдите в нем строку:

И исправьте в ней путь согласно установленной вами версии платформы, после чего перезапустите веб-сервер:

Как видим, никаких особых сложностей при обновлении платформы нет, но следует учитывать особенности и изменения в последних выпусках 1С.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

Установка модулей расширения Web-сервера

Для работы Агента 1С:Линк необходимо наличие установленных 32-битных модулей расширения Web-сервера из дистрибутива 1С:Предприятие.

Обратите внимание, что для установки модулей веб- расширения могут потребоваться права Администратора.

После установки необходимо перезапустить Агент «1С: Линк».

На ПК с Агентом откройте панель управления и (для Windows 7) перейдите в раздел «Программы — Программы и компоненты», как показано на картинке ниже. Для Windows XP – откройте Панель управления и в ней – «Установка и удаление программ».

Далее выберите в списке программ версию 1С:Предприятие, которое вами используется, и нажмите кнопку «Изменить». Также опцию «Изменить» можно выбрать из контекстного меню, вызываемого правым щелчком мыши на строке программы в панели управления. Это справедливо и для Windows 7 и для Windows XP.

Используемую версию платформы 1С:Предприятие можно уточнить, нажав на значок «О программе» в окне приложения 1С.

В появившемся окне нажмите кнопку «Далее»

Выберите установку Модулей расширения веб-сервера, как показано на картинке ниже.

Нажмите кнопку «Далее» и следуйте инструкциям мастера для завершения установки.

В случае, если на комьютере отсутствует дистрибутив указанной версии платформы «1С: Предприятие 8», вы можете загрузить его с сайта https://users.v8.1c.ru/distribution/

Подробная информация об установке и настройке компонентов платформы «1С: Предприятие » доступна в главе 2 р уководства а дминистратора «1С: Предприятие «.

Настройка работы с 1С через веб-браузер (Веб-клиент). Пошаговая инструкция

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

Для работы в режиме веб-клиента требуется веб-сервер, настроенный на работу с 1С:Предприятием 8. Браузер клиента взаимодействует с веб-сервером по протоколу HTTP или HTTPS. Веб-сервер, в свою очередь, взаимодействует с 1С:Предприятием 8 в файловом или клиент-серверном варианте работы.

В качестве веб-сервера используется Apache или IIS.
imageДля пользователя работа в веб-клиенте выглядит следующим образом: он открывает веб-браузер на своем компьютере, вводит в адресную строку адрес информационной базы и дальше работает с ней точно также, как если бы у него на компьютере был установлен тонкий клиент 1С:
imageТеперь ближе как делу, разберемся как обеспечить доступ к информационной базе, используя веб-клиент.Для начала потребуется установить веб-сервер. В этой статье рассмотрим установку веб-сервера Apache для операционной системы Windows.

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

1. Скачать дистрибутив
Дистрибутив можно скачать на следующей странице: https://www.apachelounge.com/download/.
На момент публикации последний релиз 2.4.41.

ВАЖНО: Если вы используете 32-битную версию платформы “1С:Предприятие”, то скачивать нужно архив с суффиксом Win32, если используется 64-битная версия платформы, то архив с суффиксом Win64. Обратите на это внимание, поскольку если не будет соблюдена разрядность, возникнут ошибки при работе веб-сервера.

На картинке ниже выделены ссылки для скачивания 32-битной версии Apache. Используемая в примере платформа 1С:Предприятие — тоже 32-битная:
image2. Распаковать архивНадо выполнить распаковку скачанного архива httpd-2.4.x-win64-VS16 и скопировать папку Apache24 в корень диска C:
image3. Настроить файл конфигурации веб-сервера — http.confНастройка веб-сервера выполняется с помощью специального файла http.conf, который находится в папке C:\Apache24\conf. Для редактирования этого файла можно использовать блокнот. Для запуска веб-сервера локально (на локальном компьютере) нужно изменить 2 параметра:
ServerNamelocalhost:80
ServerAdminвашмейл@xx.ru

image4. Изменить переменную среды path WindowsВ переменную среды path нужно добавить путь к исполняемым файлам Apache, которые находятся в каталоге C:\Apache24\bin

На Windows 10 эту настройку можно найти в следующем месте:

Панель управления -> Система и безопасность -> Система -> Дополнительные параметры системы -> Переменные среды

image image5. Установить компоненту С++Для этого запустить ранее скачанный файл VC_redist.x64
image6. Установить Apache как службу через командную строкуДля выполнения этого действия нужно запустить командную строку с правами администратора и выполнить следующие команды:

Для выполнения этого действия нужно запустить командную строку с правами администратора и выполнить следующие команды:
cd C:\Apache24\bin
httpd.exe -k install

imageПосле этого переходим в список служб (Панель управления\Все элементы панели управления\Администрирование\Службы), находим службу Apache 2.4 и выполняем её запуск:
На этом установка веб-сервера завершена
Чтобы проверить его работу нужно открыть браузер и в адресной строке написать http://localhost.

Мы должны увидеть страничку с надписью It Works !
image

Шаг 2. Установка компонентов платформы 1С:Предприятие для работы с веб-сервером

Для взаимодействия платформы 1С:Предприятие с веб-сервером используется специальная компонента платформы, которая входит в дистрибутив — Модули расширения веб-сервера. Нужно запустить процесс установки платформы и на шаге выбора компонентов отметить компоненту “Модули расширения веб-сервера”.

image

Шаг 3. Публикация информационной базы 1С на веб-сервере
  • Имя — ЛАТИНСКИМИ БУКВАМИ БЕЗ ПРОБЕЛОВ (можно использовать подчеркивание)
  • Веб-сервер — Apache 2.4
  • Каталог — по сути произвольный каталог с файлами веб сервера для текущей базы. Желательно название каталога, что бы совпадало с названием базы (для простоты).

Вы должны увидеть сообщение «Публикация выполнена»

На вопрос «Перезапустить ли веб-сервер» — всегда соглашаемся.
imageПробуем открыть в браузере нашу базу. С текущего компьютера (где установлен веб-сервер) открываем браузер в адресной строке пишем: http://localhost/BUH (если при публикации было указано другое имя, то вместо BUH нужно написать его).
В том случае, если информационная база не открывается и на странице отображется текст ошибки необходимо выполнить перезапуск службы Apache24 вручную.

Для этого нужно открыть список служб, найти службу Apache24 и выполнить команду “Перезапустить”:
imageПосле этого повторно пытаемся в браузере открыть информационную базу. В результате мы должны увидеть стартовое окно запуска 1С:
imageПосле ввода пользователя и пароля можно работать с информационной базой:
image

Шаг 4. Проверяем доступность страницы с других компьютеров и настраиваем брандмауэр

Для того, чтобы работать с информационной базой, опубликованной на веб-сервере, с других компьютеров вместо http://lolcahost/BaseName нужно использовать адрес http://192.168.0.189/BaseName, где 192.168.0.189 — IP-адрес компьютера, на котором установлен веб-сервер Apache, который использовался при публикации базы. Узнать IP-адрес компьютера проще всего через командную панель, выполнив команду
ipconfig /all
imageПробуем открыть страницу http://192.168.0.101/BUH (у вас цифры другие и другое имя базы) но уже с любого другого компьютера в локальной сети.
Если вместо знакомой страницы вы увидели «Не удается получить доступ к сайту» или аналогичное сообщение — нужно выполнить настройку брандмауэра. Для этого возвращаемся на тот компьютер, где установлен Apache, заходим в «Панель управления» — «Система и безопасность» — «Брандмауэр Windows» и в левой части экрана щелкаем на «Дополнительные параметры”
imageКликаем на раздел «Правила для входящих подключений», затем в правой части окна «Создать правило»Выбираем «Для порта» — Далее, Протокол TCP, Опреленные локальные порты: 80, Далее
imageУстанавливаем «Разрешить подключение» — Далее,Ставим все три галочки
imageУказываем произвольное имя, например «Веб сервер 80 порт для 1С». Готово.
Снова заходим на другие компьютеры и убеждаемся, что теперь по IP адресу http://192.168.0.101/BUH в браузере открывается информационная база.

Таким образом, в этой статье мы рассмотрели процесс публикации информационной базы на веб-сервере для возможности работы, используя веб-клиент (интернет-браузер).

Стоит отметить, что если необходимо обеспечить работу с информационной базой через веб-клиент не только в рамках локальной сети, но и через интернет, то крайне желательно в этом случае на стороне веб-сервера настроить SSL. Как это сделать рассмотрим в одной из следующих статей.

Как установить модуль расширения веб сервера на 1с

В этой статье будет рассказано, как быстро и просто установить 64-битный веб-сервер Apache 2.4.25, настроить его, и выполнить публикацию веб-сервиса с помощью 1С-Предприятия 8.3.

С версии 1С-Предприятие 8.3.8 мы получили возможность работать с сервером Apache 2.4. Учитывая, что поддержка Apache 2.2 заканчивается в июле 2017, вопрос вполне актуальный.

  • Установлен 64-битный сервер 1С-Предприятие 8.3 не ниже версии 8.3.8.1861, так как в более ранних версиях платформы 8.3.8 поддержка Apache 2.4 реализована только для 32-битного сервера. Впрочем, в самой статье для демонстрации установки будет использоваться актуальная на момент написания версия 8.3.9.2170.
  • Установлен клиент подходящей версии.
  • В составе установки как серверной, так и клиентской части указан модуль расширения web-сервера.

Установка 1С, модуль расширения веб-сервера

Итак, если начальные условия у нас выполнены, то порядок действий будет следующим:

  1. Скачиваем и устанавливаем VC++ 15 Runtime по ссылке. Выбираем файл нужный язык и скачиваем файл «vc_redist.x64.exe». Устанавливаем его.
  2. Скачиваем последний актуальный дистрибутив с сайта Apache Haus, на момент написания статьи это 2.4.25 для версии x64. Дистрибутив содержит все необходимые моды для работы по SSL протоколу (библиотека OpenSSL), что для нас большой плюс.
  3. Распаковываем архив, в нем содержится каталог «Apache24», копируем этот каталог в место, где планируется разместить наш веб-сервер.
  4. Находим файл « Apache24/conf/httpd.conf » и редактируем его.
    1. Если в пункте 3 мы копировали в корневой каталог диска, то этот пункт пропускаем, иначе находим строку « Define SRVROOT «/Apache24» » и указываем там полный путь к папке сервера.
    2. Находим и редактируем строку « ServerAdmin admin@example.com ».
    3. Находим и редактируем строку « ServerName localhost:80 ».
    4. Сохраняем файл.

    Выполнение публикации базы данных 1С

    • « http://localhost/webtest/ » ссылка служит для входа в базу данных через веб-клиент.
    • « http://localhost/webtest/ws/Test?wsdl » — служит для просмотра содержимого wsdl-ссылки веб-сервиса, имеющегося в данной конфигурации.

    Если обе ссылки работают, то установка и публикация были успешно завершены.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *