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

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

Danas bih vam želio reći kako podići 1c server na linux debian 9 objavljivanjem web servisa.

Šta su web servisi 1c?

Web usluge je jedan od platformskih mehanizama koji se koristi za integraciju sa drugim informacionim sistemima. To je sredstvo podrške SOA (Service-Oriented Architecture) - servisno orijentisanoj arhitekturi, koja je savremeni standard za integraciju aplikacija i informacionih sistema. U stvari, ovo je prilika za kreiranje html stranice s podacima, kojima onda može pristupiti bilo koja druga aplikacija i preuzeti.

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

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

Neću ti govoriti kako da pišeš web servis... Reći ću vam kako da ga objavite na Linuxu sa serverske konzole, kao i nešto o instalaciji 1c servera na Linux.

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

Instalirajte PostgresPro (Imajte na umu da nije besplatan i distribuira se samo kao dio upoznavanja sa 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

Dekomentirajte i promijenite adrese koje želite slušati:

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

U

...
listen_addresses = '*'
...

Zatim, dozvolimo korisnicima sa naše mreže da se prijave

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

promijenimo:

# IPv4 lokalne veze:
host sve sve 127.0.0.1/32 md5

na

host sve sve 192.168.188.0/24 md5
host sve sve 127.0.0.1/32 md5

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

Dalje stavljamo 1s server.

Prenesite arhivu preuzetu sa 1c stranice na server (u mom slučaju deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

još par sitnica:

# apt install imagemagick unixodbc libgsf-bin

Sada instalirajmo Apache2

# apt install apache2

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

Sada objavljujemo bazu podataka:

idite u folder sa 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

Penjemo se u var/www/test/ i vidimo šta 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"
base="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Ovo su šeme koje su potrebne za pokretanje 1c web klijenta... sada možete pristupiti našoj test bazi podataka iz pretraživača na adresi “http://ServerAddress/Test” (slučaj je važan! Ovo je Linux) ili navedite “base location type” adresa u klijentu http://ServerAddress/Test” i klijent će raditi sa objavljenom bazom podataka.

BUT

Ali šta je sa web uslugama? (u mojoj test konfiguraciji postoje dva: WebBuh za razmjenu podataka sa računovodstvom i toplog integracije sa wms sistemom istoimene kompanije).

Pa, hajde da dodamo par redaka našem vrd fajlu...


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_adresa;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"/>

spasiti.

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

Zašto ste to morali da radite ručno?

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

Skripta za generiranje .vrd - Hvala ti TihonV

izvor: www.habr.com

Dodajte komentar