Elevamos o servidor 1c com a publicação do banco de dados e serviços web no Linux

Elevamos o servidor 1c com a publicação do banco de dados e serviços web no Linux

Hoje gostaria de contar como criar um servidor 1c no linux debian 9 com a publicação de serviços web.

O que são serviços web 1c?

serviços web é um dos mecanismos de plataforma utilizados para integração com outros sistemas de informação. É um meio de suporte à SOA (Service-Oriented Architecture) - arquitetura orientada a serviços, que é o padrão moderno para integração de aplicações e sistemas de informação. Na verdade, esta é uma oportunidade de criar uma página html com dados, que pode então ser acessada por qualquer outro aplicativo e recuperada.

Prós - funciona rapidamente (mesmo com uma quantidade bastante grande de dados), relativamente conveniente.

Contras - seu programador 1c irá reclamar de você por um longo tempo enquanto escreve um serviço web para seu banco de dados. A coisa é muito peculiar por escrito.

Eu não vou te dizer como escrever serviço de internet... Vou te contar como publicá-lo no Linux a partir do console do servidor, bem como um pouco sobre como instalar um servidor 1c no Linux.

E então, temos o debian 9 netinst, vamos começar:

Instale o PostgresPro (observe que não é gratuito e é distribuído apenas como parte da familiarização com as possibilidades):

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

Vamos dizer ao postgresql para ouvir todos os endereços e não apenas o localhost

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

Remova o comentário e altere quais endereços ouvir:

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

На

...
listen_addresses = '*'
...

A seguir, vamos permitir que usuários de nossa rede façam login

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

Vamos mudar:

# Conexões locais IPv4:
hospedar todos os 127.0.0.1/32 md5

em

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

Você pode ler mais sobre as várias instalações do Postgres para 1s aqui.

Além disso, colocamos 1s no servidor.

Carregue o arquivo baixado do site 1c para o servidor (no meu caso, deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

mais algumas coisinhas:

# apt install imagemagick unixodbc libgsf-bin

Agora vamos instalar o Apache2

# apt install apache2

Através do console de administração ou do cliente 1c, criamos um banco de dados e preenchemos nossa configuração ...

Agora publicamos o banco de dados:

vá para a pasta com 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

Subimos em var/www/test/ e vemos o que apareceu lá.

# 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="/Teste"
ib="Srvr=192.168.188.150;Ref=Teste;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessãoMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Estes são os esquemas necessários para iniciar o cliente web 1c... agora você pode acessar nosso banco de dados de teste a partir do navegador no endereço “http://ServerAddress/Test” (o caso é importante! Este é Linux) ou especificar o endereço “tipo de localização base” no cliente http://ServerAddress/Test" e o cliente trabalhará com o banco de dados publicado.

MAS

Mas e os serviços web? (na minha configuração de teste existem dois deles: WebBuh para troca de dados com contabilidade e integração de toplog com o sistema wms da empresa de mesmo nome).

Bem, vamos adicionar algumas linhas ao nosso arquivo 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=endereço_IP;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="autouse"
sessãoMaxAge="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"/>

salvar.

E agora nosso serviço web está disponível em "http://ServerAddress/Test/Web_buh.1cws?"

Por que você teve que fazer isso manualmente?

Como nosso servidor não possui shell gráfico, não funcionará executar o configurador nele e, consequentemente, publicá-lo por meios regulares. O configurador remoto instalado no cliente não publica serviços web no servidor. Portanto, temos que editar a configuração manualmente de acordo com o modelo descrito acima.

Script para gerar .vrd - Obrigado TihonV

Fonte: habr.com

Adicionar um comentário