Idag skulle jag vilja berätta hur man ställer in en 1c-server på Linux Debian 9 med publicering av webbtjänster.
Vad är 1C webbtjänster?
Fördelar - det fungerar snabbt (även med en ganska stor mängd data), och är relativt bekvämt.
Nackdelar - din 1C-programmerare kommer att klaga på dig mycket och under lång tid medan han skriver en webbtjänst för din databas. Saken är väldigt märklig i skrift.
Jag ska inte berätta hur man skriver
Och så, vi har debian 9 netinst, låt oss börja:
Installera PostgresPro (Observera att det inte är gratis och distribueras endast som en del av bekantskapen med funktionerna):
# 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 'ВашПароль';"
Låt oss säga till postgresql att lyssna på alla adresser och inte bara localhost
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Låt oss avkommentera och ändra vilka adresser vi ska lyssna på:
.
#listen_addresses = 'localhost'
.
På
.
lyssna_adresser = '*'
.
Låt oss sedan tillåta användare från vårt nätverk att logga in
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
Låt oss ändra:
# IPv4 lokala anslutningar:
värd för alla alla 127.0.0.1/32 md5
på
värd för alla alla 192.168.188.0/24 md5
värd för alla alla 127.0.0.1/32 md5
Du kan läsa mer om olika Postgres installationer för 1c
Därefter installerar vi 1c-servern.
Ladda upp arkivet som laddats ner från 1c-webbplatsen till servern (i mitt fall deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
ett par småsaker till:
# apt install imagemagick unixodbc libgsf-bin
Låt oss nu installera Apache2
# apt install apache2
Genom administrationskonsolen eller genom 1c-klienten skapar vi en databas och laddar upp vår konfiguration...
Nu publicerar vi databasen:
gå till mappen med 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
Låt oss gå till var/www/test/ och se vad som visas där.
# 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="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
«
Det här är scheman som behövs för att starta 1c-webbklienten... nu kan du gå till vår testdatabas från en webbläsare på adressen "http://ServerAddress/Test" (fallet är viktigt! det här är Linux) eller specificera i klienten "databasplatstyp"-adressen " http://ServerAddress/Test", och klienten kommer att arbeta med den publicerade databasen.
MEN
Hur är det med webbtjänster? (i min testkonfiguration finns det två av dem: WebBuh för datautbyte med redovisning och toploggintegration med wms-systemet för företaget med samma namn).
Nåväl, låt oss lägga till ett par rader till vår vrd-fil...
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_addres;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"/>
låt oss spara det.
Och nu är vår webbtjänst tillgänglig på "http://ServerAddress/Test/Web_buh.1cws?"
Varför var du tvungen att göra det för hand?
Eftersom vår server inte har något grafiskt skal, kommer det inte att vara möjligt att köra konfiguratorn på den, och följaktligen publicera med standardmetoder. Fjärrkonfiguratorn, som finns på klienten, publicerar inte webbtjänster på servern. Därför måste vi redigera konfigurationen manuellt enligt mallen som beskrivs ovan.
Källa: will.com