Tõstame 1C serveri koos andmebaasi ja veebiteenuste avaldamisega Linuxil

Tõstame 1C serveri koos andmebaasi ja veebiteenuste avaldamisega Linuxil

Täna tahaksin rääkida, kuidas seadistada 1C serverit Linux Debian 9-s koos veebiteenuste avaldamisega.

Mis on 1C veebiteenused?

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

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

Muudame:

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

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

Veel paar väikest detaili:

# apt install imagemagick unixodbc libgsf-bin

Nüüd installime Apache2.

# apt install apache2

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

Kä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.

Script for generating .vrd — thank you TihonV

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster