
Täna tahaksin rääkida sellest, kuidas tõsta 1C server Linux Debian 9-le web-teenuste avaldamisega.
Mis on 1C web-teenused?
on üks platvormi mehhanisme, mida kasutatakse teiste infotehnoloogiliste süsteemidega integreerimiseks. See toetab SOA (Service-Oriented Architecture) — teenusele orienteeritud arhitektuur, mis on kaasaegne rakenduste ja infotehnoloogiliste süsteemide integreerimise standard. Sisuliselt on see võimalus luua HTML-leht andmetega, millele saavad teised rakendused juurdepääsu ja need kätte saada.
Plussid — töötab kiiresti (isegi suurte andmemahtude korral), on suhteliselt mugav.
Miinused — teie 1C programmeerija kurdab teie üle kaua ja põhjalikult, kui kirjutab veebiteenust teie andmebaasi jaoks. See on kirjutamisel väga omamoodi asi.
Ma ei hakka rääkima, kuidas kirjutada … ma räägin, kuidas seda Linuxis serveri konsoolist avaldada, ja natuke 1C serveri installimisest Linuxile.
Nii, meil on Debian 9 netinst, alustame:
Paigaldame PostgresPro (tähelepanu, et see ei ole tasuta ja jagatakse ainult võimaluste tutvustamiseks):
# 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 'ВашПароль';"Ütleme, et postgresql kuulab kõiki aadresse, mitte ainult localhost'i
# nano /var/lib/pgpro/std-11/data/postgresql.confVahetame ja kaotame kommentaarid, milliseid aadresse kuulata:
…
#listen_addresses = ‘localhost’
…
VDS-l on võimalik installida:
…
listen_addresses = '*'
…
Seejärel lubame kasutajatel meie võrgust sisse logida
# nano /var/lib/pgpro/std-11/data/pg_hba.confMuudame:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
järgnevaga
host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5
Rohkem teavet Postgresi erinevate seadistuste kohta 1c jaoks saab lugeda .
Seejärel installime 1c serveri.
Laadime serverisse failiarhiivi, mis on alla laaditud 1c lehelt (minu puhul deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.debveel paar väikest asja:
# apt install imagemagick unixodbc libgsf-binNüüd installime Apache2
# apt install apache2Kasutades halduskonsooli või 1c klienti, loomeme andmebaasi ja laadime üles meie konfiguratsiooni…
Nüüd avaldame andmebaasi:
liigume 1c kausta.
# 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.confUurime var/www/test/ ja vaatame, mis seal on ilmunud.
# 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"/>
«
Need on skeemid, mis on vajalikud 1C veebikliendi käivitamiseks... nüüd on meie testibaasi võimalik brauseri kaudu aadressilt «http ://ServeriAadress/Test» (tähtsus on oluline! see on ju Linux) või määrata kliendis «baasi asukoha tüüp» aadress «http ://ServeriAadress/Test», ja klient töötab avaldatud baasi selles aadressis.
KUID
Aga mis on veebiteenuste osas? (minu testkonfiguratsioonis on need kaks: WebBuh raamatupidamise andmete vahetamiseks ja toplog integraatsioon vastava ettevõtte WMS süsteemiga).
Lisame mõne rea meie vrd failile...
<?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_aadress;Ref=TestWebServ»>
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Veebiteenuse nimi konfigureerijas
alias="Web_buh.1cws" # Web_buh.1cws - veebiteenuse alias brauseris
enable="true" # edasi on read ja nii arusaadavad
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # teine veebiteenus
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
salvestame.
Ja nüüd on meie veebiteenus saadaval aadressil «http ://ServeriAadress/Test/Web_buh.1cws?»
Miks oli vajalik seda käsitsi teha?
Kuna meie serveril puudub graafiline liides, ei saa me sellel käivitada konfigureeritavat — seega ei ole võimalik avaldamist läbi tavapäraste vahendite teostada. Kaugkonfigureerija, mis töötab kliendi peal, ei avalda serveris veebiteenuseid. Seetõttu peame käsitsi konfigureerima vastavalt eespool mainitud mallile.
— aitäh
Allikas: habr.com
