Kami meningkatkan server 1c dengan publikasi database dan layanan web di Linux

Kami meningkatkan server 1c dengan publikasi database dan layanan web di Linux

Hari ini saya ingin memberi tahu Anda cara meningkatkan server 1c di linux debian 9 dengan publikasi layanan web.

Apa itu layanan web 1c?

Layanan web adalah salah satu mekanisme platform yang digunakan untuk integrasi dengan sistem informasi lainnya. Ini adalah sarana pendukung SOA (Arsitektur Berorientasi Layanan) - arsitektur berorientasi layanan yang merupakan standar modern untuk mengintegrasikan aplikasi dan sistem informasi. Faktanya, ini adalah peluang untuk membuat halaman html dengan data, yang kemudian dapat diakses oleh aplikasi lain dan diambil.

Kelebihan - bekerja dengan cepat (bahkan dengan jumlah data yang cukup besar), relatif nyaman.

Kontra - programmer 1c Anda akan menggerutu untuk waktu yang lama saat menulis layanan web untuk database Anda. Hal yang sangat aneh dalam menulis.

Saya tidak akan memberi tahu Anda cara menulis layanan web... Saya akan memberi tahu Anda cara mempublikasikannya di Linux dari konsol server, serta sedikit tentang menginstal server 1c di Linux.

Jadi, kita punya debian 9 netinst, mari kita mulai:

Instal PostgresPro (Harap dicatat bahwa ini tidak gratis, dan didistribusikan hanya sebagai bagian dari pengenalan kemungkinan):

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

Mari kita beri tahu postgresql untuk mendengarkan semua alamat dan bukan hanya localhost

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

Batalkan komentar dan ubah alamat mana yang ingin didengarkan:

...
#listen_addresses = 'host lokal'
...

Pada

...
mendengarkan_alamat = '*'
...

Selanjutnya, izinkan pengguna dari jaringan kita untuk masuk

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

Mari kita berubah:

# Koneksi lokal IPv4:
host semua 127.0.0.1/32 md5

pada

host semua 192.168.188.0/24 md5
host semua 127.0.0.1/32 md5

Anda dapat membaca lebih lanjut tentang berbagai instalasi Postgres selama 1 detik di sini.

Selanjutnya kita letakkan 1s servernya.

Unggah arsip yang diunduh dari situs 1c ke server (dalam kasus saya, deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

beberapa hal kecil lagi:

# apt install imagemagick unixodbc libgsf-bin

Sekarang mari kita instal Apache2

# apt install apache2

Melalui konsol administrasi atau melalui klien 1c, kami membuat database dan mengisi konfigurasi kami ...

Sekarang kami mempublikasikan database:

buka folder dengan 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

Kami naik ke var/www/test/ dan melihat apa yang muncul di sana.

# 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"
dasar="/Tes"
ib="Srvr=192.168.188.150;Ref=Uji;">
<standardOdata enable=Β«falseΒ»
reuseSessions="penggunaan otomatis"
sesiMaxAge="20"
ukuran kolam = "10"
poolTimeout="5"/>

Β«

Ini adalah skema yang diperlukan untuk meluncurkan klien web 1c... sekarang Anda dapat mengakses database pengujian kami dari browser di alamat "http://ServerAddress/Test" (huruf penting! Ini Linux) atau tentukan alamat "tipe lokasi dasar" di klien http://ServerAddress/Test" dan klien akan bekerja dengan database yang dipublikasikan.

TAPI

Tapi bagaimana dengan layanan web? (dalam konfigurasi pengujian saya ada dua di antaranya: WebBuh untuk pertukaran data dengan akuntansi dan integrasi toplog dengan sistem wms dari perusahaan dengan nama yang sama).

Baiklah, mari tambahkan beberapa baris ke file vrd kita...


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"
dasar="/UjiWeb"
ib="Srvr=IP_addres;Ref=TestWebServ">
<standardOdata enable=Β«falseΒ»
reuseSessions="penggunaan otomatis"
sesiMaxAge="20"
ukuran kolam = "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"/>

menyimpan.

Dan sekarang layanan web kami tersedia di "http://ServerAddress/Test/Web_buh.1cws?"

Mengapa Anda harus melakukannya dengan tangan?

Karena server kami tidak memiliki shell grafis, maka tidak akan berfungsi untuk menjalankan konfigurator di dalamnya, dan, karenanya, mempublikasikannya menggunakan cara biasa. Konfigurator jarak jauh yang diinstal pada klien tidak mempublikasikan layanan web di server. Maka dari itu, kita harus mengedit confignya secara manual sesuai template yang sudah dijelaskan di atas.

Skrip untuk menghasilkan .vrd - Terima kasih TihonV

Sumber: www.habr.com

Tambah komentar