サードパーティのWebサーバーで1Cデータベースを公開する

1C 8.3(DB-MSSQL)を備えたWindowsサーバーがあります。

タスクは、Linux Webサーバーでデータベースの公開を構成することです。

微妙-Apacheの1Cモジュールは2.0と2.2でのみ動作し、ほとんどのディストリビューションの現在のバージョンは2.4+です

忘れないように自分用にもっと書かれています。 さて、あなたは決して知らない、突然他の誰かが役に立つでしょう-必要なチームを探してフォーラムを走り回る必要はありません。



Iron-ギガバイトのRAM、1つのコア、20ギガバイトのディスクを提供しました。 ズームが遅すぎることはありません。

OS:Debian Stable、私はそれに慣れています。



sshサーバーを含むが、webを含まない最小限のものを置きました。 これに戻ります。

2016-01-08_091636



基本設定をインストールしてから、通常utf8ロケールを配置し、sudo、mc、vimを配置します。残りは必要に応じて配置します。

次に、Apache 2.2をインストールする必要があります。 そして、debパッケージをダウンロードするだけでなく、正しい方法で実行してください。 :)



最初に、以前のバージョンのディストリビューションへのリンクを含む行を/etc/apt/sources.listに追加します。

 deb http://mirror.yandex.ru/debian/ wheezy main
 deb-src http://mirror.yandex.ru/debian/ wheezy main


もちろん、 旧安定版を書くこともできます-現時点ではそれも正しいでしょう。 しかし、現在のみ、遅かれ早かれ、新しい安定版が旧安定版でリリースされ、その後、apache 2.2の代わりに2.4がリリースされるためです。 ただし、その頃には1Cが更新され、Apacheの新しいバージョンで動作することを願っています。 しかし、誰が知っていますか? :)

ここで、 mirror.yandex.ru-リポジトリがあるお気に入りのサーバーの名前がそこに書き込まれます。



次に、インデックスを更新し( apt-get update) 、コマンドapt-cache showpkg apache2を使用して、Apacheにあるものを確認します。

そこには多くのものが表示されますが、出力の始まりにのみ興味があります。

パッケージ:apache2
バージョン:
 2.4.10-10 + deb8u3(/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages)
説明言語:
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages
                   MD5:d02426bc360345e5acd45367716dc35c
説明言語:en
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en
                   MD5:d02426bc360345e5acd45367716dc35c
説明言語:ru
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru
                   MD5:d02426bc360345e5acd45367716dc35c

 2.4.10-10 + deb8u1(/var/lib/apt/lists/security.debian.org_dists_stable_updates_main_binary-i386_Packages)
説明言語:
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_binary-i386_Packages
                   MD5:d02426bc360345e5acd45367716dc35c
説明言語:en
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-en
                   MD5:d02426bc360345e5acd45367716dc35c
説明言語:ru
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_stable_main_i18n_Translation-ru
                   MD5:d02426bc360345e5acd45367716dc35c

 2.2.22-13 + deb7u6(/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages)
説明言語:
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_binary-i386_Packages
                   MD5:d24f049cd70ccfc178dd8974e4b1ed01
説明言語:en
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-en
                   MD5:d24f049cd70ccfc178dd8974e4b1ed01
説明言語:ru
                 ファイル:/var/lib/apt/lists/mirror.yandex.ru_debian_dists_wheezy_main_i18n_Translation-ru
                   MD5:d24f049cd70ccfc178dd8974e4b1ed01




2.4.10に加えて、バージョン2.2.22-13 + deb7u6があります-それが必要なものです。

apt-get install apache2 = 2.2.22-13 + deb7u6

または、より正確に: apt-get install apache2 = 2.2.22-13 + deb7u6 apache2-mpm-worker = 2.2.22-13 + deb7u6 apache2.2-common = 2.2.22-13 + deb7u6 apache2.2-bin = 2.2 .22-13 + deb7u6 、および残りの依存関係はすでに自動的にプルアップされています。



その後、誤って更新しないようにApacheを保留にします。



 apt-mark hold apache2 apache2-mpm-worker apache2.2-common apache2.2-bin
 apache2はコミット済みとしてマークされます。
 apache2-mpm-workerはコミット済みとしてマークされます。
 apache2.2-commonはコミット済みとしてマークされます。
 apache2.2-binはコミット済みとしてマークされます。


サービスapache2 startを開始し、ポート80にtelnetで接続して、ブラウザーが遅延して起動できないかどうかを確認できます。



telnet localhost 80

