Публикация 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. Если требуется аутентификация, то отобразится окно запроса пользователя и пароля:
После авторизации должно отобразиться ответ веб-сервера с описанием веб-сервиса. Если видим это описание, значит публикация веб-сервиса прошла успешно.
Еще можно посмотреть
Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
Практический пример настройки Postgre SQL для непрерывного архивирования баз данных 1С Предприятия на ОС Linux
Администрирование серверов 1С на Linux
Привычным для нас инструментом управления кластером серверов 1С является консоль «Администрирование серверов 1С Предприятия» — «Microsoft Management Console». Данная консоль позволяет выполнять все необходимые действия по администрированию кластеров серверов 1С:Предприятия. Но, она имеет один недостаток – её невозможно использовать под ОС Linux. Но не все так плохо. Альтернативными средствами администрирования серверов 1С на Linux являются: […]
Ошибки на клиенте при подключении к серверу 1С на Linux. Часть 1
Рассмотрены ошибки при подключении к серверу 1С на Linux. Изложена методика поиска причин и путей их исправления
Ошибки сервера 1С на Linux
Описание типичных ошибок которые возникают при запуске службы сервера 1С на Linux и пути их исправления
Подключение репозитория под ОС Linux
Инструкции по подключению репозитория как под CentOS так и под РЕД ОС.
Основы работы в Linux
Основы работы в Linux. Как подключиться к серверу. Как скопировать файлы на сервер. Редактирование конфигурационных файлов.
Проверка рабочих процессов сервера 1С на Linux
Как проверить на Linux запущены ли процессы сервера 1С. Проверка открытых портов сервера 1С
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Ошибка в типовой интеграция 1С:ЗУП с 1С:Документооборот
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.
- Хранение файлов 1С в томах на nfs-шаре Linux