Danas bih vam želio reći kako podići 1c server na linux debian 9 objavljivanjem web servisa.
Šta su web servisi 1c?
Prednosti - radi brzo (čak i sa prilično velikom količinom podataka), relativno zgodno.
Protiv - vaš 1c programer će dugo gunđati na vas dok piše web servis za vašu bazu podataka. Stvar je vrlo neobična u pisanju.
Neću ti govoriti kako da pišeš
I tako, imamo debian 9 netinst, počnimo:
Instalirajte PostgresPro (Imajte na umu da nije besplatan i distribuira se samo kao dio upoznavanja sa mogućnostima):
# 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 'ВашПароль';"
Recimo postgresqlu da sluša sve adrese, a ne samo localhost
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Dekomentirajte i promijenite adrese koje želite slušati:
...
#listen_addresses = 'localhost'
...
U
...
listen_addresses = '*'
...
Zatim, dozvolimo korisnicima sa naše mreže da se prijave
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
promijenimo:
# IPv4 lokalne veze:
host sve sve 127.0.0.1/32 md5
na
host sve sve 192.168.188.0/24 md5
host sve sve 127.0.0.1/32 md5
Možete pročitati više o različitim Postgres instalacijama za 1s
Dalje stavljamo 1s server.
Prenesite arhivu preuzetu sa 1c stranice na server (u mom slučaju deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
još par sitnica:
# apt install imagemagick unixodbc libgsf-bin
Sada instalirajmo Apache2
# apt install apache2
Preko administrativne konzole ili preko 1c klijenta kreiramo bazu podataka i popunjavamo našu konfiguraciju...
Sada objavljujemo bazu podataka:
idite u folder sa 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
Penjemo se u var/www/test/ i vidimo šta se tamo pojavilo.
# 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="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
«
Ovo su šeme koje su potrebne za pokretanje 1c web klijenta... sada možete pristupiti našoj test bazi podataka iz pretraživača na adresi “http://ServerAddress/Test” (slučaj je važan! Ovo je Linux) ili navedite “base location type” adresa u klijentu http://ServerAddress/Test” i klijent će raditi sa objavljenom bazom podataka.
BUT
Ali šta je sa web uslugama? (u mojoj test konfiguraciji postoje dva: WebBuh za razmjenu podataka sa računovodstvom i toplog integracije sa wms sistemom istoimene kompanije).
Pa, hajde da dodamo par redaka našem vrd fajlu...
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_adresa;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"/>
spasiti.
A sada je naša web usluga dostupna na "http://ServerAddress/Test/Web_buh.1cws?"
Zašto ste to morali da radite ručno?
Budući da je naš server bez grafičke ljuske, neće raditi na njemu pokrenuti konfigurator i, shodno tome, objaviti ga uobičajenim sredstvima. Udaljeni konfigurator instaliran na klijentu ne objavljuje web usluge na serveru. Stoga moramo ručno urediti konfiguraciju prema gore opisanom predlošku.
izvor: www.habr.com