Seame 1C server koos andmebaasi ja veebiteenuste publikatsiooniga Linuxil

Seame 1C server koos andmebaasi ja veebiteenuste publikatsiooniga Linuxil

Täna tahaksin rääkida sellest, kuidas tõsta 1C server Linux Debian 9-le web-teenuste avaldamisega.

Mis on 1C web-teenused?

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 veebiteenus… 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.conf

Vahetame 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.conf

Muudame:

# 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 siin.

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 *.deb

veel paar väikest asja:

# apt install imagemagick unixodbc libgsf-bin

Nüüd installime Apache2

# apt install apache2

Kasutades 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.conf

Uurime 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.

Skript .vrd genereerimiseks — aitäh TihonV

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster