Estamos a crear un servidor 1c coa publicación dunha base de datos e servizos web en Linux

Estamos a crear un servidor 1c coa publicación dunha base de datos e servizos web en Linux

Hoxe gustaríame contarvos como configurar un servidor 1c en Linux Debian 9 coa publicación de servizos web.

Que son os servizos web 1C?

Servizos web é un dos mecanismos de plataforma utilizados para a integración con outros sistemas de información. É un medio de soporte SOA (Service-Oriented Architecture), unha arquitectura orientada a servizos que é un estándar moderno para integrar aplicacións e sistemas de información. Esencialmente, trátase da posibilidade de crear unha páxina html con datos, á que logo pode acceder calquera outra aplicación e recuperar.

Pros: funciona rapidamente (mesmo cunha cantidade bastante grande de datos) e é relativamente cómodo.

Contras: o teu programador 1C murmurará contigo moito e durante moito tempo mentres escribe un servizo web para a túa base de datos. A cousa é moi peculiar na escrita.

Non che direi como escribir servizo web... Vouche dicir como publicalo en Linux desde a consola do servidor, e tamén un pouco sobre a instalación do servidor 1C en Linux.

E así, temos debian 9 netinst, imos comezar:

Instale PostgresPro (ten en conta que non é gratuíto e só se distribúe como parte da familiarización coas capacidades):

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

Digamos a postgresql que escoite todos os enderezos e non só localhost

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

Deixemos comentarios e cambiemos os enderezos que queremos escoitar:

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

En

...
listen_addresses = '*'
...

A continuación, permitamos que os usuarios da nosa rede inicien sesión

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

Imos cambiar:

# Conexións locais IPv4:
alberga todos os 127.0.0.1/32 md5

en

alberga todos os 192.168.188.0/24 md5
alberga todos os 127.0.0.1/32 md5

Podes ler máis sobre varias instalacións de Postgres para 1c aquí.

A continuación instalamos o servidor 1c.

Cargue o arquivo descargado do sitio web 1c ao servidor (no meu caso deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

un par de cousiñas máis:

# apt install imagemagick unixodbc libgsf-bin

Agora imos instalar Apache2

# apt install apache2

A través da consola de administración ou a través do cliente 1c, creamos unha base de datos e subimos a nosa configuración...

Agora publicamos a base de datos:

vai ao cartafol con 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

Imos a var/www/test/ e vexamos que aparece alí.

# 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="uso automático"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Estes son os esquemas que son necesarios para lanzar o cliente web 1c... agora pode ir á nosa base de datos de proba desde un navegador no enderezo "http://ServerAddress/Test" (o caso é importante! Este é Linux) ou especificar no cliente o enderezo "tipo de localización da base de datos" " http://ServerAddress/Test ", e o cliente traballará coa base de datos publicada.

MAS

Que pasa cos servizos web? (na miña configuración de proba hai dous deles: WebBuh para intercambio de datos con contabilidade e integración toplog co sistema wms da empresa do mesmo nome).

Ben, imos engadir un par de liñas ao noso ficheiro 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="uso automático"
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"/>

salvémolo.

E agora o noso servizo web está dispoñible en "http://ServerAddress/Test/Web_buh.1cws?"

Por que tiveches que facelo a man?

Dado que o noso servidor non dispón de shell gráfico, non será posible executar o configurador nel e, en consecuencia, publicar mediante medios estándar. O configurador remoto, que está situado no cliente, non publica servizos web no servidor. Polo tanto, temos que editar a configuración manualmente segundo o modelo descrito anteriormente.

Script para xerar .vrd - Grazas TihonV

Fonte: www.habr.com

Engadir un comentario