Innalziamo il server 1c con la pubblicazione del database e dei servizi web su Linux

Innalziamo il server 1c con la pubblicazione del database e dei servizi web su Linux

Oggi vorrei raccontarvi come innalzare un server 1c su linux debian 9 con la pubblicazione dei servizi web.

Cosa sono i servizi web 1c?

servizi web è uno dei meccanismi della piattaforma utilizzati per l'integrazione con altri sistemi informativi. È un mezzo per supportare SOA (Service-Oriented Architecture) - architettura orientata ai servizi, che è lo standard moderno per l'integrazione di applicazioni e sistemi informativi. In effetti, questa è un'opportunità per creare una pagina html con dati, a cui può poi accedere e essere recuperata da qualsiasi altra applicazione.

Pro: funziona rapidamente (anche con una quantità di dati abbastanza grande), relativamente conveniente.

Contro: il tuo programmatore 1c ti lamenterà a lungo mentre scrive un servizio web per il tuo database. La cosa è molto particolare per iscritto.

Non ti dirò come scrivere servizio web... Ti dirò come pubblicarlo su Linux dalla console del server, oltre a qualcosa sull'installazione di un server 1c su Linux.

E quindi, abbiamo Debian 9 netinst, iniziamo:

Installa PostgresPro (tieni presente che non è gratuito ed è distribuito solo come parte della familiarizzazione con le possibilità):

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

Diciamo a postgresql di ascoltare tutti gli indirizzi e non solo localhost

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

Decommenta e modifica gli indirizzi da ascoltare:

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

Su

...
listen_addresses = '*'
...

Successivamente, consentiamo agli utenti della nostra rete di accedere

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

Facciamo cambio:

# Connessioni locali IPv4:
ospita tutti tutti 127.0.0.1/32 md5

su

ospita tutti tutti 192.168.188.0/24 md5
ospita tutti tutti 127.0.0.1/32 md5

Puoi leggere ulteriori informazioni sulle varie installazioni di Postgres per 1s qui.

Inoltre inseriamo 1 nel server.

Carica l'archivio scaricato dal sito 1c sul server (nel mio caso, deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

ancora un paio di piccole cose:

# apt install imagemagick unixodbc libgsf-bin

Ora installiamo Apache2

# apt install apache2

Tramite la console di amministrazione o tramite il client 1c, creiamo un database e compiliamo la nostra configurazione...

Ora pubblichiamo il database:

vai alla cartella 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

Saliamo in var/www/test/ e vediamo cosa è apparso 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-istanza">www.w3.org/2001/XMLSchema-istanza"
base="/Prova"
ib="Srvr=192.168.188.150;Rif=Test;">
<standardOdata enable=«false»
reuseSessions="uso automatico"
sessioneMaxAge="20"
dimensione piscina="10"
poolTimeout="5"/>

«

Questi sono gli schemi necessari per lanciare il web client 1c... ora potete accedere al nostro database di test dal browser all'indirizzo “http://ServerAddress/Test” (le maiuscole sono importanti! Questo è Linux) oppure specificare il Indirizzo "tipo di posizione base" nel client http://ServerAddress/Test" e il client funzionerà con il database pubblicato.

MA

Ma che dire dei servizi web? (nella mia configurazione di prova ce ne sono due: WebBuh per lo scambio dati con contabilità e integrazione toplog con il sistema wms dell'omonima azienda).

Bene, aggiungiamo un paio di righe al nostro file 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-istanza">www.w3.org/2001/XMLSchema-istanza"
base="/TestWeb"
ib="Srvr=Indirizzo_IP;Rif=TestWebServ">
<standardOdata enable=«false»
reuseSessions="uso automatico"
sessioneMaxAge="20"
dimensione piscina="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"/>

salva.

E ora il nostro servizio web è disponibile all'indirizzo "http://ServerAddress/Test/Web_buh.1cws?"

Perché hai dovuto farlo a mano?

Poiché il nostro server è privo di shell grafica, non funzionerà per eseguire il configuratore su di esso e, di conseguenza, pubblicarlo con mezzi regolari. Il configuratore remoto installato sul client non pubblica servizi web sul server. Pertanto, dobbiamo modificare manualmente la configurazione secondo il modello descritto sopra.

Script per generare .vrd - Grazie Tihon V

Fonte: habr.com

Aggiungi un commento