Офисные программы

Настройка веб-серверов для работы с «1С:Предприятием. Настройка веб-серверов для работы с «1С:Предприятием Установка web сервера для 1с 8.3

Настройка веб-серверов для работы с «1С:Предприятием. Настройка веб-серверов для работы с «1С:Предприятием Установка web сервера для 1с 8.3

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

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

Минимальные системные требования к серверной части архитектуры могут значительно различаться и сильно зависят от:

  1. Задач, решаемых программой;
  2. Интенсивности документооборота;
  3. Количества единовременно подключенных пользователей;
  4. Размера и количества опубликованных и прописанных баз данных.

Однако без двух вещей при публикации 1С на веб-сервере обойтись просто невозможно:

  • Развернутого в системе веб-сервера;
  • Установленного и запущенного модуля расширения, поставляемого фирмой 1С.

Веб-сервер

В качестве этого элемента нашей структуры может выступать как Internet Information Server (IIS), поставляемый в составе операционных систем от фирмы Microsoft, так и Apache сервер. Конечно, есть и платные аналоги этих решений, но про них мы разговор вести не будем.

Дополнительным плюсом продуктов Apache является возможность их запуска из Linux подобных операционных систем.

Мы рассмотрим вариант с IIS, т.к. он не требует поисков и установки продуктов сторонних производителей.

Модули расширения веб-сервера

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

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

Определившись с инструментарием, перейдем к настройке.

Установка и запуск Web-сервера

Для того, чтобы запустить IIS на компьютере с установленной Windows, необходимо произвести следующую последовательность действий (на примере Windows 7):


Рис.3

Удостовериться в том, что веб-сервер заработал, можно забив в адресной строке любого браузера строку вида «http://localhost» и получив картинку, как на Рис.4.

Рис.4


Рис.6.

В некоторых случаях (в частности, если работа программы осуществляется в среде 64 разрядной операционной система), после публикации базы на сервере, возможно придется донастраивать работы с библиотеками, используемыми платформой 1С. Это можно выполнить из подменю «Сайты».

Выбрав конкретную, только что опубликованную базу в списке, необходимо активировать утилиту «Сопоставление обработчиков» (Рис.7).
Рис.7

В нашем случае нам понадобится установить соответствие между ISAPI-dll и исполняемым файлом wsisapi.dll, находящимся в папке BIN, установленной версии платформы.

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

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

Настройка прав пользователей

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

Нам необходимо разрешить полный доступ пользователю IIS_USERS:

  • К папке «C:\inetpub\wwwroot\Имя публикации», где хранится ресурс;
  • К папке с используемой версией программы, где хранится библиотека wsisapi.dll;
  • К месту, где хранится база.

Выполнив вышеперечисленные действия, мы можем проверить работоспособность нашей публикации, забив в окне браузера строку вида «localhoct/Имя публикации» и обнаружив там форму идентификации пользователя.

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

Публикация 1С 8.3 на веб-сервере IIS отличается лишь установкой серверной части.

Установка веб-сервера Apache

Сначала нужно скачать дистрибутив сервера. Находится он по адресу http://www.apache.org . Скачиваем последнюю версию дистрибутива для Windows и запускаем установку.

Нажимаем «Next» до тех пор, пока не появится вот такое окно:

В первые два поля впишем «localhost» (или 127.0.0.1). Это означает, что сервер будет работать на локальном компьютере. В третьем поле укажите почтовый адрес, на него будут приходить ответы сервера.

Следует заметить, что программа Skype тоже может использовать 80 порт. Поэтому, если Вы ее используете, отключите в настройках 80 порт.

Нажимаем «Next».

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

Каталог установки тоже оставим по умолчанию. Нажимаем «Install». Начнется процесс установки.

Получите 267 видеоуроков по 1С бесплатно:

После окончания установки сервер должен автоматически запуститься. При этом в системном трее появится значок . Это означает, что сервер успешно запустился. Если кликнуть два раза на этой иконке, откроется следующее окно:

Публикация веб-клиента и веб-сервисов в 1С 8.3 (8.2) на сервере Apache

Сервер запущен. Теперь займемся программой 1С. Запустим Конфигуратор.

