Podnosimy serwer 1c wraz z publikacją bazy danych i usług internetowych w systemie Linux

Podnosimy serwer 1c wraz z publikacją bazy danych i usług internetowych w systemie Linux

Dzisiaj chciałbym wam powiedzieć, jak podnieść serwer 1c na Linuxie Debian 9 wraz z publikacją usług sieciowych.

Jakie są usługi internetowe 1c?

usługi internetowe jest jednym z mechanizmów platformy służących do integracji z innymi systemami informatycznymi. Jest środkiem wspierającym SOA (Service-Oriented Architecture) - architekturę zorientowaną na usługi, będącą nowoczesnym standardem integracji aplikacji i systemów informatycznych. W rzeczywistości jest to możliwość utworzenia strony HTML z danymi, do których każda inna aplikacja może uzyskać dostęp i je odzyskać.

Plusy - działa szybko (nawet przy dość dużej ilości danych), jest stosunkowo wygodny.

Wady - Twój programista 1c będzie na Ciebie narzekał przez długi czas podczas pisania usługi internetowej dla Twojej bazy danych. Rzecz jest bardzo osobliwa w pisaniu.

Nie będę ci mówił, jak pisać Serwis internetowy... Powiem ci, jak opublikować go w systemie Linux z konsoli serwera, a także trochę o instalacji serwera 1c w systemie Linux.

Mamy więc netinst Debiana 9, zaczynajmy:

Zainstaluj PostgresPro (Uwaga: nie jest on darmowy i jest dystrybuowany jedynie w ramach zapoznania się z możliwościami):

# 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 'ВашПароль';"

Powiedzmy postgresqlowi, żeby słuchał wszystkich adresów, a nie tylko localhost

# nano /var/lib/pgpro/std-11/data/postgresql.conf

Odkomentuj i zmień adresy, których chcesz słuchać:

...
#listen_addresses = „lokalny host”
...

Na

...
adresy_słuchania = '*'
...

Następnie zezwólmy użytkownikom z naszej sieci na zalogowanie się

# nano /var/lib/pgpro/std-11/data/pg_hba.conf

Zmieńmy:

# Połączenia lokalne IPv4:
hostuj wszystkie wszystkie 127.0.0.1/32 md5

na

hostuj wszystkie wszystkie 192.168.188.0/24 md5
hostuj wszystkie wszystkie 127.0.0.1/32 md5

Możesz przeczytać więcej o różnych instalacjach Postgres dla 1s tutaj.

Dalej stawiamy 1s serwer.

Prześlij archiwum pobrane ze strony 1c na serwer (w moim przypadku deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

jeszcze kilka drobiazgów:

# apt install imagemagick unixodbc libgsf-bin

Teraz zainstalujmy Apache2

# apt install apache2

Poprzez konsolę administracyjną lub poprzez klienta 1c tworzymy bazę danych i wypełniamy naszą konfigurację...

Teraz publikujemy bazę danych:

przejdź do folderu z 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

Wchodzimy na var/www/test/ i sprawdzamy, co się tam pojawiło.

# cd /var/www/test
# nano default.vrd

«

v8.1c.ru/8.2/system-zasobów wirtualnych”
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="/testuj"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata Enable="false"
reuseSessions="automatyczne użycie"
sesjaMaxAge="20"
Rozmiar puli="10"
timeout="5"/>

«

Oto schematy potrzebne do uruchomienia klienta sieciowego 1c ... teraz możesz uzyskać dostęp do naszej testowej bazy danych z przeglądarki pod adresem „http://ServerAddress/Test” (przypadek jest ważny! To jest Linux) lub określić „typ lokalizacji bazowej” w kliencie http://ServerAddress/Test”, a klient będzie współpracował z opublikowaną bazą danych.

ALE

Ale co z usługami internetowymi? (w mojej testowej konfiguracji są dwa: WebBuh do wymiany danych z księgowością oraz integracja toplogu z systemem wms firmy o tej samej nazwie).

Cóż, dodajmy kilka linii do naszego pliku vrd...


v8.1c.ru/8.2/system-zasobów wirtualnych”
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=adresy_IP;Ref=TestWebServ">
<standardOdata Enable="false"
reuseSessions="automatyczne użycie"
sesjaMaxAge="20"
Rozmiar puli="10"
timeout="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"/>

ratować.

A teraz nasz serwis internetowy jest dostępny pod adresem „http://ServerAddress/Test/Web_buh.1cws?”

Dlaczego musiałeś to zrobić ręcznie?

Ponieważ nasz serwer nie ma powłoki graficznej, uruchomienie na nim konfiguratora i w związku z tym opublikowanie go w zwykły sposób nie będzie możliwe. Zdalny konfigurator zainstalowany na kliencie nie publikuje usług sieciowych na serwerze. Dlatego musimy ręcznie edytować konfigurację zgodnie z szablonem opisanym powyżej.

Skrypt do generowania .vrd - Dziękuję Tihon W

Źródło: www.habr.com

Dodaj komentarz