Oggi vorrei raccontarvi come innalzare un server 1c su linux debian 9 con la pubblicazione dei servizi web.
Cosa sono i servizi web 1c?
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
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
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.
Fonte: habr.com