В Конфигураторе выбираем меню «Администрирование», далее «Публикация на веб-сервере».

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

Нужно только выбрать каталог, можно любой пустой. «Имя» нужно указать латинскими символами.

Можно выбирать по желанию. Можно отключить совсем. Главное, перейти на закладку HTTP-сервисы. Тут нужно сделать те же настройки, что и на предыдущей закладке:

06.04.2014

Имеется:

Windows 8.1 Профессиональная.

1С предприятие, версия 8.3.4.465.

База данных ЗУП 3.0.

Необходимо установить доступ к указанной базе ЗУП через интернет браузер или тонкий клиент.

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

    2. Публикация базы данных из 1С предприятия.

    После установки IIS нужно запустить конфигуратор от имени локального администратора и опубликовать базу.

  1. Конфигуратор сам сконфигурирует IIS.

Соглашаемся на перезапуск сервера IIS после публикации новой базы.


    7. Открываем порт в брандмауэре.

    Панель управления - Брандмауэр Windows - Дополнительные параметры.

    Создаем правило для входящих подключений, для выбранного порта.

8. Организация работы через интернет.

Для того, чтобы в базу можно было попасть из "открытого интернета", вы должны приобрести у провайдера "белый IP адрес". Образно говоря, это будет ваш цифровой идентификатор, по которому все компьютеры интернета будут узнавать вас. Если ваш веб-сервер будет с таким адресом, то больше ничего делать не нужно. Если интернет будет раздавать роутер, или другой компьютер с прокси-сервером (т.е. шлюз), то на этом шлюзе нужно открыть какой то из портов и перенаправить его на рабочий порт IIS на веб-сервера. В настройках шлюза вы должны указать входящий порт, и куда перенаправляется трафик - IP адрес и порт веб-сервера.

  1. 9. Запуск браузера.

    В моем случае, строка запуска браузера будет выглядеть так:

http - указание протокола.

i7 - dns имя компьютера или ip адрес веб-сервера.

180 - порт IIS (можно не указывать, если порт по умолчанию)

hrm30 - каталог публикации (c:\inetpub\wwwroot\HRM30)

Для тонкого клиента строка указывается в настройках подключения.

Все, можно работать!

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

Хоть 1С и не рекомендует использовать веб сервер в файловом режиме (а только в серверном) - тем не меннее для маленьких предприятий с 2-3 бухгалтерами использование веб сервера на новых конфигурациях с "управляемыми формами" (Бухгалтерия 3.0, Зарплата 3.0 и прочее) - позволяет организовать довольно быстрый доступ к базе сетевых компьютеров, даже если они компьютеры эти по сути уже старый хлам. Важно лишь, что бы основной компьютер с базами и веб сервером был приличный (например Core I3, 8 Гбайт оперативки и SSD диск).

Пошаговое руководство по настройке вебсервера 1С на Apache (включая файловый вариант баз данных)

1. Скачиваем установщик Apache

По каким-то причинам все новые версии (например 2.4.25) Apache перестал выкладывать в виде самораспаковывающегося дистрибутива. Для нас вполне приемлемо использовать не самый последний дистрибутив 2.2.25 - позволяющий получить удобный установщик и избежать дополнительных манипуляций.

Обращаю внимание - нам удобно использовать именно *.msi установщик

По рекомендации пользователя (спасибо, Владимир) выкладываю ссылку на Apache версии 2.4 (www.apachelounge.com) . Также с его слов - если качаете х64, то будьте готовы поставить аналогичную х64 1с платформу и в httpd.conf отредактировать строку LoadModule _1cws_module "C:/Program Files/1cv8/8.3.9.2016/bin/wsap24.dll.
Но сам не рекомендую использовать 64-битную 1С, потому как, с высокой степенью вероятности, возникнут гигантские сложности при подключении торгового оборудования, или каких-то других сторонних библиотек.

Выбираем “no ssl” дистрибутив, если базы будут открыты только внутри нашей локальной сети или “ssl” дистрибутив, если база будет открываться в интернете. Дополнительно про настройку ssl можно почитать в статье инфостарт

В нашем примере будем настраивать сервер без ssl для использования только внутри локальной сети.

2. Запускаем скачанный установщик

