Astăzi aș dori să vă spun cum să configurați un server 1c pe Linux Debian 9 cu publicarea serviciilor web.
Ce sunt serviciile web 1C?
Pro - funcționează rapid (chiar și cu o cantitate destul de mare de date) și este relativ convenabil.
Contra - programatorul tău 1C se va mormăi mult la tine și pentru o lungă perioadă de timp în timp ce scrie un serviciu web pentru baza ta de date. Lucrul este foarte ciudat în scris.
Nu vă spun cum să scrieți
Și așa, avem debian 9 netinst, să începem:
Instalați PostgresPro (vă rugăm să rețineți că nu este gratuit și este distribuit doar ca parte a familiarizării cu capabilitățile):
# 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 'ВашПароль';"
Să îi spunem postgresql să asculte toate adresele și nu doar localhost
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Să decomentăm și să schimbăm adresele pe care să le ascultăm:
...
#listen_addresses = 'localhost'
...
Pe
...
listen_addresses = '*'
...
Apoi, să permitem utilizatorilor din rețeaua noastră să se conecteze
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
Hai sa schimbam:
# Conexiuni locale IPv4:
găzduiește toate 127.0.0.1/32 md5
pe
găzduiește toate 192.168.188.0/24 md5
găzduiește toate 127.0.0.1/32 md5
Puteți citi mai multe despre diverse instalări Postgres pentru 1c
Apoi instalăm serverul 1c.
Încărcați arhiva descărcată de pe site-ul 1c pe server (în cazul meu deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
inca cateva lucruri mici:
# apt install imagemagick unixodbc libgsf-bin
Acum haideți să instalăm Apache2
# apt install apache2
Prin consola de administrare sau prin clientul 1c, creăm o bază de date și încărcăm configurația noastră...
Acum publicăm baza de date:
mergeți la folderul cu 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
Să mergem la var/www/test/ și să vedem ce apare acolo.
# 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”
baza=”/Test”
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="utilizare automată"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
«
Acestea sunt schemele care sunt necesare pentru a lansa clientul web 1c... acum puteți merge la baza noastră de date de testare dintr-un browser la adresa „http://ServerAddress/Test” (cazul este important! acesta este Linux) sau specificați în client adresa „tipul locației bazei de date” „ http://ServerAddress/Test”, iar clientul va lucra cu baza de date publicată.
DAR
Dar serviciile web? (în configurația mea de testare există două dintre ele: WebBuh pentru schimb de date cu contabilitate și integrare toplog cu sistemul wms al companiei cu același nume).
Ei bine, să adăugăm câteva rânduri la fișierul nostru 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”
baza=”/TestWeb”
ib="Srvr=IP_address;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions="utilizare automată"
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"/>
hai să-l salvăm.
Și acum serviciul nostru web este disponibil la „http://ServerAddress/Test/Web_buh.1cws?”
De ce a trebuit să o faci cu mâna?
Deoarece serverul nostru nu are un shell grafic, nu va fi posibil să rulați configuratorul pe acesta și, în consecință, să publicați folosind mijloace standard. Configuratorul de la distanță, care se află pe client, nu publică servicii web pe server. Prin urmare, trebuie să edităm manual configurația conform șablonului descris mai sus.
Sursa: www.habr.com