Stavíme 1c server s publikováním databáze a webových služeb na Linuxu

Stavíme 1c server s publikováním databáze a webových služeb na Linuxu

Dnes bych vám rád řekl, jak nastavit 1c server na Linuxu Debian 9 s publikováním webových služeb.

Co jsou webové služby 1C?

webové služby je jedním z platformových mechanismů používaných pro integraci s jinými informačními systémy. Jde o prostředek podpory SOA (Service-Oriented Architecture), architektury orientované na služby, která je moderním standardem pro integraci aplikací a informačních systémů. V podstatě se jedná o možnost vytvořit html stránku s daty, ke kterým pak může přistupovat jakákoli jiná aplikace a lze je načíst.

Klady - funguje rychle (i s poměrně velkým objemem dat) a je poměrně pohodlný.

Zápory - váš 1C programátor na vás bude hodně a dlouho reptat, zatímco bude psát webovou službu pro vaši databázi. Ta věc je v psaní velmi zvláštní.

Nebudu ti říkat, jak psát webová služba... Řeknu vám, jak jej publikovat na Linuxu ze serverové konzole, a také něco málo o instalaci serveru 1C na Linux.

A tak máme debian 9 netinst, začněme:

Nainstalujte PostgresPro (Upozorňujeme, že není zdarma a je distribuován pouze v rámci seznámení se s funkcemi):

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

Řekněme postgresql, aby poslouchal všechny adresy a ne pouze localhost

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

Zrušme komentáře a změňme adresy, které chcete poslouchat:

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

Na

...
listen_addresses = '*'
...

Dále povolme uživatelům z naší sítě přihlášení

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

Pojďme se změnit:

# Místní připojení IPv4:
hostit všechny všechny 127.0.0.1/32 md5

na

hostit všechny všechny 192.168.188.0/24 md5
hostit všechny všechny 127.0.0.1/32 md5

Můžete si přečíst více o různých instalacích Postgres pro 1c zde.

Dále nainstalujeme 1c server.

Nahrajte archiv stažený z webu 1c na server (v mém případě deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

ještě pár drobností:

# apt install imagemagick unixodbc libgsf-bin

Nyní nainstalujme Apache2

# apt install apache2

Přes administrační konzoli nebo přes 1c klienta vytvoříme databázi a nahrajeme naši konfiguraci...

Nyní zveřejňujeme databázi:

přejděte do složky 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

Pojďme na var/www/test/ a uvidíme, co se tam objeví.

# 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”
základ=”/Test”
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Toto jsou schémata potřebná ke spuštění webového klienta 1c... nyní můžete přejít do naší testovací databáze z prohlížeče na adrese „http://ServerAddress/Test“ (případ je důležitý! toto je Linux) nebo zadat v klientovi „typ umístění databáze“ adresu „ http://ServerAddress/Test“ a klient bude pracovat s publikovanou databází.

VUT v Brně

A co webové služby? (v mé testovací konfiguraci jsou dva: WebBuh pro výměnu dat s účetnictvím a integraci toplogu se systémem wms stejnojmenné společnosti).

No, pojďme přidat pár řádků do našeho souboru 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_addres;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"/>

pojďme to uložit.

A nyní je naše webová služba dostupná na adrese „http://ServerAddress/Test/Web_buh.1cws?“

Proč jsi to musel dělat ručně?

Vzhledem k tomu, že náš server nemá grafický shell, nebude možné na něm spustit konfigurátor, a tedy publikovat standardními prostředky. Vzdálený konfigurátor, který se nachází na klientovi, nepublikuje webové služby na serveru. Proto musíme konfiguraci upravit ručně podle výše popsané šablony.

Skript pro generování .vrd - Děkuji TihonV

Zdroj: www.habr.com

Přidat komentář