Публикация веб-сервисов на Apache 2.2

Последние изменения: 13.12.2016

Веб-сервисы 1С можно опубликовать на IIS и на Apache 2.2. В этой статье мы рассмотрим публикацию веб-сервисов на apache.

1. Скачиваем дистрибутив Apache 2.2 с официального сайта: https://httpd.apache.org/download.cgi

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

3. Далее начинается процесс установки. Соглашаемся с условиями лицензионного соглашения.

Следующее окно - описание.

4. Здесь необходимо заполнить наименование домена, имя сервера и указать электронную почту системного администратора.

5. Выбираем обычную установку.

6. Указываем путь, куда будет установлен сервер.

7. Все готово для установки, нажимаем Install

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

После установки появится значок программы в трее, а так же будет запущена соответствующая служба.

Значок в трее

Пуск - Панель управления - Администрирование - Службы

Важно! Если служба не запущена, её нужно обязательно запустить.

Теперь сделаем публикацию веб-сервиса на примере 1CHotelAccountingInterfaces.1cws, который используется для выгрузки в бухгалтерию.

1. Необходимо запустить конфигуратор от имени системного администратора в ОС и зайти под учетной записью системного администратора.

2. Заходим в раздел Администрирование - Публикация на веб-сервере.

Имя - имя используемой публикации.

Веб-сервер - Либо IIS, либо Apache. В нашем случае Apache.

Каталог - необходимо указать каталог где будет сохранена публикация 1С.

Указываем флаги:

  • Публиковать web-сервисы по умолчанию
  • Публиковать web-сервисы: AccountingInterfaces

Нажимаем "Опубликовать".

3. Программа сообщит о том, что публикация выполнена и предложит перезапустить веб-сервер. Соглашаемся.

4. Нужно проверить работоспособность публикации локально. Для этого переходим в браузере по адресу: http://localhost/acc/ws/1CHotelAccountingInterfaces.1cws?wsdl

Должен появиться запрос ввода логина/пароля для базы данных 1С.

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

  1. Анонимная аутентификация.
  2. От определенного пользователя в ОС.
  3. От определенного пользователя в базе 1С.
5.1.  Анонимная аутентификация.Сейчас нужно проверить журнал регистрации на момент попытки входа.

Добавляем нового пользователя, например Фоновый. Устанавливаем флаг "Аутентификация операционной системы:" и прописываем данные для подключения из предыдущего скриншота.

На вкладке "Прочие" указываем:

  • Роль - BackgroundMode
  • Интерфейс - BackgroundMode
  • Язык - русский (не принципиально)

5.2. Аутентификация из под определенной учетной записи ОС. На данный момент вход в систему осуществляется под системным пользователем. Если нужно указать вход в систему под другим пользователем windows, то в настройках службы Apache 2.2, для входа в систему задаем другого пользователя. Например, создадим учетную запись Apache в ОС и укажем её в настройках службы.

Теперь вход в базу осуществляется под этим пользователем.

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

5.3. Аутентификация от определенного пользователя в базе 1С. Возможен еще один вариант аутентификации - в конфигурационном файле публикации явно указать логин и пароль от учетной записи базы 1С. При такой настройке обязательно у пользователя, под которым будет работать публикация указывать Роль - BackgroundMode, Интерфейс - BackgroundMode. Флаг "Аутентификация операционной системы" снимаем.

При утечке пароля третьим лицам, с такими настройками пользователя в интерфейсе предприятия увидеть какие-либо данные невозможно.

Далее перейдите в папку с публикацией, и откройте файл default.vrd


В строке с данными для подключения ИБ добавьте логин и пароль от пользователя 1С.

Примечание: Такая настройка используется если нужно несколько разных публикаций развести на разных пользователей в базе 1С. Например, для интеграции с channel-менеджером Travelline один пользователь, для броней, созданных на вашем сайте через модуль-онлайн бронирования - другой пользователь. Тогда в каждом конфигурационном файле публикации прописываем разных пользователей 1С.

Две публикации, в каждой задан свой пользователь:

В бруезере:

В журнале регистрации:


6. Независимо от варианта аутентификации, при повторном входе по адресу http://localhost/acc/ws/1CHotelAccountingInterfaces.1cws?wsdl , браузер не запрашивает логин/пароль, а открывает нужный xml-файл.

Для использования внутри локальной сети веб-сервис готов.

Если требуется внешний доступ к этому веб-сервису, то на сетевом оборудовании требуется сделать перенаправление по 80 порту на компьютер, где установлен веб-сервер.

Помогла ли вам статья?