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?
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
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
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.
Fuente: habr.com