Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.

Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).

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

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

О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.

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

Итак, что делать, если не получается опубликовать веб-сервис 1С?

Список возможных ошибок:

1. Job for httpd.service failed because the control process exited with error code.

2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

3. Ошибка «Invalid command ‘ManagedApplicationDescriptor'»

4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»

5. Ошибка HTTP 404 Not found

6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Job for httpd.service failed because the control process exited with error code.

Полный текст ошибки:

Описание ошибки:

После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.

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

Решение:

Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.

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

Разбор, которых приведен в статье далее.

Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

Полный текст ошибки:

Описание ошибки:

Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.

Решение:

Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.

Пример ошибочной строки. Команды forceHandler  — на самом деле не существует :

Исправим файл. Укажем корректное наименвоание команды — SetHandler:

Ошибка «Invalid command ‘ManagedApplicationDescriptor'»

Полный текст ошибки:

Описание ошибки:

Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».

В этом можно убедиться выполнив команду.

Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует  —  модуль не прописан.

Решение:

Отредактировать конфигурационный файл httpd.conf

Добавить строку:

Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»

Полный текст ошибки:

Описание проблемы:

При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») —  сеанс не запускается.

Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).

Решение:

1. Убедиться, что selinux, действительно, работает.

Если видим Enforcing, значит переходим к следующему пункту.

2. Отключить selinux:

3. Проверить, что настройка выполнена.

Permissive – включен, но ничего не запрещает.

Enforcing – включен, работает, и запрещает.

Ошибка HTTP 404 Not found

Описание:

После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.

Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.

Решение:

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

Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.

Проверить имена публикации базы(выделено):

1. Конфигурационный файл *.conf:

следующего содержания:

2. Конфигурационный файл публикации базы *.vrd

следующего содержания:

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису.

Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws

Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Пример полного текста ошибки:

Описание:

При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

Решение:

Проверить имена веб-сервисов и ссылок на них.

    1. Конфигурационный файл публикации базы *.vrd

следующего содержания:

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.

В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.