Creăm un server 1c cu publicarea unei baze de date și a serviciilor web pe Linux

Creăm un server 1c cu publicarea unei baze de date și a serviciilor web pe Linux

Astăzi aș dori să vă spun cum să configurați un server 1c pe Linux Debian 9 cu publicarea serviciilor web.

Ce sunt serviciile web 1C?

Servicii web este unul dintre mecanismele platformei utilizate pentru integrarea cu alte sisteme informatice. Este un mijloc de susținere a SOA (Service-Oriented Architecture), o arhitectură orientată spre servicii care este un standard modern pentru integrarea aplicațiilor și a sistemelor informaționale. În esență, aceasta este capacitatea de a crea o pagină html cu date, care pot fi apoi accesate de orice altă aplicație și preluate.

Pro - funcționează rapid (chiar și cu o cantitate destul de mare de date) și este relativ convenabil.

Contra - programatorul tău 1C se va mormăi mult la tine și pentru o lungă perioadă de timp în timp ce scrie un serviciu web pentru baza ta de date. Lucrul este foarte ciudat în scris.

Nu vă spun cum să scrieți serviciu web... Vă voi spune cum să îl publicați pe Linux din consola serverului și, de asemenea, puțin despre instalarea serverului 1C pe Linux.

Și așa, avem debian 9 netinst, să începem:

Instalați PostgresPro (vă rugăm să rețineți că nu este gratuit și este distribuit doar ca parte a familiarizării cu capabilitățile):

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

Să îi spunem postgresql să asculte toate adresele și nu doar localhost

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

Să decomentăm și să schimbăm adresele pe care să le ascultăm:

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

Pe

...
listen_addresses = '*'
...

Apoi, să permitem utilizatorilor din rețeaua noastră să se conecteze

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

Hai sa schimbam:

# Conexiuni locale IPv4:
găzduiește toate 127.0.0.1/32 md5

pe

găzduiește toate 192.168.188.0/24 md5
găzduiește toate 127.0.0.1/32 md5

Puteți citi mai multe despre diverse instalări Postgres pentru 1c aici.

Apoi instalăm serverul 1c.

Încărcați arhiva descărcată de pe site-ul 1c pe server (în cazul meu deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

inca cateva lucruri mici:

# apt install imagemagick unixodbc libgsf-bin

Acum haideți să instalăm Apache2

# apt install apache2

Prin consola de administrare sau prin clientul 1c, creăm o bază de date și încărcăm configurația noastră...

Acum publicăm baza de date:

mergeți la folderul cu 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

Să mergem la var/www/test/ și să vedem ce apare acolo.

# 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="utilizare automată"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Acestea sunt schemele care sunt necesare pentru a lansa clientul web 1c... acum puteți merge la baza noastră de date de testare dintr-un browser la adresa „http://ServerAddress/Test” (cazul este important! acesta este Linux) sau specificați în client adresa „tipul locației bazei de date” „ http://ServerAddress/Test”, iar clientul va lucra cu baza de date publicată.

DAR

Dar serviciile web? (în configurația mea de testare există două dintre ele: WebBuh pentru schimb de date cu contabilitate și integrare toplog cu sistemul wms al companiei cu același nume).

Ei bine, să adăugăm câteva rânduri la fișierul nostru 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=”/TestWeb”
ib="Srvr=IP_address;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="utilizare automată"
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"/>

hai să-l salvăm.

Și acum serviciul nostru web este disponibil la „http://ServerAddress/Test/Web_buh.1cws?”

De ce a trebuit să o faci cu mâna?

Deoarece serverul nostru nu are un shell grafic, nu va fi posibil să rulați configuratorul pe acesta și, în consecință, să publicați folosind mijloace standard. Configuratorul de la distanță, care se află pe client, nu publică servicii web pe server. Prin urmare, trebuie să edităm manual configurația conform șablonului descris mai sus.

Script pentru generarea .vrd - Mulțumesc TihonV

Sursa: www.habr.com

Adauga un comentariu