Creemu un servitore 1c cù a publicazione di una basa di dati è servizii web in Linux

Creemu un servitore 1c cù a publicazione di una basa di dati è servizii web in Linux

Oghje vogliu dì cumu fà un servitore 1c in Linux Debian 9 cù a publicazione di servizii web.

Chì sò i servizii web 1C?

servizii Web hè unu di i meccanismi di piattaforma utilizati per l'integrazione cù altri sistemi d'infurmazione. Hè un mezzu di supportu SOA (Architettura Orientata à u Serviziu), una architettura orientata à u serviziu chì hè un standard mudernu per integrà l'applicazioni è i sistemi d'infurmazione. Essenzialmente, questa hè a capacità di creà una pagina html cù dati, chì ponu esse accessu da qualsiasi altra applicazione è ricuperata.

Pros - funziona rapidamente (ancu cù una quantità abbastanza grande di dati), è hè relativamente còmuda.

Cons - u vostru programatore 1C vi murmurà assai è per un bellu pezzu mentre scrive un serviziu web per a vostra basa di dati. A cosa hè assai peculiar in scrittura.

Ùn vi dicu micca cumu scrive serviziu web... Vi dicu cumu pubblicà in Linux da a cunsola di u servitore, è ancu un pocu di installà u servitore 1C in Linux.

È cusì, avemu debian 9 netinst, cuminciamu:

Installa PostgresPro (per piacè nutate chì ùn hè micca liberu, è hè distribuitu solu cum'è parte di familiarizazione cù e capacità):

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

Dicemu à postgresql à sente tutti l'indirizzi è micca solu u locale host

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

Scommentemu è cambiamu l'indirizzi per sente:

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

nantu

...
listen_addresses = '*'
...

In seguitu, permettemu à l'utilizatori di a nostra reta di accede

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

Cambiemu:

# Connessioni lucali IPv4:
ospita tutti i 127.0.0.1/32 md5

nantu

ospita tutti i 192.168.188.0/24 md5
ospita tutti i 127.0.0.1/32 md5

Pudete leghje più nantu à e diverse installazioni Postgres per 1c ccà.

Dopu avemu installatu u servitore 1c.

Caricate l'archiviu scaricatu da u situ web 1c à u servitore (in u mo casu deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

un paru di cose in più:

# apt install imagemagick unixodbc libgsf-bin

Avà stallà Apache2

# apt install apache2

Attraversu a cunsola di amministrazione o attraversu u cliente 1c, creemu una basa di dati è caricate a nostra cunfigurazione...

Avà publichemu a basa di dati:

vai à u cartulare cù 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

Andemu à var/www/test/ è vede ciò chì ci appare.

# 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"/>

«

Eccu i schemi chì sò necessarii per lancià u cliente web 1c ... avà pudete andà à a nostra basa di dati di teste da un navigatore à l'indirizzu "http://ServerAddress/Test" (casu hè impurtante! questu hè Linux) o specificà. in u cliente l'indirizzu "Tipu di locu di basa di dati" "http://ServerAddress/Test", è u cliente hà da travaglià cù a basa di dati publicata.

BUT

E i servizii web? (in a mo cunfigurazione di prova ci sò dui: WebBuh per u scambiu di dati cù a cuntabilità è l'integrazione toplog cù u sistema wms di a cumpagnia di u listessu nome).

Ebbè, aghjustemu un paru di linii à u nostru schedariu 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_address;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"/>

salvemu.

È avà u nostru serviziu web hè dispunibule à "http://ServerAddress/Test/Web_buh.1cws?"

Perchè duvete fà a manu ?

Siccomu u nostru servitore ùn hà micca una cunchiglia gràfica, ùn serà micca pussibule di eseguisce u configuratore nantu à questu, è per quessa, pubblicà cù i mezi standard. U configuratore remota, chì si trova nantu à u cliente, ùn publica micca servizii web in u servitore. Dunque, avemu da edità a cunfigurazione manualmente secondu u mudellu descrittu sopra.

Script per generà .vrd - Grazie TihonV

Source: www.habr.com

Add a comment