Мо сервери 1c бо нашри пойгоҳи додаҳо ва хидматҳои веб дар Linux эҷод мекунем

Мо сервери 1c бо нашри пойгоҳи додаҳо ва хидматҳои веб дар Linux эҷод мекунем

Имрӯз ман мехоҳам ба шумо бигӯям, ки чӣ гуна сервери 1c дар Linux Debian 9 бо нашри хидматҳои веб таъсис дода шавад.

Хидматҳои веб 1c чист?

Хидматҳои веб яке аз механизмҳои платформаест, ки барои ҳамгироӣ бо дигар системаҳои иттилоотӣ истифода мешавад. Он як воситаи дастгирии SOA (Архитектураи ба хидмат нигаронидашуда), меъмории ба хидмат нигаронидашуда мебошад, ки стандарти муосир барои ҳамгироии барномаҳо ва системаҳои иттилоотӣ мебошад. Аслан, ин қобилияти эҷод кардани саҳифаи html бо маълумот аст, ки баъдан ба он ҳама гуна замимаи дигар дастрасӣ пайдо кардан ва дарёфт кардан мумкин аст.

Тарафдор - он зуд кор мекунад (ҳатто бо миқдори хеле зиёди маълумот) ва нисбатан қулай аст.

Камбудиҳо - барномасози 1C-и шумо ҳангоми навиштани хидмати веб барои пойгоҳи додаи шумо аз шумо бисёр ва муддати тӯлонӣ шикоят мекунад. Чизе дар навиштан хеле хос аст.

Ман ба шумо намегӯям, ки чӣ тавр нависед хидмати веб... Ман ба шумо мегӯям, ки чӣ тавр онро дар Linux аз консоли сервер нашр кунед ва инчунин каме дар бораи насб кардани сервери 1C дар Linux.

Ва ҳамин тавр, мо debian 9 netinst дорем, биёед оғоз кунем:

PostgresPro-ро насб кунед (Лутфан қайд кунед, ки он ройгон нест ва танҳо дар доираи шиносоӣ бо қобилиятҳо паҳн карда мешавад):

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

Биёед ба postgresql бигӯем, ки ҳама суроғаҳоро гӯш кунад, на танҳо localhost

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

Биёед шарҳро бекор кунем ва тағир диҳем, ки кадом суроғаҳоро гӯш кардан лозим аст:

...
#суроғаҳои_гӯш кунед = 'хости маҳаллӣ'
...

Дар бораи он

...
гӯш_суроғаҳо = '*'
...

Баъдан, биёед ба корбарон аз шабакаи мо иҷозат диҳем, ки ворид шаванд

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

Биёед тағир диҳем:

# Пайвастҳои маҳаллии IPv4:
мизбон ҳама 127.0.0.1/32 md5

ба

мизбон ҳама 192.168.188.0/24 md5
мизбон ҳама 127.0.0.1/32 md5

Шумо метавонед дар бораи насбҳои гуногуни Postgres барои 1c маълумоти бештар гиред дар ин ҷо.

Минбаъд мо серверро 1s ҷойгир мекунем.

Архиви аз вебсайти 1c зеркашӣшударо ба сервер бор кунед (дар ҳолати ман deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

боз якчанд чизҳои хурд:

# apt install imagemagick unixodbc libgsf-bin

Акнун биёед Apache2-ро насб кунем

# apt install apache2

Тавассути консоли маъмурият ё тавассути муштарии 1c, мо пойгоҳи додаҳо эҷод мекунем ва конфигуратсияи худро бор мекунем...

Ҳоло мо базаи маълумотро нашр мекунем:

ба папка бо 1s гузаред.

# 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

Биёед ба var/www/test/ равем ва бубинем, ки дар он ҷо чӣ пайдо мешавад.

# cd /var/www/test
# nano default.vrd

«

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="/Санҷиш"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata фаъол = "дурӯғ"
reuseSessions="autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout = "5"/>

«

Инҳо схемаҳое ҳастанд, ки барои оғоз кардани мизоҷи веби 1c лозиманд... акнун шумо метавонед ба пойгоҳи санҷишии мо аз браузер бо суроғаи “http://ServerAddress/Test” равед (ҳолат муҳим аст! ин Linux аст) ё муайян кунед дар муштарӣ суроғаи "навъи ҷойгиршавии пойгоҳи додаҳо" " http://ServerAddress/Test" ва муштарӣ бо пойгоҳи додашуда кор хоҳад кард.

Бут

Дар бораи хидматҳои веб чӣ гуфтан мумкин аст? (дар конфигуратсияи санҷишии ман дутои онҳо вуҷуд доранд: WebBuh барои мубодилаи маълумот бо ҳисобдорӣ ва ҳамгироии топлог бо системаи wms ширкати ҳамон ном).

Хуб, биёед ба файли vrd мо якчанд сатр илова кунем...


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_addres;Ref=TestWebServ">
<standardOdata фаъол = "дурӯғ"
reuseSessions="autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout = "5"/>

# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Имя веб-сервиса в конфигураторе
alias="Web_buh.1cws" # Web_buh.1cws - алиас веб-сервиса в браузере
enable="true" # дальше я думаю строки и так понятны
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # второй веб сервис
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

захира кунед.

Ва ҳоло хидмати веби мо дар "http://ServerAddress/Test/Web_buh.1cws?"

Чаро ин корро дастй кардан лозим омад?

Азбаски сервери мо қабати графикӣ надорад, конфигураторро дар он иҷро кардан ва мувофиқан бо истифода аз воситаҳои стандартӣ нашр кардан ғайриимкон аст. Конфигуратори дурдаст, ки дар муштарӣ ҷойгир аст, хидматҳои вебро дар сервер нашр намекунад. Аз ин рӯ, мо бояд конфигуратсияро мувофиқи қолаби дар боло тавсифшуда дастӣ таҳрир кунем.

Скрипт барои тавлиди .vrd - Сипос ТихонВ

Манбаъ: will.com

Илова Эзоҳ