Dvigujemo 1c strežnik z objavo baze podatkov in spletnih storitev na Linuxu

Dvigujemo 1c strežnik z objavo baze podatkov in spletnih storitev na Linuxu

Danes bi vam rad povedal, kako nastaviti strežnik 1c na Linux Debian 9 z objavo spletnih storitev.

Kaj so spletne storitve 1C?

Spletne storitve je eden od mehanizmov platforme, ki se uporablja za integracijo z drugimi informacijskimi sistemi. Je sredstvo za podporo SOA (Service-Oriented Architecture), storitveno usmerjene arhitekture, ki je sodoben standard za integracijo aplikacij in informacijskih sistemov. V bistvu je to možnost ustvarjanja html strani s podatki, do katerih lahko nato dostopa katera koli druga aplikacija in jih pridobi.

Prednosti - deluje hitro (tudi z dokaj veliko količino podatkov) in je relativno priročno.

Proti - vaš 1C programer bo veliko in dolgo godrnjal nad vami, medtem ko bo pisal spletno storitev za vašo bazo podatkov. Zadeva je v pisanju zelo nenavadna.

Ne bom vam govoril, kako pisati spletna storitev... Povedal vam bom, kako ga objaviti v Linuxu s strežniške konzole, pa tudi nekaj o namestitvi strežnika 1C v Linux.

In tako, imamo debian 9 netinst, začnimo:

Namestite PostgresPro (upoštevajte, da ni brezplačen in se distribuira samo kot del seznanitve z zmogljivostmi):

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

Povejmo postgresqlu, naj posluša vse naslove in ne le lokalnega gostitelja

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

Odkomentirajmo in spremenimo naslove za poslušanje:

...
#listen_addresses = 'localhost'
...

Na

...
poslušaj_naslove = '*'
...

Nato dovolimo uporabnikom iz našega omrežja, da se prijavijo

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

Spremenimo:

# lokalne povezave IPv4:
gosti vse vse 127.0.0.1/32 md5

o

gosti vse vse 192.168.188.0/24 md5
gosti vse vse 127.0.0.1/32 md5

Preberete lahko več o različnih namestitvah Postgres za 1c tukaj.

Nato namestimo 1c strežnik.

Prenesite arhiv, ki ste ga prenesli s spletne strani 1c, na strežnik (v mojem primeru deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

še par malenkosti:

# apt install imagemagick unixodbc libgsf-bin

Zdaj pa namestimo Apache2

# apt install apache2

Preko skrbniške konzole ali preko odjemalca 1c ustvarimo bazo in naložimo našo konfiguracijo...

Zdaj objavljamo bazo podatkov:

pojdite v mapo z 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

Pojdimo na var/www/test/ in poglejmo, kaj se tam pojavi.

# 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”
base=”/Test”
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable="false"
reuseSessions="samodejna uporaba"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

To so sheme, ki so potrebne za zagon spletnega odjemalca 1c ... zdaj lahko obiščete našo testno bazo podatkov iz brskalnika na naslovu “http://ServerAddress/Test” (male in male črke so pomembne! to je Linux) ali določite v odjemalcu naslov "vrsta lokacije baze podatkov" "http://ServerAddress/Test", odjemalec pa bo delal z objavljeno bazo podatkov.

VENDAR

Kaj pa spletne storitve? (v moji testni konfiguraciji sta dva: WebBuh za izmenjavo podatkov z računovodstvom in toplog povezovanje s sistemom wms istoimenskega podjetja).

No, dodajmo nekaj vrstic v datoteko 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_naslov;Ref=TestWebServ">
<standardOdata enable="false"
reuseSessions="samodejna uporaba"
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"/>

shranimo ga.

In zdaj je naša spletna storitev na voljo na “http://ServerAddress/Test/Web_buh.1cws?”

Zakaj si moral to narediti ročno?

Ker naš strežnik nima grafične lupine, na njem ne bo mogoče zagnati konfiguratorja in posledično objaviti s standardnimi sredstvi. Oddaljeni konfigurator, ki se nahaja na odjemalcu, ne objavlja spletnih storitev na strežniku. Zato moramo konfiguracijo urediti ročno v skladu s predlogo, opisano zgoraj.

Skripta za generiranje .vrd - Hvala vam TihonV

Vir: www.habr.com

Dodaj komentar