Felemeljük az 1C szervert az adatbázis és a webszolgáltatások közzétételével Linux-on

Felemeljük az 1C szervert az adatbázis és a webszolgáltatások közzétételével Linux-on

Ma arról szeretnék beszélni, hogyan állíthatunk be egy 1C szervert Linux Debian 9-en a webszolgáltatások közzétételével.

Mi az 1C webszolgáltatások?

Webszolgáltatások — a platform egyik mechanizmusa, amely más informatikai rendszerekkel való integrációra szolgál. Ez az SOA (Service-Oriented Architecture) — szolgáltatás-orientált architektúra támogatásának eszköze, amely a korszerű alkalmazás- és informatikai rendszerek integrálásának szabványa. Lényegében lehetőség egy html oldal létrehozására adatokkal, amelyhez bármely más alkalmazás hozzáférhet és kinyerheti azokat.

Előnyök — gyorsan működik (még viszonylag nagy adatmennyiség mellett is), viszonylag kényelmes.

Hátrányok — az 1C programozója sokáig és sokat fog panaszkodni, amíg megírja a webszolgáltatást az Ön adatbázisához. Ez egy különösen sajátos dolog a megírás során.

Nem fogom elmondani, hogyan kell megírni a webszolgáltatást… hanem arról beszélek, hogyan lehet közzétenni Linux-on a szerver konzoljáról, és egy kicsit az 1C szerver telepítéséről a Linux-on.

Tehát, van egy Debian 9 netinst, kezdjük:

Telepítjük a PostgresPro-t (jogos észrevétel, hogy nem ingyenes, és csak a lehetőségekkel való ismerkedés keretein belül terjesztik):

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

Mondjuk, hogy a PostgreSQL minden címet hallgat, nem csak a localhost-ot

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

Ki kell kommentálni és megváltoztatni, hogy milyen címeket hallgasson:

…
#listen_addresses = ‘localhost’
…

Ezen

…
listen_addresses = ‘*’
…

Ezután engedélyezzük a felhasználók bejelentkezését a hálózatunkból

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

Megváltoztatjuk:

# IPv4 local connections:
host all all 127.0.0.1/32 md5

Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata

host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5

Részletesebben a különböző Postgres telepítésekről 1C-hez olvashat: itt.

Ezután telepítjük az 1C szervert.

Feltöltjük a szerverre az 1C weboldaláról letöltött archívumot (az én esetemben deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

Egy pár apróság:

# apt install imagemagick unixodbc libgsf-bin

Most telepítsük az Apache2-t

# apt install apache2

A konzol adminisztrálásán vagy az 1C kliensével létrehozunk egy adatbázist, és feltöltjük a konfigurációnkat...

Most közzétesszük az adatbázist:

Átlépünk az 1C mappába.

# 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

Belépünk a var/www/test/ mappába, és megnézzük, mi jelent meg ott.

# 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"/>

«

Ezek azok a sémák, amelyek szükségesek a 1C webkliens futtatásához... mostantól a tesztadatbázisunkhoz a böngészőn keresztül a következő címen tudunk hozzáférni: «http ://ServerCím/Test» (a kis- és nagybetűk fontosak! ez Linux), vagy megadhatjuk a kliensben a «bázis elhelyezésének típusa» címét «http ://ServerCím/Test», és a kliens működni fog a publikált adatbázissal.

DE

De mi a helyzet a webszolgáltatásokkal? (az én tesztkonfigurációm két webszolgáltatást tartalmaz: WebBuh a könyvelő programmal való adatok cseréjére és toplog integráció a hasonló nevű WMS rendszerrel).

Nos, adjunk hozzá pár sort a vrd fájlunkhoz...

<?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_cím;Ref=TestWebServ»>
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # A web service name in the configurator
alias="Web_buh.1cws" # Web_buh.1cws - the alias of the web service in the browser
enable="true" # I think the lines are clear from here
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # second web service
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

mentsük el.

Most a webszolgáltatásunk a következő címen érhető el: «http ://ServerCím/Test/Web_buh.1cws?»

Miért kellett ezt manuálisan csinálni?

Mivel a szerverünk grafikus felület nélkül működik, nem tudunk konfigurálót futtatni rajta, és ennek következtében a hivatalos eszközökkel sem tudjuk publikálni. A távoli konfiguráló, amely a kliensen áll, nem publikál a szerveren webszolgáltatásokat. Ezért kénytelenek vagyunk kézzel javítani a konfigurációt a fent leírt minta szerint.

Szkript a .vrd generálásához — köszönöm TihonV

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster