Ni kreas 1c-servilon kun publikigado de datumbazo kaj retservoj en Linukso

Ni kreas 1c-servilon kun publikigado de datumbazo kaj retservoj en Linukso

Hodiaŭ mi ŝatus diri al vi kiel agordi 1c-servilon en Linukso Debian 9 kun la publikigo de retservoj.

Kio estas 1C-retservoj?

Retaj servoj estas unu el la platformmekanismoj uzataj por integriĝo kun aliaj informsistemoj. Ĝi estas rimedo por subteni SOA (Service-Oriented Architecture), servo-orientita arkitekturo kiu estas moderna normo por integri aplikaĵojn kaj informsistemojn. Esence, ĉi tio estas la kapablo krei html-paĝon kun datumoj, kiuj tiam povas esti aliritaj per iu ajn alia aplikaĵo kaj rekuperitaj.

Avantaĝoj - ĝi funkcias rapide (eĉ kun sufiĉe granda kvanto da datumoj), kaj estas relative oportuna.

Kontraŭoj - via 1C-programisto grumblos pri vi multe kaj longe dum li verkas retservon por via datumbazo. La afero estas tre stranga skribe.

Mi ne diros al vi kiel skribi retservo... Mi rakontos al vi kiel publikigi ĝin en Linukso de la servila konzolo, kaj ankaŭ iomete pri instalo de 1C-servilo en Linukso.

Kaj do, ni havas debian 9 netinst, ni komencu:

Instalu PostgresPro (Bonvolu noti, ke ĝi ne estas senpaga, kaj estas distribuita nur kiel parto de konatiĝo kun la kapabloj):

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

Ni diru al postgresql aŭskulti ĉiujn adresojn kaj ne nur localhost

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

Ni malkomento kaj ŝanĝu kiujn adresojn aŭskulti:

...
#listen_addresses = 'loka gastiganto'
...

En

...
aŭskultu_adresojn = '*'
...

Poste, ni permesu al uzantoj de nia reto ensaluti

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

Ni ŝanĝu:

# IPv4 lokaj konektoj:
gastigas ĉiujn 127.0.0.1/32 md5

sur

gastigas ĉiujn 192.168.188.0/24 md5
gastigas ĉiujn 127.0.0.1/32 md5

Vi povas legi pli pri diversaj instalaĵoj de Postgres por 1c tie.

Poste ni instalas 1c-servilon.

Alŝutu la arkivon elŝutitan de la retejo 1c al la servilo (en mia kazo deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

kelkaj pliaj aferoj:

# apt install imagemagick unixodbc libgsf-bin

Nun ni instalu Apache2

# apt install apache2

Per la administra konzolo aŭ per la kliento 1c, ni kreas datumbazon kaj alŝutas nian agordon...

Nun ni publikigas la datumbazon:

iru al la dosierujo kun 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

Ni iru al var/www/test/ kaj vidu, kio aperas tie.

# 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"
bazo=”/Testo”
ib="Srvr=192.168.188.150;Ref=Testo;">
<standardOdata enable=«false»
reuseSessions="aŭtomata uzo"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Ĉi tiuj estas la skemoj, kiuj estas bezonataj por lanĉi la retklienton 1c... nun vi povas iri al nia testa datumbazo de retumilo ĉe la adreso "http://ServerAddress/Test" (kazaĵo gravas! ĉi tio estas Linukso) aŭ specifi en la kliento la "datumbaza loko-tipo" adreso " http://ServerAddress/Test ", kaj la kliento laboros kun la publikigita datumbazo.

SIN

Kio pri retservoj? (en mia testa agordo estas du el ili: WebBuh por datumŝanĝo kun kontado kaj toplog integriĝo kun la wms-sistemo de la samnoma kompanio).

Nu, ni aldonu kelkajn liniojn al nia vrd-dosiero...


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"
bazo=”/TestWeb”
ib="Srvr=IP_adreso;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="aŭtomata uzo"
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"/>

ni savu ĝin.

Kaj nun nia retservo disponeblas ĉe "http://ServerAddress/Test/Web_buh.1cws?"

Kial vi devis fari ĝin mane?

Ĉar nia servilo ne havas grafikan ŝelon, ne eblos ruli la agordilon sur ĝi, kaj sekve, publikigi per normaj rimedoj. La fora agordilo, kiu situas sur la kliento, ne publikigas retservojn sur la servilo. Tial ni devas redakti la agordon permane laŭ la ŝablono priskribita supre.

Skripto por generi .vrd - Dankon TihonV

fonto: www.habr.com

Aldoni komenton