Opsætning af 1С server med publicering af databasen og webservices på Linux

Opsætning af 1С server med publicering af databasen og webservices på Linux

I dag vil jeg gerne fortælle, hvordan man opsætter en 1C-server på Linux Debian 9 med publikationen af webtjenester.

Hvad er 1C webtjenester?

Webtjenester er en af platformens mekanismer, der bruges til at integrere med andre informationssystemer. Det er et middel til at støtte SOA (Service-Oriented Architecture) — serviceorienteret arkitektur, som er den moderne standard for integration af applikationer og informationssystemer. Essensen er, at det er muligt at oprette en HTML-side med data, som andre applikationer derefter kan tilgå for at hente dem.

Fordele — det fungerer hurtigt (selv med en relativt stor mængde data), og det er relativt nemt.

Ulemper — din 1C-programmør vil brokke sig meget og længe, mens han skriver webtjenesten til din database. Det er en temmelig besværlig proces.

Jeg vil ikke fortælle, hvordan man skriver en webtjeneste… jeg vil fortælle, hvordan man offentliggør den på Linux fra serverens terminal, samt lidt om installationen af 1C-serveren på Linux.

Så, vi har Debian 9 netinst, lad os starte:

Installer PostgresPro (Bemærk at det ikke er gratis, og distribueres kun i forbindelse med at kende funktionerne):

# 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 'ВашПароль';"

Lad os sige, at PostgreSQL skal lytte på alle adresser og ikke kun localhost.

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

Vi fjerner kommenteringen og ændrer, hvilke adresser der skal lyttes på:

…
#listen_addresses = ‘localhost’
…

På

…
listen_addresses = '*'
…

Derefter tillader vi brugere fra vores netværk at logge ind.

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

Vi ændrer:

# IPv4 local connections:
host all all 127.0.0.1/32 md5

og få en fungerende kommando.

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

Du kan læse mere om forskellige installationer af Postgres til 1C her.

Dernæst installerer vi 1C-serveren.

Upload den downloadede arkivfil til serveren fra 1C's hjemmeside (i mit tilfælde deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

et par flere detaljer:

# apt install imagemagick unixodbc libgsf-bin

Nu vil vi installere Apache2.

# apt install apache2

Gennem administrationskonsollen eller via 1C-klienten opretter vi databasen og uploader vores konfiguration…

Nu offentliggør vi databasen:

lad os gå ind i mappen med 1C.

# 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

Lad os gå ind i var/www/test/ og se, hvad der er dukket op der.

# cd /var/www/test
# nano default.vrd

«
<?xml version=«1.0» encoding=«UTF-8»?>
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"/>

«

Dette er skemaerne, der er nødvendige for at starte webklienten 1c... Nu kan du tilgå vores testdatabase fra en browser på adressen «http ://ServerAdresse/Test» (case er vigtigt! Det er jo Linux) eller angive i klienten «type af databaseplacering» adressen «http ://ServerAdresse/Test», og klienten vil fungere med den publicerede database.

MEN

Hvad med webtjenester? (I min testkonfiguration er der to: WebBuh til dataudveksling med regnskabsafdelingen og toplog integration med WMS-systemet af samme navn).

Nå, lad os tilføje et par linjer til vores vrd-fil...

<?xml version=«1.0» encoding=«UTF-8»?>
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_adresse;Ref=TestWebServ»>
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Navn på webtjenesten i konfigurationsværktøjet
alias="Web_buh.1cws" # Web_buh.1cws - alias for webtjenesten i browseren
enable="true" # resten er jeg sikker på er forståeligt
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # den anden webtjeneste
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

lad os gemme.

Og nu er vores webtjeneste tilgængelig på adressen «http ://ServerAdresse/Test/Web_buh.1cws?»

Hvorfor skulle man gøre dette manuelt?

Da vores server ikke har et grafisk interface, kan vi ikke starte konfigurationsprogrammet på den, og dermed kan vi ikke udføre publiceringen med de almindelige værktøjer. Den fjernkonfigurator, som er installeret på klienten, publicerer ikke webtjenester på serveren. Derfor er vi nødt til at redigere konfigurationen manuelt efter skabelonen beskrevet ovenfor.

Script til generering af .vrd — tak TihonV

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster