Данас бих желео да вам кажем како да подигнете 1ц сервер на линук дебиан 9 са објављивањем веб сервиса.
Шта су веб сервиси 1ц?
Предности - ради брзо (чак и са прилично великом количином података), релативно згодно.
Против - ваш 1ц програмер ће дуго гунђати на вас док пише веб сервис за вашу базу података. Ствар је врло необична у писању.
Нећу ти рећи како да пишеш
И тако, имамо дебиан 9 нетинст, хајде да почнемо:
Инсталирајте ПостгресПро (Имајте на уму да није бесплатан и да се дистрибуира само као део упознавања са могућностима):
# 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 'ВашПароль';"
Рецимо постгрескл-у да слуша све адресе, а не само локални хост
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Уклоните коментаре и промените које адресе да слушате:
...
#листен_аддрессес = 'лоцалхост'
...
На
...
листен_аддрессес = '*'
...
Затим, дозволимо корисницима са наше мреже да се пријаве
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
Хајде да променимо:
# ИПв4 локалне везе:
хост све све 127.0.0.1/32 мд5
на
хост све све 192.168.188.0/24 мд5
хост све све 127.0.0.1/32 мд5
Можете прочитати више о различитим Постгрес инсталацијама за 1с
Даље стављамо 1с сервер.
Отпремите архиву преузету са веб локације 1ц на сервер (у мом случају деб64_8_3_15_1534.тар.гз)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
још пар ситница:
# apt install imagemagick unixodbc libgsf-bin
Сада хајде да инсталирамо Апацхе2
# apt install apache2
Преко административне конзоле или преко 1ц клијента креирамо базу података и попуњавамо нашу конфигурацију ...
Сада објављујемо базу података:
идите у фасциклу са 1с.
# 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
Пењемо се у вар/ввв/тест/ и видимо шта се тамо појавило.
# cd /var/www/test
# nano default.vrd
«
в8.1ц.ру/8.2/виртуал-ресоурце-систем"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема">ввв.в3.орг/2001/КСМЛСцхема"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце">ввв.в3.орг/2001/КСМЛСцхема-инстанце"
басе="/Тест"
иб="Срвр=192.168.188.150;Реф=Тест;">
<standardOdata enable=«false»
реусеСессионс="аутоусе"
сессионМакАге="20"
поолСизе="10"
поолТимеоут="5"/>
«
Ово су шеме које су потребне за покретање 1ц веб клијента ... сада можете приступити нашој тест бази података из претраживача на адреси "хттп://СерверАддресс/Тест" (случај је важан! Ово је Линук) или наведите „басе лоцатион типе“ адресу у клијенту „ хттп://СерверАддресс/Тест“ и клијент ће радити са објављеном базом података.
АЛИ
Али шта је са веб услугама? (у мојој тест конфигурацији постоје два: ВебБух за размену података са рачуноводством и топлог интеграције са вмс системом истоимене компаније).
Па, хајде да додамо пар редова у нашу врд датотеку...
в8.1ц.ру/8.2/виртуал-ресоурце-систем"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема">ввв.в3.орг/2001/КСМЛСцхема"
хреф="хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце">ввв.в3.орг/2001/КСМЛСцхема-инстанце"
басе="/ТестВеб"
иб="Срвр=ИП_адреса;Реф=ТестВебСерв">
<standardOdata enable=«false»
реусеСессионс="аутоусе"
сессионМакАге="20"
поолСизе="10"
поолТимеоут="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"/>
сачувати.
А сада је наша веб услуга доступна на "хттп://СерверАддресс/Тест/Веб_бух.1цвс?"
Зашто сте то морали да радите ручно?
Пошто наш сервер нема графичку шкољку, неће бити могуће покренути конфигуратор на њему, и сходно томе, објавити стандардним средствима. Удаљени конфигуратор, који се налази на клијенту, не објављује веб сервисе на серверу. Због тога морамо ручно да уредимо конфигурацију према горе описаном шаблону.
Извор: ввв.хабр.цом