Vi håller på att bygga upp en 1c-server med att publicera en databas och webbtjänster på Linux

Vi håller på att bygga upp en 1c-server med att publicera en databas och webbtjänster på Linux

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?

webbservice är en av de plattformsmekanismer som används för integration med andra informationssystem. Det är ett sätt att stödja SOA (Service-Oriented Architecture), en tjänsteorienterad arkitektur som är en modern standard för att integrera applikationer och informationssystem. I huvudsak är detta möjligheten att skapa en HTML-sida med data, som sedan kan nås av vilken annan applikation som helst och hämtas.

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 webb-service... Jag ska berätta hur du publicerar det på Linux från serverkonsolen, och även lite om installation av 1C-server på Linux.

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'
.

.
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

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 här.

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.

Skript för att generera .vrd - Tack TihonV

Källa: will.com

Lägg en kommentar