Podižemo 1c server objavom baze podataka i web servisa na Linuxu

Podižemo 1c server objavom baze podataka i web servisa na Linuxu

Danas bih vam želio reći kako podići 1c poslužitelj na linux debian 9 s objavljivanjem web usluga.

Što su web usluge 1c?

Web usluge je jedan od platformskih mehanizama koji se koristi za integraciju s drugim informacijskim sustavima. To je sredstvo podrške SOA (Service-Oriented Architecture) - servisno orijentiranoj arhitekturi, koja je moderni standard za integraciju aplikacija i informacijskih sustava. Zapravo, ovo je prilika za stvaranje html stranice s podacima, kojima se zatim može pristupiti bilo kojom drugom aplikacijom i dohvatiti ih.

Prednosti - radi brzo (čak i s prilično velikom količinom podataka), relativno povoljno.

Protiv - vaš 1c programer će dugo gunđati na vas dok piše web servis za vašu bazu podataka. Stvar je vrlo osebujna u pisanju.

Neću ti govoriti kako da pišeš web usluga... Reći ću vam kako to objaviti na Linuxu s konzole poslužitelja, kao i nešto o instaliranju 1c poslužitelja na Linux.

I tako, imamo debian 9 netinst, počnimo:

Instalirajte PostgresPro (Napominjemo da nije besplatan, te se distribuira samo u sklopu upoznavanja s mogućnostima):

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

Recimo postgresqlu da sluša sve adrese, a ne samo localhost

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

Uklonite komentare i promijenite adrese za slušanje:

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

Na

...
slušaj_adrese = '*'
...

Zatim, dopustimo korisnicima s naše mreže da se prijave

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

Promijenimo:

# IPv4 lokalne veze:
domaćin sve sve 127.0.0.1/32 md5

na

domaćin sve sve 192.168.188.0/24 md5
domaćin sve sve 127.0.0.1/32 md5

Možete pročitati više o raznim Postgres instalacijama za 1s ovdje.

Dalje smo stavili 1s poslužitelj.

Prenesite arhivu preuzetu s 1c stranice na poslužitelj (u mom slučaju deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

jos par sitnica:

# apt install imagemagick unixodbc libgsf-bin

Sada instalirajmo Apache2

# apt install apache2

Preko administratorske konzole ili preko 1c klijenta kreiramo bazu podataka i popunjavamo našu konfiguraciju...

Sada objavljujemo bazu podataka:

idite u mapu s 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

Popnemo se u var/www/test/ i vidimo što se tamo pojavilo.

# 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"
baza="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="automatsko korištenje"
sessionMaxAge="20"
veličina bazena="10"
poolTimeout="5"/>

«

Ovo su sheme koje su potrebne za pokretanje 1c web klijenta ... sada možete pristupiti našoj test bazi podataka iz preglednika na adresi “http://ServerAddress/Test” (mala i mala slova su važna! Ovo je Linux) ili navedite “base location type” adresu u klijentu http://ServerAddress/Test" i klijent će raditi s objavljenom bazom podataka.

ALI

Ali što je s web uslugama? (u mojoj testnoj konfiguraciji postoje dva: WebBuh za razmjenu podataka s računovodstvom i toplog integracija s wms sustavom istoimene tvrtke).

Pa, hajde da dodamo par redaka našoj vrd datoteci...


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"
baza="/TestWeb"
ib="Srvr=IP_adresa;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="automatsko korištenje"
sessionMaxAge="20"
veličina bazena="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"/>

uštedjeti.

I sada je naša web usluga dostupna na "http://ServerAddress/Test/Web_buh.1cws?"

Zašto ste to morali učiniti ručno?

Budući da je naš poslužitelj bez grafičke ljuske, neće uspjeti pokrenuti konfigurator na njemu i, sukladno tome, objaviti ga uobičajenim sredstvima. Udaljeni konfigurator instaliran na klijentu ne objavljuje web usluge na poslužitelju. Stoga moramo ručno urediti konfiguraciju prema gore opisanom predlošku.

Skripta za generiranje .vrd - Hvala vam TihonV

Izvor: www.habr.com

Dodajte komentar