Заполняем Network Domain: Localhost, Server name: Localhost

Нажимает NEXT, Setup type: Typical NEXT, NEXT, INSTALL

3. Проверяем запустился ли веб сервер

Для этого открываем любой броузер и указываем адрес страницы http://localhost

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

Выясним IP адрес нашего компьютера в локальной сети. Для этого в нижнем правом углу (рядом с часами) находим иконку локальной сети, кликаем на ней правой кнопкой и открываем "Центр управления сетями и общим доступом"

Выбираем нашу сеть

И нажимаем кнопку "Сведения"

В моем случае адрес компьютера в локальной сети 192.168.0.189

Теперь возвращаемся в броузер и проверяем доступность страницы It Works по IP адресу http://192.168.0.189 (в вашем случае цифры будут отличаться)

Если снова увидели знакомую страницу It Works - все хорошо,

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

Снова пробуем открыть знакомую нам страницу http://192.168.0.189 (у вас цифры другие) но уже с любого другого компьютера в локальной сети.

Если вместо знакомой страницы вы увидели "Не удается получить доступ к сайту" или аналогичное сообщение - выполним настроку брандмауэра. Для этого возвращаемся на тот компьютер, где установлен Apache, заходим в "Панель управления" - "Система и безопасность" - "Брандмауэр Windows" и в левой части экрана щелкаем на "Дополнительные параметры

Кликаем на раздел "Правила для входящих подключений", затем в правой части окна "Создать правило"

Ставим все три галочки

Указываем произвольное имя, например "Веб сервер 80 порт для 1С". Готово .

Снова идем на другие компьютеры и убеждаемся, что теперь по IP адресу http://192.168.0.189 броузер показывает знакомую нам страницу It Works

5. Публикуем нашу базу на веб сервере.

Открываем конфигуратор нашей базы (Запуск 1С обязательно от имени администратора)

Имеется windows-сервер c 1С 8.3 (БД - MSSQL).
Задача - настроить публикацию базы на линуксовом web-сервере.
Тонкости - модуль 1С для апача работает только с 2.0 и 2.2, а текущая версия в большинстве дистрибутивов - 2.4+
Пишется больше для себя, чтобы не забыть. Ну и мало ли, вдруг пригодится еще кому - не придется бегать по форумам в поисках нужных команд.

Железо - дал гигабайт оперативки, одно ядро и 20 гигабайт диска. Увеличить никогда не поздно.
ОС: Debian Stable, привык я к нему.

Ставлю минимум, включая ssh-сервер, но не включая web. К этому еще вернемся.

После установки базовая настройка по вкусу, я обычно ставлю локаль utf8, ставлю sudo, mc и vim, остальное по потребностям.
Дальше надо поставить apache 2.2. Причем сделать это правильным способом, а не просто скачав deb-пакет. :)

Сперва добавляем в /etc/apt/sources.list строчки со ссылкой на предыдущую версию дистрибутива.
deb http://mirror.yandex.ru/debian/ wheezy main deb-src http://mirror.yandex.ru/debian/ wheezy main
Можно, конечно, написать oldstable - в настоящий момент тоже будет правильно. Но только в настоящий, потому рано или поздно выйдет новая стабильная версия и в oldstable и тогда вместо apache 2.2 там будет 2.4. Хотя, надеюсь, к тому времени 1С обновится и заработает с более новыми версиями апача. Но кто их знает? :)
Где mirror.yandex.ru - там пишется имя вашего любимого сервера с репозиторием.

