ПоднимаСм сСрвСр 1с с ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π±Π°Π·Ρ‹ ΠΈ Π²Π΅Π± сСрвисов Π½Π° Linux

ПоднимаСм сСрвСр 1с с ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π±Π°Π·Ρ‹ ΠΈ Π²Π΅Π± сСрвисов Π½Π° Linux

БСгодня я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ сСрвСр 1с Π½Π° linux debian 9 с ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ web-сСрвисов.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ web-сСрвисы 1с?

Web-сСрвисы β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами. Он являСтся срСдством ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ SOA (Service-Oriented Architecture) β€” сСрвис-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, которая являСтся соврСмСнным стандартом ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. По сути β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ html страницу с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΈΡ….

ΠŸΠ»ΡŽΡΡ‹ β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро (Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ достаточно большом объСмС Π΄Π°Π½Π½Ρ‹Ρ…), ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

ΠœΠΈΠ½ΡƒΡΡ‹ β€” ваш програмист 1с Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΄ΠΎΠ»Π³ΠΎ Π½Π° вас Π²ΠΎΡ€Ρ‡Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅Π±-сСрвис для вашСй Π±Π°Π·Ρ‹. Π¨Ρ‚ΡƒΠΊΠ° ΠΎΡ‡Π΅Π½ΡŒ своСобразная Π² написании.

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅Π±-сСрвис… я расскаТу ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Linux ΠΈΠ· консоли сСрвСра, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎ установку 1с сСрвСра Π½Π° Linux.

И Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ debian 9 netinst, приступаСм:

УстанавливаСм PostgresPro (ΠŸΡ€ΠΎΡˆΡƒ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ бСсплатный, ΠΈ распространяСтся, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ознакомлСния с возмоТностями):

# 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 'Π’Π°ΡˆΠŸΠ°Ρ€ΠΎΠ»ΡŒ';"

Π‘ΠΊΠ°ΠΆΠ΅ΠΌ postgresql ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ всС адрСса Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ localhost

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

РаскоммСнтируСм ΠΈ помСняСм ΠΊΠ°ΠΊΠΈΠ΅ адрСса ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ:

…
#listen_addresses = ‘localhost’
…

На

…
listen_addresses = ‘*’
…

Π”Π°Π»Π΅Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΠ· нашСй сСти

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

ИзмСним:

# IPv4 local connections:
host all all 127.0.0.1/32 md5

Π½Π°

host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… установках Postgres для 1с ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

Π”Π°Π»Π΅Π΅ ставим 1с сСрвСр.

Π—Π°Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π° сСрвСр Π°Ρ€Ρ…ΠΈΠ² скачанный с сайта 1с (Π² ΠΌΠΎΠ΅ΠΌ случаС deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Π° ΠΌΠ΅Π»ΠΎΡ‡Π΅ΠΉ:

# apt install imagemagick unixodbc libgsf-bin

Π’Π΅ΠΏΠ΅Ρ€ΡŒ установим Apache2

# 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

Π›Π΅Π·Π΅ΠΌ Π² var/www/test/ ΠΈ смотрим Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ появилось.

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

«
<?xml version=Β«1.0Β» encoding=Β«UTF-8Β»?>
<point href=»http://v8.1c.ru/8.2/virtual-resource-system»>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Β»/>

«

Π­Ρ‚ΠΎ схСмы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для запуска Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 1с… Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π½Π°ΡˆΡƒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎ адрСсу Β«http ://АдрСсБСрвСра/TestΒ» (рСгистр Π²Π°ΠΆΠ΅Π½! это ΠΆΠ΅ линукс) ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Β«Ρ‚ΠΈΠΏ располоТСния Π±Π°Π·Ρ‹Β» адрСс Β«http ://АдрСсБСрвСра/TestΒ», ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ.

НО

А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π½Π° счСт Π²Π΅Π±-сСрвисов? (Π² ΠΌΠΎΠ΅ΠΉ тСстовой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΡ… Π΄Π²Π°: WebBuh для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠ΅ΠΉ ΠΈ toplog интСграция с систСмой wms ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ).

Π§Ρ‚ΠΎ ΠΆ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°Ρ€Ρƒ строк Π² наш vrd файлик…

<?xml version=Β«1.0Β» encoding=Β«UTF-8Β»?>
<point href=»http://v8.1c.ru/8.2/virtual-resource-system»>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_addres;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"/>

сохраним.

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наш Π²Π΅Π±-сСрвис доступСн ΠΏΠΎ адрСсу Β«http ://АдрСсБСрвСра/Test/Web_buh.1cws?Β»

Π—Π°Ρ‡Π΅ΠΌ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это Ρ€ΡƒΠΊΠ°ΠΌΠΈ?

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наш сСрвСр Π±Π΅Π· графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ β€” Π½Π΅ получится, ΠΈ соотвСтствСнно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами. Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΆΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стоит Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Π½Π° сСрвСрС Π²Π΅Π±-сСрвисы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ приходится ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ описанному Π²Ρ‹ΡˆΠ΅.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ .vrd β€” спасибо TihonV

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com