試行中:: 1 ... localhostに接続しました。 
エスケープ文字は「^]」です。 
 1 
 <!DOCTYPE HTML PUBLIC "-// IETF // DTD HTML 2.0 // EN">
 <html> <head> 
 <title> 501メソッドが実装されていません</ title> 
 </ head> <body> 
 <h1>メソッドが実装されていません</ h1> 
 <p> 1から/index.htmlはサポートされていません。<br /> 
 </ p> <hr> 
 <address> Apache / 2.2.22(Debian)サーバーの1cwebポート80 </ address> 
 </ body> </ html> 
外部ホストによって接続が閉じられました。




宣誓は働くことを意味します。



今、私たちは1Cを入れます。

1C Webサービスのみが必要です( 1c-enterprise83-wsパッケージ)。 1c-enterprise83-common 、依存関係に登録されています。 1c-enterprise83-serverは、依存関係に登録されていませんが、それがないと、公開ユーティリティは「セグメンテーションエラー」を書き込みます。

原則として、 1c-enterprise83-wsパッケージのApache wsap22.soのモジュールのみが必要であり、他のすべてはテキストエディターで実行できます。 しかし、私は怠け者であり、1Cで数メガバイトを費やす方が、手で設定に行を入れるよりも優れています。 :)



次に、公開された1Cデータベースの設定を保存するフォルダーを作成する必要があります。 Webサーバーツリーでは可能ですが、ルートである/ 1sで個別に行う方がよいでしょう。

その後、ファイル1C( /opt/1C/v8.3/i386 )がインストールされているフォルダーから、次のパラメーターを使用してwebinst公開ユーティリティを起動します(テストデータベースを公開します)。

 ./webinst -apache22 -wsdir testlitupp -dir / 1c / testlitupp -connstr "Srvr = 10.0.0.4; Ref = testlitupp;"  -confPath /etc/apache2/apache2.conf
公開完了




-apache22-Webサーバーのバージョン

-wsdir testlitupp-公開されたデータベースを使用できるWebサーバー上のフォルダー(http:// yourserver / testlitupp)

-dir / 1c / testlitupp-公開設定を含むdefault.vrdファイルが保存されるフォルダー

-connstr "Srvr = 10.0.0.4; Ref = testlitupp;"-サーバーIP 1Cおよび公開されたデータベースの名前

-confPath /etc/apache2/apache2.conf-apache configへのパス



「Publication completed」と書かれていれば、すべてうまくいきました。 「セグメンテーションエラー」と表示されている場合は、おそらく1c-enterprise83-serverのインストールを忘れています

結果によると、default.vrdファイルがあります

 <?xml version = "1.0" encoding = "UTF-8"?> 
 <point xmlns = "http://v8.1c.ru/8.2/virtual-resource-system" 
 xmlns:xs = "http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
 base = "/ testlitupp" ib = "Srvr = 10.0.0.4; Ref = testlitupp;" />


また、Webサーバー構成ファイルのいくつかの新しい行:



 LoadModule _1cws_module "/opt/1C/v8.3/i386/wsap22.so"

 #1c出版
エイリアス "/ testlitupp" "/ 1c / testlitupp /"
 <ディレクトリ "/ 1c / testlitupp /"> 
すべてを許可 
オプションなし 
注文許可、拒否 
すべてから許可 
 SetHandler 1cアプリケーション 
 ManagedApplicationDescriptor "/1c/testlitupp/default.vrd" 
 </ Directory>


Apacheを再起動し(サービスapache2の再起動)、そこで公開されている内容を確認します。

公開され、パスワードを要求されます。

2016-01-08_115425



そして、ベースに入れます。

2016-01-08_115604



動作します。 追加の公開設定は、vrdファイルの編集(たとえば、デバッグの有効化)によって行われます。1Cプログラマーは、Webクライアントインターフェイスのドーピングに対処する必要があります。

たとえば、手動でサービスを接続するオプションを追加する場合、「base = "/ testlitupp" ib = "Srvr = 10.0.0.4; Ref = testlitupp;"という行のdefault.vrdファイルの最後のスラッシュを削除することを忘れないでください。 / > "、私は長い間これで忙しかった。 削除してから何かを追加しないと、追加情報なしで「エラー500」が表示されます。

Webサーバーの負荷はどうなりますか-まだわかりません。現時点ではテストモードで動作しており、十分なリソースが割り当てられています。 ただし、ニーズの増加に応じてメモリやコアを追加しても問題はありません。



一般に、他のLinuxディストリビューションでは、すべてが同じ方法で行われますが、違いは古いバージョンのapacheをインストールする方法のみです。



All Articles