Estamos levantando un servidor 1c con la publicación de una base de datos y servicios web en Linux.

Estamos levantando un servidor 1c con la publicación de una base de datos y servicios web en Linux.

Hoy me gustaría contarles cómo configurar un servidor 1c en Linux Debian 9 con la publicación de servicios web.

¿Qué son los servicios web 1C?

servicios web Es uno de los mecanismos de plataforma utilizados para la integración con otros sistemas de información. Es un medio para soportar SOA (Arquitectura Orientada a Servicios), una arquitectura orientada a servicios que es un estándar moderno para integrar aplicaciones y sistemas de información. Básicamente, se trata de la capacidad de crear una página HTML con datos, a los que luego puede acceder cualquier otra aplicación y recuperarlos.

Ventajas: funciona rápidamente (incluso con una cantidad de datos bastante grande) y es relativamente conveniente.

Contras: su programador 1C se quejará mucho y durante mucho tiempo mientras escribe un servicio web para su base de datos. La cosa es muy peculiar por escrito.

No te diré cómo escribir servicio web... Te diré cómo publicarlo en Linux desde la consola del servidor, y también un poco sobre cómo instalar el servidor 1C en Linux.

Y ya tenemos debian 9 netinst, comencemos:

Instale PostgresPro (tenga en cuenta que no es gratuito y se distribuye únicamente como parte de la familiarización con sus 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 'ВашПароль';"

Digámosle a postgresql que escuche todas las direcciones y no solo el host local

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

Descomentemos y cambiemos qué direcciones escuchar:

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

En

...
direcciones_escucha = '*'
...

A continuación, permitamos que los usuarios de nuestra red inicien sesión.

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

Cambiemos:

# Conexiones locales IPv4:
alojar todo todo 127.0.0.1/32 md5

en

alojar todo todo 192.168.188.0/24 md5
alojar todo todo 127.0.0.1/32 md5

Puede leer más sobre varias instalaciones de Postgres para 1c aquí.

A continuación instalamos el servidor 1c.

Cargue el archivo descargado del sitio web 1c al servidor (en mi caso deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

un par de cositas más:

# apt install imagemagick unixodbc libgsf-bin

Ahora instalemos Apache2

# apt install apache2

A través de la consola de administración o a través del cliente 1c, creamos una base de datos y subimos nuestra configuración...

Ahora publicamos la base de datos:

vaya a la carpeta 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

Vayamos a var/www/test/ y veamos qué aparece allí.

# cd /var/www/test
# nano default.vrd

«

v8.1c.ru/8.2/sistema-de-recursos-virtuales"
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 = ”/Prueba”
ib="Srvr=192.168.188.150;Ref=Prueba;">
<standardOdata enable="falso"
reuseSessions="uso automático"
sesiónMaxAge="20"
tamaño de piscina="10"
piscinaTimeout="5"/>

«

Estos son los esquemas que se necesitan para iniciar el cliente web 1c... ahora puede ir a nuestra base de datos de prueba desde un navegador en la dirección “http://ServerAddress/Test” (¡el caso es importante! Esto es Linux) o especificar en el cliente la dirección de "tipo de ubicación de base de datos" " http://ServerAddress/Test", y el cliente trabajará con la base de datos publicada.

PERO

¿Qué pasa con los servicios web? (en mi configuración de prueba hay dos: WebBuh para el intercambio de datos con contabilidad y la integración de toplog con el sistema wms de la empresa del mismo nombre).

Bueno, agreguemos un par de líneas a nuestro archivo vrd...


v8.1c.ru/8.2/sistema-de-recursos-virtuales"
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="/PruebaWeb"
ib="Srvr=dirección_IP;Ref=TestWebServ">
<standardOdata enable="falso"
reuseSessions="uso automático"
sesiónMaxAge="20"
tamaño de piscina="10"
piscinaTimeout="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émoslo.

¿Y ahora nuestro servicio web está disponible en “http://ServerAddress/Test/Web_buh.1cws?”

¿Por qué tuviste que hacerlo a mano?

Dado que nuestro servidor no tiene un shell gráfico, no será posible ejecutar el configurador en él y, en consecuencia, publicarlo mediante medios estándar. El configurador remoto, que se encuentra en el cliente, no publica servicios web en el servidor. Por lo tanto, tenemos que editar la configuración manualmente según la plantilla descrita anteriormente.

Script para generar .vrd - Gracias TihonV

Fuente: habr.com

Añadir un comentario