Го подигаме серверот 1c со објавување на базата на податоци и веб-услуги на Linux

Го подигаме серверот 1c со објавување на базата на податоци и веб-услуги на Linux

Денес би сакал да ви кажам како да подигнете сервер 1c на Linux Debian 9 со објавување на веб-услуги.

Што се веб услуги 1c?

Веб-услуги е еден од механизмите на платформата што се користи за интеграција со други информациски системи. Тоа е средство за поддршка на SOA (Service-Oriented Architecture) - сервисно ориентирана архитектура, која е модерен стандард за интегрирање на апликации и информациски системи. Всушност, ова е можност да се создаде html страница со податоци, до која потоа може да пристапи која било друга апликација и да ја преземе.

Добрите - работи брзо (дури и со прилично голема количина на податоци), релативно погодно.

Недостатоци - вашиот 1c програмер ќе ви мрмори долго време додека пишува веб-услуга за вашата база на податоци. Работата е многу чудна во пишувањето.

Нема да ви кажам како да пишувате веб сервис... Ќе ви кажам како да го објавите на Linux од конзолата на серверот, како и малку за инсталирање на сервер 1c на Linux.

И така, имаме debian 9 netinst, ајде да започнеме:

Инсталирајте PostgresPro (Ве молиме имајте предвид дека не е бесплатен и се дистрибуира само како дел од запознавање со можностите):

# apt-get update -y

# apt-get install -y wget gnupg2 || apt-get install -y gnupg

# wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -

# echo deb http://repo.postgrespro.ru/pgpro-archive/pgpro-11.4.1/debian stretch main > /etc/apt/sources.list.d/postgrespro-std.list

# apt-get update -y
# apt-get install -y postgrespro-std-11-server
# /opt/pgpro/std-11/bin/pg-setup initdb
# /opt/pgpro/std-11/bin/pg-setup service enable
# service postgrespro-std-11 start
# su - postgres
# /opt/pgpro/std-11/bin/psql -U postgres -c "alter user postgres with password 'ВашПароль';"

Да му кажеме на postgresql да ги слуша сите адреси, а не само localhost

# nano /var/lib/pgpro/std-11/data/postgresql.conf

Откажете ги коментарите и променете кои адреси да ги слушате:

...
#listen_addresses = 'локален домаќин'
...

На

...
listen_addresses = '*'
...

Следно, да им дозволиме на корисниците од нашата мрежа да се логираат

# nano /var/lib/pgpro/std-11/data/pg_hba.conf

Ајде да промениме:

# IPv4 локални врски:
домаќин на сите 127.0.0.1/32 md5

на

домаќин на сите 192.168.188.0/24 md5
домаќин на сите 127.0.0.1/32 md5

Можете да прочитате повеќе за различните инсталации на Postgres за 1s тука.

Понатаму ставаме 1s на серверот.

Поставете ја архивата преземена од страницата 1c на серверот (во мојот случај, deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

уште неколку ситници:

# apt install imagemagick unixodbc libgsf-bin

Сега ајде да инсталираме Apache2

# apt install apache2

Преку административната конзола или преку клиентот 1c, создаваме база на податоци и ја пополнуваме нашата конфигурација ...

Сега ја објавуваме базата на податоци:

одете во папката со 1s.

# cd /opt/1C/v8.3/x86_64/

./webinst -publish -apache24 -wsdir Test -dir /var/www/test/ -connstr  "Srvr=10.7.12.108;Ref=test;" -confPath /etc/apache2/apache2.conf

Се качуваме во var/www/test/ и гледаме што се појави таму.

# cd /var/www/test
# nano default.vrd

«

v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
база = "/Тест"
ib="Srvr=192.168.188.150; Ref=Test;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout="5"/>

«

Ова се шемите што се потребни за стартување на веб-клиентот 1c... сега можете да пристапите до нашата база на податоци за тестирање од прелистувачот на адресата „http://ServerAddress/Test“ (случајот е важен! Ова е Linux) или да го наведете Адреса „тип на основна локација“ во клиентот http://ServerAddress/Test“ и клиентот ќе работи со објавената база на податоци.

НО

Но, што е со веб-услугите? (во мојата тест конфигурација има две од нив: WebBuh за размена на податоци со сметководство и топлог интеграција со системот wms на истоимената компанија).

Па, ајде да додадеме неколку линии во нашата датотека vrd...


v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
base="/TestWeb"
ib="Srvr=IP_addres;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout="5"/>

# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Имя веб-сервиса в конфигураторе
alias="Web_buh.1cws" # Web_buh.1cws - алиас веб-сервиса в браузере
enable="true" # дальше я думаю строки и так понятны
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # второй веб сервис
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

спаси.

И сега нашата веб-услуга е достапна на "http://ServerAddress/Test/Web_buh.1cws?"

Зошто мораше да го направиш тоа со рака?

Бидејќи нашиот сервер е без графичка обвивка, нема да работи да го стартувате конфигураторот на него и, соодветно, да го објавите користејќи редовни средства. Далечинскиот конфигуратор инсталиран на клиентот не објавува веб-услуги на серверот. Затоа, мораме рачно да ја уредиме конфигурацијата според шаблонот опишан погоре.

Скрипта за генерирање .vrd - Ви благодарам ТихонВ

Извор: www.habr.com

Додадете коментар