1с http сервис публикация linux

Настройка веб-сервера Apache под Linux


План работ:


  1. Установка Apache под Linux.
  2. Выпуск самоподписанного сертификата (Необязательно).
  3. Публикация информационной базы.
  4. Проверка публикации.

В отличие от IIS, веб-сервер Apaсhe доступен как для Windows, так и для Linux и позволяет настроить работу публикаций по шифрованному протоколу HTTP.

1. Установка Apache под Linux

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

В данной статье не рассматривается установка и запуск Apache под всевозможные семейства операционных систем Linux. При использовании операционной системы отличной от указанной в статье следуют руководствоваться официальной документацией конкретного вашего дистрибутива.

Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:

В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка «Run ‘apt list –upgradable’»):

По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.

После этого нужно выполнить команду:

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

Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):

В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режим и можно переходить к публикации информационной базы с помощью командного интерпретатора bash, либо к генерации самоподписанного сертификата (если в этом есть необходимость).

2. Выпуск самоподписанного сертификата

После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.

Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:

После чего требуется ввести команду генерации сертификата, где вместо нужно подставить имя компьютера, на котором планируется размещен Apache:

Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).

3. Публикация информационной базы

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

Если до этого сервер «1С:Предприятие» был уже установлен на данном компьютере, то следующие 2 шага можно пропустить. Иначе в качестве подготовительной работы нужно скачать последний доступный дистрибутив платформы и распаковать его временную директорию с помощью команды:

После разархивирования нужно инициировать процедуру установки пакетов.

Как только все готово, необходимо перейти к публикации информационной базы. Для этого требуется перейти в директорию установленной платформы и выполнить команду:

В директории платформы следом нужно выполнить команду:

где нужно заменить:

ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации

ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие

ИМЯ БАЗЫ – на имя базы, совпадающим с именем базы зарегистрированной в кластере

После этого следует перейти в директорию публикаций:

С помощью любого удобного редактора нужно отредактировать файл 000-default.conf и добавить в самый конец файла следующий текст настройки:

После добавления нужно сохранить и закрыть файл и выполнить команду для включения модуля ssl для Apache:

И после этого нужно перезапустить Apache и убедиться, что ошибок не возникает.

4. Проверка публикации

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

  • Имя вашего сервера (например, server2).
  • Имя публикации базы (которое было указано в окне настройки публикации).

Для таких параметров ссылка будет иметь вид:

Источник

Публикация базы 1С на стороннем web-сервере

Имеется windows-сервер c 1С 8.3 (БД — MSSQL).
Задача — настроить публикацию базы на линуксовом web-сервере.
Тонкости — модуль 1С для апача работает только с 2.0 и 2.2, а текущая версия в большинстве дистрибутивов — 2.4+
Пишется больше для себя, чтобы не забыть. Ну и мало ли, вдруг пригодится еще кому — не придется бегать по форумам в поисках нужных команд.

Железо — дал гигабайт оперативки, одно ядро и 20 гигабайт диска. Увеличить никогда не поздно.
ОС: Debian Stable, привык я к нему.

Ставлю минимум, включая ssh-сервер, но не включая web. К этому еще вернемся.

После установки базовая настройка по вкусу, я обычно ставлю локаль utf8, ставлю sudo, mc и vim, остальное по потребностям.
Дальше надо поставить apache 2.2. Причем сделать это правильным способом, а не просто скачав deb-пакет. 🙂

Сперва добавляем в /etc/apt/sources.list строчки со ссылкой на предыдущую версию дистрибутива.

Можно, конечно, написать oldstable — в настоящий момент тоже будет правильно. Но только в настоящий, потому рано или поздно выйдет новая стабильная версия и в oldstable и тогда вместо apache 2.2 там будет 2.4. Хотя, надеюсь, к тому времени 1С обновится и заработает с более новыми версиями апача. Но кто их знает? 🙂
Где mirror.yandex.ru — там пишется имя вашего любимого сервера с репозиторием.

Потом обновляем индексы — apt-get update — и смотрим, что у нас тут есть по apache командой apt-cache showpkg apache2
Там много всего выводится, но нас интересует только начало вывода:

Видим, что кроме 2.4.10 имеется версия 2.2.22-13+deb7u6 — то, что нужно.
Ставим: apt-get install apache2=2.2.22-13+deb7u6
Или, точнее: apt-get install apache2=2.2.22-13+deb7u6 apache2-mpm-worker=2.2.22-13+deb7u6 apache2.2-common=2.2.22-13+deb7u6 apache2.2-bin=2.2.22-13+deb7u6, а остальные зависимости уже подтянутся автоматом.

После этого ставим апачей на холд, чтобы не обновить случайно.

Можно запустить service apache2 start и стукнуть телнетом на 80 порт для проверки, если лень браузер запускать.

telnet localhost 80

Ругается — значит работает.

Теперь ставим 1С.
Нужны только веб-сервисы 1С (пакет 1c-enterprise83-ws). И 1c-enterprise83-common, который в зависимостях прописан. И 1c-enterprise83-server, который в зависимостях не прописан, но без него утилита публикации пишет «Ошибка сегментирования».
В принципе, необходим только модуль для апача wsap22.so из пакета 1c-enterprise83-ws, а всё остальное можно через текстовый редактор сделать. Но я человек ленивый и лучше потрачу несколько мегабайт на 1С, чем буду руками вбивать строчки в конфиги. 🙂

