Avui m'agradaria explicar-vos com configurar un servidor 1c a Linux Debian 9 amb la publicació de serveis web.
Què són els serveis web 1c?
Pros: funciona ràpidament (fins i tot amb una quantitat bastant gran de dades) i és relativament convenient.
Contres: el vostre programador 1C us queixarà molt i durant molt de temps mentre escriu un servei web per a la vostra base de dades. La cosa és molt peculiar a l'escriptura.
No et diré com escriure
Així doncs, tenim debian 9 netinst, comencem:
Instal·leu PostgresPro (tingueu en compte que no és gratuït i només es distribueix com a part de la familiarització amb les capacitats):
# 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 'ВашПароль';"
Diguem a postgresql que escolti totes les adreces i no només localhost
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Deixem comentaris i canviem quines adreces escoltar:
...
#listen_addresses = 'localhost'
...
En
...
listen_addresses = '*'
...
A continuació, permetem que els usuaris de la nostra xarxa iniciïn sessió
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
Canviem:
# Connexions locals IPv4:
allotja tots els 127.0.0.1/32 md5
en
allotja tots els 192.168.188.0/24 md5
allotja tots els 127.0.0.1/32 md5
Podeu llegir més sobre les diferents instal·lacions de Postgres per a 1s
A continuació instal·lem el servidor 1c.
Carregueu l'arxiu descarregat del lloc web 1c al servidor (en el meu cas deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
un parell de petites coses més:
# apt install imagemagick unixodbc libgsf-bin
Ara instal·lem Apache2
# apt install apache2
A través de la consola d'administració o a través del client 1c, creem una base de dades i pugem la nostra configuració...
Ara publiquem la base de dades:
aneu a la carpeta amb 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
Anem a var/www/test/ i veiem què hi apareix.
# 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="/Prova"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="ús automàtic"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
«
Aquests són els esquemes que es necessiten per llançar el client web 1c... ara podeu anar a la nostra base de dades de prova des d'un navegador a l'adreça "http://ServerAddress/Test" (el cas és important! això és Linux) o especificar al client l'adreça "Tipus d'ubicació de la base de dades" "http://ServerAddress/Test" i el client treballarà amb la base de dades publicada.
PERÒ
Què passa amb els serveis web? (a la meva configuració de prova n'hi ha dos: WebBuh per a l'intercanvi de dades amb comptabilitat i integració de toplog amb el sistema wms de l'empresa del mateix nom).
Bé, afegim un parell de línies al nostre fitxer 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=IP_address;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="ús automàtic"
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"/>
guardem-ho.
I ara el nostre servei web està disponible a "http://ServerAddress/Test/Web_buh.1cws?"
Per què ho has hagut de fer a mà?
Com que el nostre servidor no té cap intèrpret d'ordres gràfic, no funcionarà executar-hi el configurador i, en conseqüència, publicar-lo amb mitjans habituals. El configurador remot instal·lat al client no publica serveis web al servidor. Per tant, hem d'editar la configuració manualment segons la plantilla descrita anteriorment.
Font: www.habr.com