Kuriame 1c serverį su duomenų bazės publikavimu ir žiniatinklio paslaugomis Linux sistemoje

Kuriame 1c serverį su duomenų bazės publikavimu ir žiniatinklio paslaugomis Linux sistemoje

Šiandien norėčiau jums pasakyti, kaip nustatyti 1c serverį „Linux Debian 9“, skelbiant žiniatinklio paslaugas.

Kas yra 1C žiniatinklio paslaugos?

Interneto paslaugos yra vienas iš platformos mechanizmų, naudojamų integruojant su kitomis informacinėmis sistemomis. Tai priemonė palaikyti SOA (į paslaugas orientuotą architektūrą), į paslaugas orientuotą architektūrą, kuri yra modernus taikomųjų programų ir informacinių sistemų integravimo standartas. Iš esmės tai yra galimybė sukurti html puslapį su duomenimis, kuriuos vėliau gali pasiekti bet kuri kita programa ir nuskaityti.

Argumentai "už" - veikia greitai (net ir turint gana didelį duomenų kiekį), ir yra gana patogu.

Suvart - jūsų 1C programuotojas daug ir ilgai niurzgės ant jūsų, kol rašys žiniatinklio paslaugą jūsų duomenų bazei. Rašant reikalas labai savotiškas.

Aš tau nesakysiu, kaip rašyti žiniatinklio paslauga... Aš jums pasakysiu, kaip paskelbti jį „Linux“ iš serverio konsolės, taip pat šiek tiek apie 1C serverio diegimą „Linux“.

Taigi, mes turime debian 9 netinst, pradėkime:

Įdiekite „PostgresPro“ (atkreipkite dėmesį, kad jis nėra nemokamas ir platinamas tik kaip dalis susipažinimo su galimybėmis):

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

Leiskite postgresql klausytis visų adresų, o ne tik localhost

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

Komentuokime ir pakeiskime, kurių adresų klausyti:

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

Apie

...
listen_addresses = '*'
...

Tada leiskime vartotojams iš mūsų tinklo prisijungti

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

Keiskime:

# IPv4 vietiniai ryšiai:
priegloba visi visi 127.0.0.1/32 md5

apie

priegloba visi visi 192.168.188.0/24 md5
priegloba visi visi 127.0.0.1/32 md5

Galite perskaityti daugiau apie įvairius Postgres įrenginius, skirtus 1c čia.

Toliau įdiegiame 1c serverį.

Iš 1c svetainės atsisiųstą archyvą įkelkite į serverį (mano atveju deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

dar pora smulkmenų:

# apt install imagemagick unixodbc libgsf-bin

Dabar įdiegkime „Apache2“.

# apt install apache2

Per administravimo konsolę arba 1c klientą sukuriame duomenų bazę ir įkeliame savo konfigūraciją...

Dabar skelbiame duomenų bazę:

eikite į aplanką su 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

Eikime į var/www/test/ ir pažiūrėkime, kas ten rodoma.

# 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"
baseino dydis = "10"
poolTimeout="5"/>

«

Tai yra schemos, kurių reikia norint paleisti 1c žiniatinklio klientą... dabar galite pereiti į mūsų bandomąją duomenų bazę iš naršyklės adresu „http://ServerAddress/Test“ (atvejis svarbus! tai Linux) arba nurodyti kliente „duomenų bazės vietos tipo“ adresą „ http://ServerAddress/Test“, ir klientas dirbs su paskelbta duomenų baze.

BET

Ką apie žiniatinklio paslaugas? (mano bandomojoje konfigūracijoje jų yra dvi: WebBuh duomenų mainams su apskaita ir toplog integracija su to paties pavadinimo įmonės wms sistema).

Na, pridėkime keletą eilučių į mūsų vrd failą...


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"
baseino dydis = "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"/>

išsaugokime.

O dabar mūsų žiniatinklio paslauga pasiekiama adresu http://ServerAddress/Test/Web_buh.1cws?

Kodėl reikėjo tai daryti rankomis?

Kadangi mūsų serveris neturi grafinio apvalkalo, jame nebus galima paleisti konfigūratoriaus ir atitinkamai publikuoti standartinėmis priemonėmis. Nuotolinis konfigūratorius, esantis kliente, neskelbia žiniatinklio paslaugų serveryje. Todėl turime redaguoti konfigūraciją rankiniu būdu pagal aukščiau aprašytą šabloną.

Scenarijus .vrd generavimui - Ačiū TihonV

Šaltinis: www.habr.com

Добавить комментарий