We verhogen de 1c-server met de publicatie van de database en webservices op Linux

We verhogen de 1c-server met de publicatie van de database en webservices op Linux

Vandaag zou ik je willen vertellen hoe je een 1c-server op Linux Debian 9 kunt verhogen met de publicatie van webservices.

Wat zijn webservices 1c?

Webservices is een van de platformmechanismen die worden gebruikt voor integratie met andere informatiesystemen. Het is een middel ter ondersteuning van SOA (Service-Oriented Architecture) - servicegerichte architectuur, de moderne standaard voor het integreren van applicaties en informatiesystemen. In feite is dit een mogelijkheid om een ​​HTML-pagina met gegevens te maken, die vervolgens door elke andere applicatie kan worden geopend en opgehaald.

Voordelen - werkt snel (zelfs met een vrij grote hoeveelheid gegevens), relatief handig.

Nadelen - uw 1c-programmeur zal lange tijd tegen u mopperen terwijl hij een webservice voor uw database schrijft. Schriftelijk is dit heel eigenaardig.

Ik ga je niet vertellen hoe je moet schrijven webservice... ik zal je vertellen hoe je het op Linux kunt publiceren vanaf de serverconsole, en ook iets over het installeren van een 1c-server op Linux.

En dus hebben we debian 9 netinst, laten we beginnen:

Installeer PostgresPro (Houd er rekening mee dat het niet gratis is en alleen wordt verspreid als onderdeel van de kennismaking met de mogelijkheden):

# 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 'Π’Π°ΡˆΠŸΠ°Ρ€ΠΎΠ»ΡŒ';"

Laten we postgresql vertellen om naar alle adressen te luisteren en niet alleen naar localhost

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

Verwijder commentaar en wijzig naar welke adressen u wilt luisteren:

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

Op

...
luister_adressen = '*'
...

Laten we vervolgens gebruikers uit ons netwerk toestaan ​​om in te loggen

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

Laten we veranderen:

# IPv4 lokale verbindingen:
host alle alle 127.0.0.1/32 md5

op

host alle alle 192.168.188.0/24 md5
host alle alle 127.0.0.1/32 md5

U leest meer over de verschillende Postgres-installaties voor 1s hier.

Verder plaatsen we 1s de server.

Upload het archief gedownload van de 1c-site naar de server (in mijn geval deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

nog een paar kleine dingetjes:

# apt install imagemagick unixodbc libgsf-bin

Laten we nu Apache2 installeren

# apt install apache2

Via de beheerconsole of via de 1c-client maken we een database aan en vullen we onze configuratie in ...

Nu publiceren we de database:

ga naar de map met 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

We klimmen naar var/www/test/ en kijken wat daar verscheen.

# 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"
basis="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=Β«falseΒ»
hergebruikSessions = "automatisch gebruiken"
sessieMaxAge = "20"
zwembadgrootte = "10"
poolTimeout = "5"/>

Β«

Dit zijn de schema's die nodig zijn om de 1c-webclient te starten ... nu hebt u toegang tot onze testdatabase vanuit de browser op het adres "http://ServerAddress/Test" (hoofdlettergebruik is belangrijk! Dit is Linux) of specificeer de "base location type" adres in de client "http://ServerAddress/Test" en de client zal werken met de gepubliceerde database.

MAAR

Maar hoe zit het met webservices? (in mijn testconfiguratie zijn er twee: WebBuh voor gegevensuitwisseling met boekhouding en toplog-integratie met het wms-systeem van het gelijknamige bedrijf).

Laten we een paar regels toevoegen aan ons vrd-bestand...


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_adres;Ref=TestWebServ">
<standardOdata enable=Β«falseΒ»
hergebruikSessions = "automatisch gebruiken"
sessieMaxAge = "20"
zwembadgrootte = "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"/>

redden.

En nu is onze webservice beschikbaar op "http://ServerAddress/Test/Web_buh.1cws?"

Waarom moest je het met de hand doen?

Omdat onze server geen grafische shell heeft, zal het niet werken om de configurator erop uit te voeren en deze dienovereenkomstig met reguliere middelen te publiceren. De op de client geΓ―nstalleerde externe configurator publiceert geen webservices op de server. Daarom moeten we de configuratie handmatig bewerken volgens de hierboven beschreven sjabloon.

Script om .vrd te genereren - Bedankt TihonV

Bron: www.habr.com

Voeg een reactie