Публикация 1С на Веб сервере Apache Linux
Платформа 1С:Предприятие 8.3 имеет в своем арсенале удобный инструмент удаленного доступа к базе данных через веб-клиент, в качестве которого может выступать любой современный интернет-браузер. Для этого на клиентском компьютере не требуется установка исполняемых файлов программы 1С. Достаточно наличие только браузера. Но для доступа к функционалу 1С через веб-клиент необходимо еще одно звено в серверной архитектуре 1С — это веб-сервер. Кроме работы с базой данных через веб-клиента, установка веб-сервер расширяет возможности интеграции 1С посредством использования web-сервисрв и http-сервисов. Посредством этих механизмов возможно построение гибких механизмов обмена данными, что позволяет реализовать так называемые «бесшовную» интеграцию как между различными конфигурациями 1С, так и между 1С и сторонними приложениями.
Установка веб-сервера Apache под ОС Linux
Рассмотрим установку веб-сервера Apache 2.4 на Linux дистрибутивов RHEL 7/CentOS 7).
1. Заходим на сервер с правами суперпользователя root.
1 |
sudo su root |
2. Если веб-сервер еще не был установлен, то установим его:
1 |
yum install httpd |
3. Отключим SELinux:
1 |
setenforce 0 |
Вместо отключения SELinux при желании можно настроить политику доступа для веб-сервера.
4. Для разрешения входящих сетевых подключений к веб-серверу, либо отключим firewall полностью:
1 |
systemctl stop firewalld |
Либо откроем порт 443.
В случае использования для управления фаерволом утилиты firewalld, которая идет по умолчанию в дистрибуивах RHEL 7/CentOS 7, вводим следующие команды:
1 2 |
firewall-cmd --permanent --zone=public --add-port=443/tcp firewall-cmd --reload |
Если вместо firewalld используется утилита iptables:
1 2 |
iptables -t filter -I INPUT -p tcp --dport 443 -j ACCEPT service iptables save |
5. Выполним запуск сервера Apache 2.4:
1 |
systemctl start httpd |
Установка модуля расширения 1С для веб-сервера
Для работы с 1С через веб-сервер необходимо установить специальный модуль, а также все компоненты сервера 1С, даже если сам сервер 1С расположен у вас на другой машине.
1. Создадим папку /opt/1sserver_8_3_16:
1 |
mkdir /opt/1sserver_8_3_16 |
2. Скопируем туда установочные пакеты платформы требуемого релиза с официального сайта 1С, а так же дополнительные бибилиотеки по работе со шрифтами:
- 1C_Enterprise83-common-8.3.16-1148.x86_64
- 1C_Enterprise83-server-8.3.16-1148.x86_64
- 1C_Enterprise83-ws-8.3.16-1148.x86_64
- fontconfig-2.10.95-11.el7.x86_64.rpm
- msttcorefonts-2.5-1.rpm
3. Перейдем в каталог с дистрибутивами:
1 |
cd /opt/1sserver_8_3_16 |
4. Выполним установку пакетов:
1 2 3 4 5 |
yum localinstall 1C_Enterprise83-common-8.3.16-1148.x86_64.rpm yum localinstall 1C_Enterprise83-server-8.3.16-1148.x86_64.rpm yum localinstall 1C_Enterprise83-ws-8.3.16-1148.x86_64.rpm yum localinstall fontconfig-2.10.95-11.el7.x86_64.rpm yum localinstall msttcorefonts-2.5-1.rpm |
Публикация 1С на веб-сервере
Фирма «1С» автоматизировала процесс публикации на веб сервере базы данных и web- http-сервисов в конфигураторе, где это можно сделать через графический интерфейс. Но для этого необходимо чтобы конфигуратор был запущен на компьютере где установлен веб-сервер. По понятным причинам это не всегда возможно. Поэтому 1С предлагает использовать консольную утилиту webinst которая позволяет в полу-ручном режиме выполнить публикацию. Однако для публикации web- и http-сервисов этой утилитой все равно надо создать файл-шаблон публикации нужных сервисов через конфигуратор и потом указать этот файл утилите webinst. В принципе вся публикация заключается в создании конфигурационного файла публикации 1С и внесения определенных настройке в файл конфигурации веб-сервера httpd.conf, что можно сделать и в ручном режиме.
Быстрая публикация базы на веб-сервере
Рассмотрим процесс «быстрой» публикации базы 1С на веб-сервере:
1. Под правами суперпользователя root.
1 |
sudo su root |
2. Переходим в каталог.
1 |
cd /opt/1C/v8.3/x86_64 |
3. Опубликуем базу «base» на сервере «1s-on-1c-1» в каталог /var/www/e1c/ утилитой webinst:
1 |
./webinst -apache24 -wsdir base -dir /var/www/e1c/ -connstr "Srvr=1s-on-1c-1;Ref=base;" -confPath /etc/httpd/conf/httpd.conf |
Если видим:
1 |
Publication successful |
Значит публикация прошла успешно.
4. Перезапустим веб-сервер.
1 |
systemctl restart httpd |
Ручная публикация базы, web- и http- сервисов 1С на веб-сервере
Все настройки по публикации можно выполнить ручным изменением конфигурационных файлов. Можно так же сначала воспользоваться утилитой webinst, а потом просто дописать в конфигурационные файлы необходимые изменения. Рассмотрим вариант «ручной» публикации:
1. Зайдем под суперпользователем root.
1 |
sudo su root |
2. Отредактируем конфигурационный файл веб-сервера httpd.conf
1 |
vim /etc/httpd/conf/httpd.conf |
Добавим в него строки подключения модуля расширения 1С:
1 |
LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap24.so" |
Для удобства последующего администрирования вынесем настройки 1С в отдельные конфигурационные файлы. Пропишем их подключение:
1 |
IncludeOptional e1c/*.conf |
Сохраняем изменения в httpd.conf.
3. Создаем каталоги для конфигурационных файлов и файлов публикаций 1С:
1 2 |
mkdir /etc/httpd/e1c/ mkdir /var/www/e1c/ |
4. Создаем директорию по имени базы в каталоге /var/www/e1c/ (например у нас база с именем «base»):
1 |
mkdir /var/www/e1c/base |
5. Создаем конфигурационный файл по имени базы base.conf и поместим его в каталог /etc/httpd/e1c/. Данный файл ранее мы подключили в файле httpd.conf:
1 |
vim /etc/httpd/e1c/base.conf |
6. Внесем в него описание каталога с нашей публикацией 1С расположенной в файле default.vrd:
1 2 3 4 5 6 7 8 |
Alias "/base" "/var/www/e1c/base/" <Directory "/var/www/e1c/base/"> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor "/var/www/e1c/base/default.vrd" </Directory> |
7. Создадим в каталоге /var/www/e1c/base/ файл default.vrd с публикацией 1С:
1 |
vim /var/www/e1c/base/default.vrd |
8. Внесем в него следующие строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?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" ib="Srvr=1s-on-1c-1; Ref=base"> <ws> <point name="ws_1s_on_1" alias="ws_1s_on_1.1cws" enable="true"/> <point name="ws_1s_on_2" alias="ws_1s_on_2.1cws" enable="true"/> </ws> <httpServices> <service name = "http_service" rootUrl="http_service" enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5" /> </httpServices> </point> |
В этом файле мы прописали публикацию базы «base», а так же публикацию двух web-сервисов «ws_1s_on_1» и «ws_1s_on_2».
Для базы указывается:
Строка подключения в виде: «Srvr=1s-on-1c-1; Ref=base»;
Для web –сервисов указывается:
point name= «ws_1s_on_1» – имя сервиса в конфигураторе,
alias= «ws_1s_on_1.1cws» – это имя по которому будем обращаться к web -сервису чрез HTTP-запрос,
enable= «true» — включаем режим доступности веб-сервиса.
Для http-сервисов можно указать пустой тег:
<httpServices></httpServices>
Так мы публикуем все http-сервисы информационной базы.
9. Перезапускаем веб-сервер:
1 |
service httpd restart |
Проверка работы публикации базы и web -сервисов
Проверим корректность настроек, и, соответственно, работу публикаций:
1. Наберем в браузере адрес нашей базы 1С — https://1s-on-web-1/base
здесь:
1s-on-web-1 – имя компьютера, на котором установлен веб-сервер.
base – имя которое мы задали как псевдоним для каталога публикации информационной базы 1С:Предприятия(в данном случае оно совпадает с именем самой базы).
Если видим окно запуска 1С:Предприятия. Значит все хорошо. База опубликована и доступна для работы через веб-клиент.
2. Попробуем обратиться к web-сервису из браузера. Введем адрес — https://1s-on-web-1/base/ws/ws_1s_on_1.1cws. Если требуется аутентификация, то отобразится окно запроса пользователя и пароля:
После авторизации должно отобразиться ответ веб-сервера с описанием веб-сервиса. Если видим это описание, значит публикация веб-сервиса прошла успешно.
Еще можно посмотреть
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Ошибка в типовой интеграция 1С:ЗУП с 1С:Документооборот
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.
- Хранение файлов 1С в томах на nfs-шаре Linux