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?
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
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
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.
Bron: www.habr.com