Erhöhen Sie den Server 1c mit der Veröffentlichung der Datenbank und der Webdienste unter Linux

Bild

Heute möchte ich erklären, wie Server 1c unter Linux Debian 9 mit der Veröffentlichung von Webdiensten erhöht werden kann.

Was sind 1s Webdienste?

Webdienste sind einer der Plattformmechanismen für die Integration in andere Informationssysteme. Es ist ein Mittel zur Unterstützung von SOA (Service-Oriented Architecture), einer serviceorientierten Architektur, die ein moderner Standard für die Integration von Anwendungen und Informationssystemen ist. Im Wesentlichen ist dies die Möglichkeit, eine HTML-Seite mit Daten zu erstellen, auf die dann von jeder anderen Anwendung zugegriffen und gesammelt werden kann.

Vorteile - es funktioniert schnell (auch bei einer ausreichend großen Datenmenge) und ist relativ praktisch.

Nachteile - Ihr 1s-Programmierer wird Sie viel und lange meckern, während er einen Webdienst für Ihre Datenbank schreibt. Die Sache ist schriftlich sehr eigenartig.

Ich werde nicht sagen, wie man einen Webdienst schreibt ... Ich werde sagen, wie man ihn unter Linux von der Serverkonsole aus veröffentlicht, sowie ein wenig über die Installation von 1s Server unter Linux.

Und so haben wir debian 9 netinst, fahren Sie fort:

Installieren Sie PostgresPro (Bitte beachten Sie, dass es nicht kostenlos ist und nur verteilt wird, um sich mit den Funktionen vertraut zu machen):

# 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 '';" 

Angenommen, postgresql hört sich alle Adressen an und nicht nur localhost
 # nano /var/lib/pgpro/std-11/data/postgresql.conf 


Kommentieren Sie aus und ändern Sie die Adressen, die Sie anhören möchten:
...
#listen_addresses = 'localhost'
...

Ein
...
listen_addresses = '*'
...


Lassen Sie uns als Nächstes Benutzer aus unserem Netzwerk autorisieren
 # nano /var/lib/pgpro/std-11/data/pg_hba.conf 

Änderung:
# Lokale IPv4-Verbindungen:
host all all 127.0.0.1/32 md5

auf
host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5


Weitere Informationen zu den verschiedenen Postgres-Installationen für 1s finden Sie hier .

Als nächstes setzen wir 1s Server.

Wir laden das von der Site 1c heruntergeladene Archiv auf den Server hoch (in meinem Fall deb64_8_3_15_1534.tar.gz).
 # tar -xzf deb64_8_3_15_1534.tar.gz 

 # dpkg -i *.deb 

noch ein paar kleine dinge:
 # apt install imagemagick unixodbc libgsf-bin 


Installieren Sie nun Apache2

 # apt install apache2 


Über die Administrationskonsole oder über den Client 1c erstellen wir die Datenbank und füllen unsere Konfiguration ...

Jetzt veröffentlichen wir die Basis:

Gehe in den Ordner mit 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 


Wir steigen in var / www / test / und schauen uns an, was dort aufgetaucht ist.

 # cd /var/www/test 


 # nano default.vrd 


""
<? xml version = "1.0" encoding = "UTF-8"?>
<point xmlns = " v8.1c.ru/8.2/virtual-resource-system "
xmlns: xs = " www.w3.org/2001/XMLSchema "
xmlns: xsi = " 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" />
""

Dies sind die Schemata, die zum Starten des 1s-Webclients erforderlich sind. Jetzt können Sie über den Browser unter der Adresse „http: // ServerAddress / Test“ (das Register ist wichtig! Dies ist Linux) zu unserer Testdatenbank gehen oder die Adresse „ http: // ServerAddress / Test ”, und der Client arbeitet mit der veröffentlichten Datenbank.

ABER

Und was ist mit Webdiensten? (In meiner Testkonfiguration gibt es zwei davon: WebBuh für den Datenaustausch mit Buchhaltung und die Toplog-Integration mit dem wms-System desselben Unternehmens).

Fügen Sie unserer vrd-Datei ein paar Zeilen hinzu ...

<? xml version = "1.0" encoding = "UTF-8"?>
<point xmlns = " v8.1c.ru/8.2/virtual-resource-system "
xmlns: xs = " www.w3.org/2001/XMLSchema "
xmlns: xsi = " 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"/>


speichern.

Und jetzt ist unser Webservice unter der Adresse "http: //AddressServer/Test/Web_buh.1cws?" Verfügbar.

Warum musstest du es mit deinen Händen machen?

Da unser Server keine grafische Shell hat, schlägt das Ausführen des Konfigurators fehl und das Veröffentlichen entsprechend mit Standardtools. Der Remote-Konfigurator auf dem Client veröffentlicht keine Webdienste auf dem Server. Daher müssen wir die Konfiguration manuell gemäß der oben beschriebenen Vorlage bearbeiten.

Skript zum Generieren von .vrd - danke TihonV

Source: https://habr.com/ru/post/de462965/


All Articles