Потом обновляем индексы - apt-get update - и смотрим, что у нас тут есть по apache командой apt-cache showpkg apache2
Там много всего выводится, но нас интересует только начало вывода:
Package: apache2 Versions: 2.4.10-10+deb8u3 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru MD5: 2.4.10-10+deb8u1 (/var/lib/apt/lists/security.debian.org_dists_stable_updates_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru MD5: 2.2.22-13+deb7u6 (/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages MD5: Description Language: en File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-en MD5: Description Language: ru File: /var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-ru MD5:

Видим, что кроме 2.4.10 имеется версия 2.2.22-13+deb7u6 - то, что нужно.
Ставим: apt-get install apache2=2.2.22-13+deb7u6
Или, точнее: apt-get install apache2=2.2.22-13+deb7u6 apache2-mpm-worker=2.2.22-13+deb7u6 apache2.2-common=2.2.22-13+deb7u6 apache2.2-bin=2.2.22-13+deb7u6 , а остальные зависимости уже подтянутся автоматом.

После этого ставим апачей на холд, чтобы не обновить случайно.

Apt-mark hold apache2 apache2-mpm-worker apache2.2-common apache2.2-bin apache2 помечен как зафиксированный. apache2-mpm-worker помечен как зафиксированный. apache2.2-common помечен как зафиксированный. apache2.2-bin помечен как зафиксированный.
Можно запустить service apache2 start и стукнуть телнетом на 80 порт для проверки, если лень браузер запускать.

telnet localhost 80
Trying::1... Connected to localhost. Escape character is "^]". 1 501 Method Not Implemented

Method Not Implemented

1 to /index.html not supported.


Apache/2.2.22 (Debian) Server at 1cweb Port 80
Connection closed by foreign host.

Ругается - значит работает.

Теперь ставим 1С.
Нужны только веб-сервисы 1С (пакет 1c-enterprise83-ws ). И 1c-enterprise83-common , который в зависимостях прописан. И 1c-enterprise83-server , который в зависимостях не прописан, но без него утилита публикации пишет «Ошибка сегментирования».
В принципе, необходим только модуль для апача wsap22.so из пакета 1c-enterprise83-ws , а всё остальное можно через текстовый редактор сделать. Но я человек ленивый и лучше потрачу несколько мегабайт на 1С, чем буду руками вбивать строчки в конфиги. :)

Дальше надо создать папку для хранения настроек опубликованных БД 1С. Можно в дереве вебсервера, но я лучше отдельно сделаю, прямо в корне, /1с.
После этого из папки с установленными файлами 1С (/opt/1C/v8.3/i386 ) запускаем утилиту публикации webinst со следующими параметрами (публикую нашу тестовую базу):
./webinst -apache22 -wsdir testlitupp -dir /1c/testlitupp -connstr "Srvr=10.0.0.4;Ref=testlitupp;" -confPath /etc/apache2/apache2.conf Публикация выполнена

Apache22 - наша версия вебсервера
-wsdir testlitupp - папка на вебсервере, в которой будет доступна опубликованная база (http://вашсервер/testlitupp)
-dir /1c/testlitupp - папка, в которой будет храниться файл default.vrd с настройками публикации
-connstr «Srvr=10.0.0.4;Ref=testlitupp;» - ip сервера 1С и имя публикуемой базы данных
-confPath /etc/apache2/apache2.conf - путь к конфигу apache

Если было написано «Публикация выполнена», значит всё прошло удачно. Если пишет «Ошибка сегментирования», то вы, скорее всего, забыли поставить 1c-enterprise83-server .
По результатам имеем файл default.vrd

И несколько новых строк в файле конфигурации веб-сервера:

LoadModule _1cws_module "/opt/1C/v8.3/i386/wsap22.so" # 1c publication Alias "/testlitupp" "/1c/testlitupp/" AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/1c/testlitupp/default.vrd"
Перезапускаем апач (service apache2 restart) и идём смотреть, что там опубликовалось.
Опубликовалось, просит пароль.

И впускает в базу.

Работает. Дополнительные настройки публикации делаются через редактирование vrd-файлов (к примеру, включение отладки), а допиливанием интерфейса веб-клиента должны заниматься ваши программисты 1С.
Если будете дописывать опции, к примеру, с подключением сервисов руками, то не забудьте удалить в файле default.vrd последний слэш в строчке «base="/testlitupp" ib="Srvr=10.0.0.4;Ref=testlitupp;"/ >», я с этим долго возился. Если не удалить и что-то дописать после, то вылетает «ошибка 500» без дополнительной информации.
Какая будет нагрузка на вебсервер - я ещё не знаю, у нас это пока в тестовом режиме работает и хватает выделенных ресурсов. Но добавить памяти или ядер по мере увеличения потребностей проблем не составит.

В целом, в других дистрибутивах linux всё делается аналогично, различия только в способах установки старой версии apache.