امروز می خواهم به شما بگویم که چگونه با انتشار خدمات وب، سرور 1c را در لینوکس دبیان 9 افزایش دهید.
خدمات وب 1c چیست؟
جوانب مثبت - به سرعت (حتی با حجم نسبتاً زیادی داده) کار می کند، نسبتا راحت است.
معایب - برنامه نویس 1c شما در حین نوشتن وب سرویس برای پایگاه داده شما برای مدت طولانی از شما غر می زند. موضوع در نوشتن بسیار عجیب است.
من به شما نمی گویم چگونه بنویسید
و بنابراین، ما 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:
میزبان همه 127.0.0.1/32 md5
بر
میزبان همه 192.168.188.0/24 md5
میزبان همه 127.0.0.1/32 md5
میتوانید درباره نصبهای مختلف Postgres برای 1s بیشتر بخوانید
بعد، سرور 1c را قرار می دهیم.
آرشیو دانلود شده از سایت 1c را به سرور آپلود کنید (در مورد من، 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
از طریق کنسول مدیریت یا از طریق مشتری 1c، ما یک پایگاه داده ایجاد می کنیم و پیکربندی خود را پر می کنیم ...
اکنون پایگاه داده را منتشر می کنیم:
به پوشه ای با 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
ما به var/www/test/ میرویم و میبینیم چه چیزی در آنجا ظاهر شد.
# 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"
پایه = "/تست"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions="autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout="5"/>
«
اینها طرح هایی هستند که برای راه اندازی سرویس گیرنده وب 1c مورد نیاز هستند ... اکنون می توانید از طریق مرورگر به آدرس "http://ServerAddress/Test" به پایگاه داده آزمایشی ما دسترسی داشته باشید (مورد مهم است! این لینوکس است) یا مشخص کنید آدرس "نوع مکان پایه" در مشتری http://ServerAddress/Test" و مشتری با پایگاه داده منتشر شده کار خواهد کرد.
اما
اما خدمات وب چطور؟ (در پیکربندی آزمایشی من دو مورد از آنها وجود دارد: WebBuh برای تبادل داده با حسابداری و ادغام توپلوگ با سیستم wms شرکتی به همین نام).
خب بیایید چند خط به فایل 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="/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://ServerAddress/Test/Web_buh.1cws?" در دسترس است.
چرا باید با دست انجامش می دادی؟
از آنجایی که سرور ما بدون پوسته گرافیکی است، نمیتوان پیکربندی را روی آن اجرا کرد و بر این اساس، آن را با استفاده از ابزارهای معمولی منتشر کرد. پیکربندی راه دور نصب شده روی کلاینت، خدمات وب را در سرور منتشر نمی کند. بنابراین، ما باید پیکربندی را به صورت دستی مطابق با الگوی توضیح داده شده در بالا ویرایش کنیم.
منبع: www.habr.com