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

imagem

Hoje eu gostaria de dizer como aumentar o servidor 1c no linux debian 9 com a publicação de serviços da web.

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

Serviços da Web é um dos mecanismos de plataforma usados ​​para integração com outros sistemas de informação. É um meio de suportar SOA (Service-Oriented Architecture), uma arquitetura orientada a serviços que é um padrão moderno para integrar aplicativos e sistemas de informação. Em essência, essa é a capacidade de criar uma página html com dados, os quais você pode acessar com qualquer outro aplicativo e buscá-los.

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

Contras - seu programador 1s resmungará muito com você e por um longo tempo, enquanto ele escreverá um serviço da Web para seu banco de dados. A coisa é muito peculiar por escrito.

Não vou contar como escrever um serviço da Web ... vou contar como publicá-lo no Linux a partir do console do servidor, bem como um pouco sobre a instalação do servidor 1s no Linux.

E assim, temos o debian 9 netinst, proceda:

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

# 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 que o postgresql ouça 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 os endereços a serem ouvidos:
...
#listen_addresses = 'localhost'
...

Ativado
...
listen_addresses = '*'
...


Em seguida, vamos autorizar usuários da nossa rede
 # nano /var/lib/pgpro/std-11/data/pg_hba.conf 

Alterar:
# 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 .

Em seguida, colocamos o servidor 1s.

Carregamos no servidor o arquivo baixado do site 1c (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 instale o Apache2

 # apt install apache2 


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

Agora publicamos a base:

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 


Entramos em var / www / test / e olhamos o que apareceu lá.

 # cd /var/www/test 


 # nano default.vrd 


"
<? xml version = "1.0" encoding = "UTF-8"?>
<point xmlns = " v8.1c.ru/8.2/virtual-resource-system "
xmlns: xs = " www.w3.org/2001/XMLSchema "
xmlns: xsi = " www.w3.org/2001/XMLSchema-instance "
base = "/ Teste"
ib = "Srvr = 192.168.188.150; Ref = Teste;">
<standardOdata enable = "false"
reuseSessions = "autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout = "5" />
"

Estes são os esquemas necessários para iniciar o 1c web client ... agora podemos acessar nosso banco de dados de teste no navegador no endereço "http: // ServerAddress / Test" (o registro é importante! É Linux) ou especifique o endereço " http: // ServerAddress / Test ”, e o cliente trabalhará com o banco de dados publicado.

MAS

E quanto aos serviços da 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 mesma empresa).

Bem, adicione algumas linhas ao nosso arquivo vrd ...

<? xml version = "1.0" encoding = "UTF-8"?>
<point xmlns = " v8.1c.ru/8.2/virtual-resource-system "
xmlns: xs = " www.w3.org/2001/XMLSchema "
xmlns: xsi = " www.w3.org/2001/XMLSchema-instance "
base = "/ TestWeb"
ib = "Srvr = endereços IP; Ref = TestWebServ">
<standardOdata enable = "false"
reuseSessions = "autouse"
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"/>


salvar.

E agora nosso serviço da Web está disponível no endereço "http: //AddressServer/Test/Web_buh.1cws?"

Por que você teve que fazer isso com as mãos?

Como nosso servidor não possui um shell gráfico, a execução do configurador falhará e, consequentemente, a publicação usando ferramentas padrão. O configurador remoto que está no cliente não publica serviços da web no servidor. Portanto, temos que editar a configuração manualmente, de acordo com o modelo descrito acima.

Script para gerar .vrd - obrigado TihonV

Source: https://habr.com/ru/post/pt462965/


All Articles