
Täna tahaksin rääkida, kuidas seadistada 1C serverit Linux Debian 9-s koos veebiteenuste avaldamisega.
Mis on 1C veebiteenused?
on üks platvormi mehhanisme, mida kasutatakse teiste infosüsteemidega integreerimiseks. See on teenuste toetamise vahend SOA (teenus, orienteeritud arhitektuur) jaoks, mis on tänapäevane rakenduste ja infosüsteemide integreerimise standard. Põhimõtteliselt on see võimalus luua HTML-leht andmete jaoks, millele saavad kõik teised rakendused juurde pääseda ja need kätte saada.
Plussid — töötab kiiresti (isegi piisavalt suure andmemahu korral), suhteliselt mugav.
Miinused — teie 1C programmeerija kurdab palju ja pikalt, kuni ta kirjutab teie andmebaasi jaoks veebiteenuse. See on väga spetsiifiline kirjutamismeetod.
Ma ei hakka rääkima, kuidas kirjutada ... ma räägin, kuidas seda Linuxis serveri konsoolist avaldada, samuti natuke 1C serveri installimisest Linuxis.
Nii, meil on Debian 9 netinst, alustame:
Installeerime PostgresPro (palun panna tähele, et see ei ole tasuta ja seda levitatakse ainult võimaluste tutvustamise raames):
# 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 'ВашПароль';"Oletame, et PostgreSQL kuulab kõiki aadresse, mitte ainult localhosti.
# nano /var/lib/pgpro/std-11/data/postgresql.confKommenteerime välja ja muudame, milliseid aadresse kuulata:
…
#listen_addresses = ‘localhost’
…
Pealehe
…
listen_addresses = '*'
…
Seejärel lubame meie võrgustiku kasutajatel autoriseerida.
# nano /var/lib/pgpro/std-11/data/pg_hba.confMuudame:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
. Tundub, et
host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5
Erinevate Postgresi installatsioonide kohta 1C jaoks saab lähemalt lugeda. .
Seejärel installime 1C serveri.
Laadime serverisse alla arhiivi, mille olen allalaadimise lehelt saanud (minu puhul deb64_8_3_15_1534.tar.gz).
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.debVeel paar väikest detaili:
# apt install imagemagick unixodbc libgsf-binNüüd installime Apache2.
# apt install apache2Konsooli haldamise või 1C kliendi kaudu loome andmebaasi ja laadime üles meie konfigureerimise...
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.confKäime var/www/test/ ja vaatame, mis seal on.
# 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 for running 1C web client… now you can access our test database from a browser at the address "http://ServerAddress/Test" (case matters! it's Linux) or specify the "database location type" in the client with the address "http://ServerAddress/Test", and the client will work with the published database.
KUID
What about web services? (In my test configuration, there are two: WebBuh for data exchange with accounting and toplog integration with the WMS system of the same name).
Well, let's add a couple of lines to our vrd file…
<?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_address;Ref=TestWebServ">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Veebiteenuse nimi seadistustes
alias="Web_buh.1cws" # Web_buh.1cws - veebiteenuse alias brauseris
enable="true" # edasi arvan, et read on selged
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"/>
let's save.
And now our web service is available at the address "http://ServerAddress/Test/Web_buh.1cws?"
Why did we have to do this manually?
Since our server has no graphical interface, it's not possible to run the configurator on it, and thus publish with standard tools. The remote configurator, which is on the client, does not publish web services on the server. Therefore, we have to edit the config manually following the template described above.
— thank you
Allikas: habr.com
