Hodiaŭ mi ŝatus diri al vi kiel agordi 1c-servilon en Linukso Debian 9 kun la publikigo de retservoj.
Kio estas 1C-retservoj?
Avantaĝoj - ĝi funkcias rapide (eĉ kun sufiĉe granda kvanto da datumoj), kaj estas relative oportuna.
Kontraŭoj - via 1C-programisto grumblos pri vi multe kaj longe dum li verkas retservon por via datumbazo. La afero estas tre stranga skribe.
Mi ne diros al vi kiel skribi
Kaj do, ni havas debian 9 netinst, ni komencu:
Instalu PostgresPro (Bonvolu noti, ke ĝi ne estas senpaga, kaj estas distribuita nur kiel parto de konatiĝo kun la kapabloj):
# 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 'ВашПароль';"
Ni diru al postgresql aŭskulti ĉiujn adresojn kaj ne nur localhost
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Ni malkomento kaj ŝanĝu kiujn adresojn aŭskulti:
...
#listen_addresses = 'loka gastiganto'
...
En
...
aŭskultu_adresojn = '*'
...
Poste, ni permesu al uzantoj de nia reto ensaluti
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
Ni ŝanĝu:
# IPv4 lokaj konektoj:
gastigas ĉiujn 127.0.0.1/32 md5
sur
gastigas ĉiujn 192.168.188.0/24 md5
gastigas ĉiujn 127.0.0.1/32 md5
Vi povas legi pli pri diversaj instalaĵoj de Postgres por 1c
Poste ni instalas 1c-servilon.
Alŝutu la arkivon elŝutitan de la retejo 1c al la servilo (en mia kazo deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
kelkaj pliaj aferoj:
# apt install imagemagick unixodbc libgsf-bin
Nun ni instalu Apache2
# apt install apache2
Per la administra konzolo aŭ per la kliento 1c, ni kreas datumbazon kaj alŝutas nian agordon...
Nun ni publikigas la datumbazon:
iru al la dosierujo kun 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
Ni iru al var/www/test/ kaj vidu, kio aperas tie.
# 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"
bazo=”/Testo”
ib="Srvr=192.168.188.150;Ref=Testo;">
<standardOdata enable=«false»
reuseSessions="aŭtomata uzo"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
«
Ĉi tiuj estas la skemoj, kiuj estas bezonataj por lanĉi la retklienton 1c... nun vi povas iri al nia testa datumbazo de retumilo ĉe la adreso "http://ServerAddress/Test" (kazaĵo gravas! ĉi tio estas Linukso) aŭ specifi en la kliento la "datumbaza loko-tipo" adreso " http://ServerAddress/Test ", kaj la kliento laboros kun la publikigita datumbazo.
SIN
Kio pri retservoj? (en mia testa agordo estas du el ili: WebBuh por datumŝanĝo kun kontado kaj toplog integriĝo kun la wms-sistemo de la samnoma kompanio).
Nu, ni aldonu kelkajn liniojn al nia vrd-dosiero...
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"
bazo=”/TestWeb”
ib="Srvr=IP_adreso;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="aŭtomata uzo"
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"/>
ni savu ĝin.
Kaj nun nia retservo disponeblas ĉe "http://ServerAddress/Test/Web_buh.1cws?"
Kial vi devis fari ĝin mane?
Ĉar nia servilo ne havas grafikan ŝelon, ne eblos ruli la agordilon sur ĝi, kaj sekve, publikigi per normaj rimedoj. La fora agordilo, kiu situas sur la kliento, ne publikigas retservojn sur la servilo. Tial ni devas redakti la agordon permane laŭ la ŝablono priskribita supre.
fonto: www.habr.com