Подижемо 1ц сервер објављивањем базе података и веб сервиса на Линук-у

Подижемо 1ц сервер објављивањем базе података и веб сервиса на Линук-у

Данас бих желео да вам кажем како да подигнете 1ц сервер на линук дебиан 9 са објављивањем веб сервиса.

Шта су веб сервиси 1ц?

веб сервиси је један од платформских механизама који се користи за интеграцију са другим информационим системима. То је средство подршке СОА (Сервице-Ориентед Арцхитецтуре) - сервисно оријентисаној архитектури, која је савремени стандард за интеграцију апликација и информационих система. У ствари, ово је прилика да се направи хтмл страница са подацима, којима се онда може приступити било која друга апликација и преузети.

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

Против - ваш 1ц програмер ће дуго гунђати на вас док пише веб сервис за вашу базу података. Ствар је врло необична у писању.

Нећу ти рећи како да пишеш веб сервис... Рећи ћу вам како да га објавите на Линуксу са серверске конзоле, као и мало о инсталирању 1ц сервера на Линуксу.

И тако, имамо дебиан 9 нетинст, хајде да почнемо:

Инсталирајте ПостгресПро (Имајте на уму да није бесплатан и да се дистрибуира само као део упознавања са могућностима):

# 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 'ВашПароль';"

Рецимо постгрескл-у да слуша све адресе, а не само локални хост

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

Уклоните коментаре и промените које адресе да слушате:

...
#листен_аддрессес = 'лоцалхост'
...

На

...
листен_аддрессес = '*'
...

Затим, дозволимо корисницима са наше мреже да се пријаве

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

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

# ИПв4 локалне везе:
хост све све 127.0.0.1/32 мд5

на

хост све све 192.168.188.0/24 мд5
хост све све 127.0.0.1/32 мд5

Можете прочитати више о различитим Постгрес инсталацијама за 1с овде.

Даље стављамо 1с сервер.

Отпремите архиву преузету са веб локације 1ц на сервер (у мом случају деб64_8_3_15_1534.тар.гз)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

још пар ситница:

# apt install imagemagick unixodbc libgsf-bin

Сада хајде да инсталирамо Апацхе2

# apt install apache2

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

Сада објављујемо базу података:

идите у фасциклу са 1с.

# 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

Пењемо се у вар/ввв/тест/ и видимо шта се тамо појавило.

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

«

в8.1ц.ру/8.2/виртуал-ресоурце-систем"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема">ввв.в3.орг/2001/КСМЛСцхема"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце">ввв.в3.орг/2001/КСМЛСцхема-инстанце"
басе="/Тест"
иб="Срвр=192.168.188.150;Реф=Тест;">
<standardOdata enable=«false»
реусеСессионс="аутоусе"
сессионМакАге="20"
поолСизе="10"
поолТимеоут="5"/>

«

Ово су шеме које су потребне за покретање 1ц веб клијента ... сада можете приступити нашој тест бази података из претраживача на адреси "хттп://СерверАддресс/Тест" (случај је важан! Ово је Линук) или наведите „басе лоцатион типе“ адресу у клијенту „ хттп://СерверАддресс/Тест“ и клијент ће радити са објављеном базом података.

АЛИ

Али шта је са веб услугама? (у мојој тест конфигурацији постоје два: ВебБух за размену података са рачуноводством и топлог интеграције са вмс системом истоимене компаније).

Па, хајде да додамо пар редова у нашу врд датотеку...


в8.1ц.ру/8.2/виртуал-ресоурце-систем"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема">ввв.в3.орг/2001/КСМЛСцхема"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце">ввв.в3.орг/2001/КСМЛСцхема-инстанце"
басе="/ТестВеб"
иб="Срвр=ИП_адреса;Реф=ТестВебСерв">
<standardOdata enable=«false»
реусеСессионс="аутоусе"
сессионМакАге="20"
поолСизе="10"
поолТимеоут="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"/>

сачувати.

А сада је наша веб услуга доступна на "хттп://СерверАддресс/Тест/Веб_бух.1цвс?"

Зашто сте то морали да радите ручно?

Пошто наш сервер нема графичку шкољку, неће бити могуће покренути конфигуратор на њему, и сходно томе, објавити стандардним средствима. Удаљени конфигуратор, који се налази на клијенту, не објављује веб сервисе на серверу. Због тога морамо ручно да уредимо конфигурацију према горе описаном шаблону.

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

Извор: ввв.хабр.цом

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