Aixequem el servidor 1c amb la publicació de la base de dades i els serveis web a Linux

Aixequem el servidor 1c amb la publicació de la base de dades i els serveis web a Linux

Avui m'agradaria explicar-vos com configurar un servidor 1c a Linux Debian 9 amb la publicació de serveis web.

Què són els serveis web 1c?

Serveis web és un dels mecanismes de plataforma utilitzats per a la integració amb altres sistemes d'informació. És un mitjà per donar suport a SOA (Service-Oriented Architecture), una arquitectura orientada a serveis que és un estàndard modern per integrar aplicacions i sistemes d'informació. Essencialment, aquesta és la possibilitat de crear una pàgina html amb dades, a les quals qualsevol altra aplicació pot accedir i recuperar-la.

Pros: funciona ràpidament (fins i tot amb una quantitat bastant gran de dades) i és relativament convenient.

Contres: el vostre programador 1C us queixarà molt i durant molt de temps mentre escriu un servei web per a la vostra base de dades. La cosa és molt peculiar a l'escriptura.

No et diré com escriure servei web... Us explicaré com publicar-lo a Linux des de la consola del servidor, així com una mica sobre com instal·lar un servidor 1c a Linux.

Així doncs, tenim debian 9 netinst, comencem:

Instal·leu PostgresPro (tingueu en compte que no és gratuït i només es distribueix com a part de la familiarització amb les capacitats):

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

Diguem a postgresql que escolti totes les adreces i no només localhost

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

Deixem comentaris i canviem quines adreces escoltar:

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

En

...
listen_addresses = '*'
...

A continuació, permetem que els usuaris de la nostra xarxa iniciïn sessió

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

Canviem:

# Connexions locals IPv4:
allotja tots els 127.0.0.1/32 md5

en

allotja tots els 192.168.188.0/24 md5
allotja tots els 127.0.0.1/32 md5

Podeu llegir més sobre les diferents instal·lacions de Postgres per a 1s aquí.

A continuació instal·lem el servidor 1c.

Carregueu l'arxiu descarregat del lloc web 1c al servidor (en el meu cas deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

un parell de petites coses més:

# apt install imagemagick unixodbc libgsf-bin

Ara instal·lem Apache2

# apt install apache2

A través de la consola d'administració o a través del client 1c, creem una base de dades i pugem la nostra configuració...

Ara publiquem la base de dades:

aneu a la carpeta amb 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

Anem a var/www/test/ i veiem què hi apareix.

# 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="/Prova"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="ús automàtic"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Aquests són els esquemes que es necessiten per llançar el client web 1c... ara podeu anar a la nostra base de dades de prova des d'un navegador a l'adreça "http://ServerAddress/Test" (el cas és important! això és Linux) o especificar al client l'adreça "Tipus d'ubicació de la base de dades" "http://ServerAddress/Test" i el client treballarà amb la base de dades publicada.

PERÒ

Què passa amb els serveis web? (a la meva configuració de prova n'hi ha dos: WebBuh per a l'intercanvi de dades amb comptabilitat i integració de toplog amb el sistema wms de l'empresa del mateix nom).

Bé, afegim un parell de línies al nostre fitxer 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="ús automàtic"
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"/>

guardem-ho.

I ara el nostre servei web està disponible a "http://ServerAddress/Test/Web_buh.1cws?"

Per què ho has hagut de fer a mà?

Com que el nostre servidor no té cap intèrpret d'ordres gràfic, no funcionarà executar-hi el configurador i, en conseqüència, publicar-lo amb mitjans habituals. El configurador remot instal·lat al client no publica serveis web al servidor. Per tant, hem d'editar la configuració manualment segons la plantilla descrita anteriorment.

Script per generar .vrd - Gràcies TihonV

Font: www.habr.com

Afegeix comentari