Денес би сакал да ви кажам како да подигнете сервер 1c на Linux Debian 9 со објавување на веб-услуги.
Што се веб услуги 1c?
Добрите - работи брзо (дури и со прилично голема количина на податоци), релативно погодно.
Недостатоци - вашиот 1c програмер ќе ви мрмори долго време додека пишува веб-услуга за вашата база на податоци. Работата е многу чудна во пишувањето.
Нема да ви кажам како да пишувате
И така, имаме 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
Откажете ги коментарите и променете кои адреси да ги слушате:
...
#listen_addresses = 'локален домаќин'
...
На
...
listen_addresses = '*'
...
Следно, да им дозволиме на корисниците од нашата мрежа да се логираат
# 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 за 1s
Понатаму ставаме 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"
база = "/Тест"
ib="Srvr=192.168.188.150; Ref=Test;">
<standardOdata enable=«false»
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 enable=«false»
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?"
Зошто мораше да го направиш тоа со рака?
Бидејќи нашиот сервер е без графичка обвивка, нема да работи да го стартувате конфигураторот на него и, соодветно, да го објавите користејќи редовни средства. Далечинскиот конфигуратор инсталиран на клиентот не објавува веб-услуги на серверот. Затоа, мораме рачно да ја уредиме конфигурацијата според шаблонот опишан погоре.
Извор: www.habr.com