Дальше надо создать папку для хранения настроек опубликованных БД 1С. Можно в дереве вебсервера, но я лучше отдельно сделаю, прямо в корне, /1с.
После этого из папки с установленными файлами 1С (/opt/1C/v8.3/i386) запускаем утилиту публикации webinst со следующими параметрами (публикую нашу тестовую базу):

-apache22 — наша версия вебсервера
-wsdir testlitupp — папка на вебсервере, в которой будет доступна опубликованная база (http://вашсервер/testlitupp)
-dir /1c/testlitupp — папка, в которой будет храниться файл default.vrd с настройками публикации
-connstr «Srvr=10.0.0.4;Ref=testlitupp;» — ip сервера 1С и имя публикуемой базы данных
-confPath /etc/apache2/apache2.conf — путь к конфигу apache

Если было написано «Публикация выполнена», значит всё прошло удачно. Если пишет «Ошибка сегментирования», то вы, скорее всего, забыли поставить 1c-enterprise83-server.
По результатам имеем файл default.vrd

И несколько новых строк в файле конфигурации веб-сервера:

Перезапускаем апач (service apache2 restart) и идём смотреть, что там опубликовалось.
Опубликовалось, просит пароль.

И впускает в базу.

Работает. Дополнительные настройки публикации делаются через редактирование vrd-файлов (к примеру, включение отладки), а допиливанием интерфейса веб-клиента должны заниматься ваши программисты 1С.
Если будете дописывать опции, к примеру, с подключением сервисов руками, то не забудьте удалить в файле default.vrd последний слэш в строчке «base=»/testlitupp» ib=»Srvr=10.0.0.4;Ref=testlitupp;» / >», я с этим долго возился. Если не удалить и что-то дописать после, то вылетает «ошибка 500» без дополнительной информации.
Какая будет нагрузка на вебсервер — я ещё не знаю, у нас это пока в тестовом режиме работает и хватает выделенных ресурсов. Но добавить памяти или ядер по мере увеличения потребностей проблем не составит.

В целом, в других дистрибутивах linux всё делается аналогично, различия только в способах установки старой версии apache.

Источник

Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux

Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов.

Что такое web-сервисы 1с?

Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем. По сути — это возможность создать html страницу с данными, к которой, потом можно обратиться любым другим приложением и забрать их.

Плюсы — работает быстро (даже при достаточно большом объеме данных), относительно удобно.

Минусы — ваш програмист 1с будет много и долго на вас ворчать, пока будет писать веб-сервис для вашей базы. Штука очень своеобразная в написании.

Я не буду рассказывать как написать веб-сервис… я расскажу как его опубликовать на Linux из консоли сервера, а так же немного про установку 1с сервера на Linux.

И так, у нас есть debian 9 netinst, приступаем:

Устанавливаем PostgresPro (Прошу заметить что он не бесплатный, и распространяется, только в рамках ознакомления с возможностями):

Скажем postgresql слушать все адреса а не только localhost

Раскомментируем и поменяем какие адреса слушать:

Далее разрешим авторизоваться пользователям из нашей сети

# IPv4 local connections:
host all all 127.0.0.1/32 md5

host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5

Более подробно о различных установках Postgres для 1с можно почитать тут.

Далее ставим 1с сервер.

Заливаем на сервер архив скачанный с сайта 1с (в моем случае deb64_8_3_15_1534.tar.gz)

еще пара мелочей:

Теперь установим Apache2

Через консоль администрирования или через клиент 1с создаем базу и заливаем нашу конфигурацию…

Теперь публикуем базу:

переходим в папку с 1с.

Лезем в var/www/test/ и смотрим что там появилось.

Это схемы которые нужны для запуска веб-клиента 1с… теперь в нашу тестовую базу можно зайти из браузера по адресу «http ://АдресСервера/Test» (регистр важен! это же линукс) или указать в клиенте «тип расположения базы» адрес «http ://АдресСервера/Test», и клиент будет работать с опубликованной базой.

А что же на счет веб-сервисов? (в моей тестовой конфигурации их два: WebBuh для обмена данными с бухгалтерией и toplog интеграция с системой wms одноименной компании).

Что ж, добавим пару строк в наш vrd файлик…

xmlns:xs=«www.w3.org/2001/XMLSchema»
xmlns:xsi=«www.w3.org/2001/XMLSchema-instance»
base=»/TestWeb»
ib=«Srvr=IP_addres;Ref=TestWebServ»>


# Вот тут начинается код который публикует веб-сервисы

alias=»Web_buh.1cws» # Web_buh.1cws — алиас веб-сервиса в браузере
enable=»true» # дальше я думаю строки и так понятны
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>

alias=»toplog.1cws» # toplog.1cws
enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>

И теперь наш веб-сервис доступен по адресу «http ://АдресСервера/Test/Web_buh.1cws?»

Зачем надо было делать это руками?

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

Источник

Читайте также:  Smokieblahblah windows 10 20091909
Оцените статью