1С8:Публикация информационной базы 1С на веб-сервере — различия между версиями
Rebot (обсуждение | вклад) |
(→См. также) |
||
(не показано 79 промежуточных версий 9 участников) | |||
Строка 1: | Строка 1: | ||
− | [[Категория: | + | <noinclude>[[Категория: Установка и обновление|*08]] [[Категория: Мобильные приложения]]</noinclude> |
+ | {| align="right" | ||
+ | | __TOC__ | ||
+ | |} | ||
+ | Публикация информационной базы 1С на веб-сервере нужна для того, чтобы: | ||
+ | * работать с базой удаленно по интернету; | ||
+ | * подключаться к базе, используя мобильные приложения. | ||
+ | {{notice|Действия выполняются на сервере под правами администратора. Для работы по интернету необходимо, чтобы было настроено сетевое оборудование.}} | ||
+ | == Порядок публикации ИБ == | ||
+ | Порядок действий: | ||
+ | # Выполните установку веб-сервера IIS или Apache. | ||
+ | #* IIS работает быстрее, чем Apache. (https://forum.infostart.ru/forum9/topic222705/) | ||
+ | #* Apache. Рекомендуется к установке версия 2.4. Разрядность должна соответствовать разрядности клиентской платформы 1С. | ||
+ | # Запустите службу Apache на сервере и проверьте доступность: с компьютера, находящегося в одной сети с сервером, в адресной строке браузера введите адрес сервера или его имя. Должна загрузиться страница с текстом «It's work!». | ||
+ | # На сервере запустите публикуемую базу в режиме конфигуратора. Выберите пункт меню '''Администрирование — Публикация на веб-сервере'''. | ||
+ | # Заполните параметры: | ||
+ | #* Укажите имя публикации. Выберите каталог для сохранения данных публикации, по которому она будет доступна по сети. | ||
+ | #* Если снять галочку «'''Публиковать доступ для клиентских приложений'''», то к базе будет невозможно подключиться по веб-ссылке в обычном пользовательском режиме через браузер или платформу. Такой вариант публикации базы выбирают, если требуется опубликовать только HTTP-сервис, например, API. | ||
+ | # Закладку '''Web-сервисы''' оставьте без изменений. На закладке '''http-сервисы''' выберите необходимые сервисы и нажмите кнопку '''''Опубликовать'''''. | ||
+ | #: [[Файл:ФАЙЛ РАСШИРЕНИЙ.png|600px]] | ||
+ | #* Включите галочку '''KintAPI''' (KintAPI.hs), если планируется подключение к этой базе по [[API (КУС)]]. | ||
+ | <!--#* '''WubookPushNotification''' — для интеграции с онлайн-бронированием WuBook.--> | ||
+ | #* '''ЕГИСЗ''' — для интеграции с системой [https://egisz.rosminzdrav.ru/ https://egisz.rosminzdrav.ru/]. | ||
+ | # В адресной строке браузера наберите http://[адрес_сервера]/[имя_публикации]. | ||
+ | {{notice|'''Важно'''. В дальнейшем в настройке нужно использовать имя публикации точно такое, с каким она была опубликована — соблюдая регистр символов.}} | ||
+ | Если база успешно опубликована и веб-сервер запущен, появится окно ввода логина и пароля пользователя для входа в вашу базу. Пользователь должен быть добавлен в список пользователей информационной базы.<br> | ||
− | + | Если произвести авторизацию не представляется возможным, можно произвести публикацию базы с беcпарольной аутентификацией (когда пользователь и его пароль прописаны на веб-сервере в '''<code>default.vrd</code>'''), но в этом случае следует учитывать, что любой пользователь, у которого будет ссылка на неё, сможет заходить в базу через режим 1С: Предприятие, если соответствующие права у него имеются. Для отключения запроса пароля нужно в файле публикации Default.vrd прописать логин/пароль по умолчанию, пример: ib="Srvr="SERVERNAME";Ref="BASE_NAME";usr="Администратор";pwd="12345";enable="false";". | |
− | + | == Возможные проблемы == | |
− | + | * Публикация базы на IIS не работает. | |
− | * | + | ** Решение: проверить разрядность wsisapi.dll (Модуль расширения веб-сервера 1С). Возможно в файле web.config публикации прописана ссылка на dll из другой разрядности. Должно соответствовать разрядность платформы. Попробовать добавить/убрать "(x86)" |
+ | : [[Файл:Ошибка публикации путь к dll.png]] | ||
− | |||
− | *на | + | * После обновления платформы не работает расширение для обмена данными. |
+ | ** Решение: проверьте установлены ли права на использование HTTP-сервиса и назначена ли пользователю соответствующая роль. | ||
+ | :: Для этого: | ||
+ | : 1. В 1С:Конфигураторе откройте настройки расширения «Кинт: Обмен данными». | ||
+ | : 2. Раскройте ветку HTTP-сервиса «ОбменДанными_API». | ||
+ | : 3. Откройте дополнительные свойства для метода «GetData». | ||
− | + | : [[Файл:Конфигуратор HTTP-сервисы Дополнительно.png]] | |
+ | |||
+ | : 4. Во вкладке «Права» установите флаг на право использования. | ||
+ | |||
+ | : [[Файл:Конфигуратор HTTP-сервисы Дополнительно2.png]] | ||
+ | |||
+ | : 5. Повторите шаги 3 и 4 для метода «PostData». | ||
+ | : 6. В меню «Администрирование» откройте список пользователей. | ||
+ | : 7. Откройте настройки пользователя и на вкладке «Прочие» в списке доступных ролей установите флаг на роли «ОбменДанными_ОсновнаяРоль». | ||
+ | |||
+ | : [[Файл:Конфигуратор Роль пользователя.png]] | ||
+ | |||
+ | == Коды ошибок при работе с веб-сервером == | ||
+ | '''500''' — ошибка доступа к веб-сервису. Для исправления обычно достаточно переопубликовать информационную базу на веб-сервере. Подробнее посмотреть можно в логах веб-сервера error.log | ||
+ | : Если у вас на сервере используется операционная система Astra Linux и в логе ошибок зафиксирована проблема '''Authentication not configured''', то: | ||
+ | :: Для версии ОС 1.6, 1.7, 4.7, 8.1 Отключение авторизации можно задать в файле /etc/apache2/apache2.conf поменять строку #AstraMode on на AstraMode off. | ||
+ | '''Syntax error on line ХХХ of /etc/apache2/apache2.conf: API module structure '_1cws_module' in file /opt/1cv8/x86_64/8.3.24.1368/wsap22.so is garbled - expected signature 41503234 but saw 41503232 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version?''' - в настройках публикации базы данных 1С указана версию Apache отличная от установленной. Необходимо перепубликовать базу данных на установленную версию вебсервера. | ||
+ | : [[Файл:Выбор вебсервера для публикации.png]] | ||
+ | |||
+ | == Публикация базы без авторизации == | ||
+ | Отключение авторизации — только часть мероприятий по настройке публикации. Обычно требуется для обеспечения работы отдельных http-сервисов. Например, KintAPI или ЕГИСЗ. При отключении авторизации в обязательном порядке необходимо отключить публикацию доступа для клиентских приложений. Рекомендуем в настройках публикации оставить активным только публикуемый сервис. | ||
+ | |||
+ | [[Файл:Kintapipub.png]] | ||
+ | |||
+ | Так будут выглядеть настройки публикации для сервися KintAPI. | ||
+ | |||
+ | Когда база будет опубликована, в указанном для публикации каталоге будет создан файл default.vrd. Найдите в файле строку с параметром ib и отредактируйте его значение. Допишите usr=Логин;pwd=Пароль. Где логин — это имя пользователя с которым при работе с сервисом будет происходить авторизация, а Пароль — пароль к этой учётной записи. | ||
+ | |||
+ | [[Файл:Authdisabled.png]] | ||
+ | |||
+ | == Как опубликовать одну базу 1с на веб-сервисе несколько раз == | ||
+ | При публикации отдельных web или http-сервисов может потребоваться отключение авторизации и доступа клиентских приложений. Если при этом необходимо обеспечить работу с публикацией базы 1С через тонкий или web-клиент, требуется создать отдельную публикацию. Для этого: | ||
+ | * Запустите «1С:Предприятие». | ||
+ | * Добавьте информационную базу в список ещё раз, указав другое наименование. | ||
+ | * Запустите базу в режиме Конфигуратора. | ||
+ | * Выберите пункт меню '''Администрирование — Публикация на веб-сервере'''. | ||
+ | * Укажите имя публикации (не должно повторять имя первой публикации). | ||
+ | * Укажите каталог публикации (необходимо создать отдельный каталог для этой публикации). | ||
+ | * Завершите публикацию, нажав кнопку '''''Опубликовать'''''. | ||
+ | |||
+ | == См. также == | ||
+ | * [https://its.1c.ru/db/v8318doc#bookmark:adm:TI000000196 Описание процесса публикации базы] | ||
+ | * \\demo\Видеозаписи\Широбоков Сергей\Как опубликовать базу на ENTRY.mp4 — памятка для сотрудников Кинт | ||
+ | * [https://youtu.be/4RdZJmBsEJ4 Видео "Обмен данными между «Кинт: Управление санаторием» и «1С:Бухгалтерия 8» через API"] |
Текущая версия на 09:18, 2 июля 2025
Публикация информационной базы 1С на веб-сервере нужна для того, чтобы:
- работать с базой удаленно по интернету;
- подключаться к базе, используя мобильные приложения.
Действия выполняются на сервере под правами администратора. Для работы по интернету необходимо, чтобы было настроено сетевое оборудование. |
Порядок публикации ИБ
Порядок действий:
- Выполните установку веб-сервера IIS или Apache.
- IIS работает быстрее, чем Apache. (https://forum.infostart.ru/forum9/topic222705/)
- Apache. Рекомендуется к установке версия 2.4. Разрядность должна соответствовать разрядности клиентской платформы 1С.
- Запустите службу Apache на сервере и проверьте доступность: с компьютера, находящегося в одной сети с сервером, в адресной строке браузера введите адрес сервера или его имя. Должна загрузиться страница с текстом «It's work!».
- На сервере запустите публикуемую базу в режиме конфигуратора. Выберите пункт меню Администрирование — Публикация на веб-сервере.
- Заполните параметры:
- Укажите имя публикации. Выберите каталог для сохранения данных публикации, по которому она будет доступна по сети.
- Если снять галочку «Публиковать доступ для клиентских приложений», то к базе будет невозможно подключиться по веб-ссылке в обычном пользовательском режиме через браузер или платформу. Такой вариант публикации базы выбирают, если требуется опубликовать только HTTP-сервис, например, API.
- Закладку Web-сервисы оставьте без изменений. На закладке http-сервисы выберите необходимые сервисы и нажмите кнопку Опубликовать.
- Включите галочку KintAPI (KintAPI.hs), если планируется подключение к этой базе по API (КУС).
- ЕГИСЗ — для интеграции с системой https://egisz.rosminzdrav.ru/.
- В адресной строке браузера наберите http://[адрес_сервера]/[имя_публикации].
Важно. В дальнейшем в настройке нужно использовать имя публикации точно такое, с каким она была опубликована — соблюдая регистр символов. |
Если база успешно опубликована и веб-сервер запущен, появится окно ввода логина и пароля пользователя для входа в вашу базу. Пользователь должен быть добавлен в список пользователей информационной базы.
Если произвести авторизацию не представляется возможным, можно произвести публикацию базы с беcпарольной аутентификацией (когда пользователь и его пароль прописаны на веб-сервере в default.vrd
), но в этом случае следует учитывать, что любой пользователь, у которого будет ссылка на неё, сможет заходить в базу через режим 1С: Предприятие, если соответствующие права у него имеются. Для отключения запроса пароля нужно в файле публикации Default.vrd прописать логин/пароль по умолчанию, пример: ib="Srvr="SERVERNAME";Ref="BASE_NAME";usr="Администратор";pwd="12345";enable="false";".
Возможные проблемы
- Публикация базы на IIS не работает.
- Решение: проверить разрядность wsisapi.dll (Модуль расширения веб-сервера 1С). Возможно в файле web.config публикации прописана ссылка на dll из другой разрядности. Должно соответствовать разрядность платформы. Попробовать добавить/убрать "(x86)"
- После обновления платформы не работает расширение для обмена данными.
- Решение: проверьте установлены ли права на использование HTTP-сервиса и назначена ли пользователю соответствующая роль.
- Для этого:
- 1. В 1С:Конфигураторе откройте настройки расширения «Кинт: Обмен данными».
- 2. Раскройте ветку HTTP-сервиса «ОбменДанными_API».
- 3. Откройте дополнительные свойства для метода «GetData».
- 4. Во вкладке «Права» установите флаг на право использования.
- 5. Повторите шаги 3 и 4 для метода «PostData».
- 6. В меню «Администрирование» откройте список пользователей.
- 7. Откройте настройки пользователя и на вкладке «Прочие» в списке доступных ролей установите флаг на роли «ОбменДанными_ОсновнаяРоль».
Коды ошибок при работе с веб-сервером
500 — ошибка доступа к веб-сервису. Для исправления обычно достаточно переопубликовать информационную базу на веб-сервере. Подробнее посмотреть можно в логах веб-сервера error.log
- Если у вас на сервере используется операционная система Astra Linux и в логе ошибок зафиксирована проблема Authentication not configured, то:
- Для версии ОС 1.6, 1.7, 4.7, 8.1 Отключение авторизации можно задать в файле /etc/apache2/apache2.conf поменять строку #AstraMode on на AstraMode off.
Syntax error on line ХХХ of /etc/apache2/apache2.conf: API module structure '_1cws_module' in file /opt/1cv8/x86_64/8.3.24.1368/wsap22.so is garbled - expected signature 41503234 but saw 41503232 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version? - в настройках публикации базы данных 1С указана версию Apache отличная от установленной. Необходимо перепубликовать базу данных на установленную версию вебсервера.
Публикация базы без авторизации
Отключение авторизации — только часть мероприятий по настройке публикации. Обычно требуется для обеспечения работы отдельных http-сервисов. Например, KintAPI или ЕГИСЗ. При отключении авторизации в обязательном порядке необходимо отключить публикацию доступа для клиентских приложений. Рекомендуем в настройках публикации оставить активным только публикуемый сервис.
Так будут выглядеть настройки публикации для сервися KintAPI.
Когда база будет опубликована, в указанном для публикации каталоге будет создан файл default.vrd. Найдите в файле строку с параметром ib и отредактируйте его значение. Допишите usr=Логин;pwd=Пароль. Где логин — это имя пользователя с которым при работе с сервисом будет происходить авторизация, а Пароль — пароль к этой учётной записи.
Как опубликовать одну базу 1с на веб-сервисе несколько раз
При публикации отдельных web или http-сервисов может потребоваться отключение авторизации и доступа клиентских приложений. Если при этом необходимо обеспечить работу с публикацией базы 1С через тонкий или web-клиент, требуется создать отдельную публикацию. Для этого:
- Запустите «1С:Предприятие».
- Добавьте информационную базу в список ещё раз, указав другое наименование.
- Запустите базу в режиме Конфигуратора.
- Выберите пункт меню Администрирование — Публикация на веб-сервере.
- Укажите имя публикации (не должно повторять имя первой публикации).
- Укажите каталог публикации (необходимо создать отдельный каталог для этой публикации).
- Завершите публикацию, нажав кнопку Опубликовать.
См. также
- Описание процесса публикации базы
- \\demo\Видеозаписи\Широбоков Сергей\Как опубликовать базу на ENTRY.mp4 — памятка для сотрудников Кинт
- Видео "Обмен данными между «Кинт: Управление санаторием» и «1С:Бухгалтерия 8» через API"