c-icapでsquidclamavが初期化できない問題の話。
最近、弊社サイトから無料でダウンロードできるソフトウェアアプライアンスを製作中なのですが、その中のProxyサーバーを製作中にあった不具合の話。
原因の解決はできてないのだけれど、ダウングレードすることで、性能は発揮できる。
問題が起きたのは、c-icap 0.2.1を使用するとsquidclamav 6.6が動作しないというものである。
(※追記2012/10/10:c-icap0.2.xから、/usr/local/c-icap/lib64にプログラムが置かれるようになったため。なので、単なる設定ミス。squidclamav6.9+c-icap0.2.2を参照。)
さて、その動作しないというのは、タイトルにもあるが、squidclamavがイニシャライズできないという話である。
今回、製作中のプロキシーサーバーは、
OSにOpenSUSE 12.1
ウイルス検出にclamav 0.9.5
Proxyにsquid 3.1.16
Proxyとウイルス検出のつなぎにsquidclamav 6.6
icapにc-icap 0.2.1を始めは使用していたが、最終的にc-icap 0.1.7に変更
(※追記2012/10/10:上にも書いたけど、設定ミス。。。)
以上のようなプログラムを使用した。
今の時点ではsquidは3.2系があるが、SUSEのデフォルトでは上がってこなかったので、使用しなかった。
問題が起きるのは、上記の組み合わせのうち、c-icapを最新の0.2.1にすると
タイトルのようなエラーが出るのだ。
(※追記2012/10/10:だからぁ、上にも書いたけど、設定ミス。。。)
そのエラーは、どこに吐き出されているかというと
/usr/local/c-icap/var/log/server.log
にでてくるのだが
/usr/local/c-icap/etc/c-icap.confのなかの
DebugLevelを3にすると出てくる。
これでは、サイト閲覧時、squidclamavが動作していない事なので、ウイルスチェックに失敗してしまう。
もちろん、squidclamavが動いていなくても、squid単体が動くが、
昨今、大手企業のサイトでさえ、ウイルスやワームなどに感染しているので、万全を期するに越した事は無いので、
マルチベンダーセキュリティチェックは必須であると、弊社は考える。
ということで、squidclamavは必須要件なのですが、冒頭のようなエラーが出て困り果てしまったわけである。
パスの間違いなどではない。
同じパスにある
/usr/local/c-icap/lib64/c_icap/srv.echo.so
は動いているのであるから。
(※追記2012/10/10:上にも書いたけど、設定ミス。。。0.1.x系ではlibのディレクトリが使われ、0.2.x系ではlib64が使われており、バージョンアップを繰り返したために、見逃した。。。)
最終的に現在動いているプロキシーサーバーとの比較となったわけであるが、
違いはc-icapだったというわけである。
バージョンが、0.2.1と若干メジャーアップされているために、何かが変わったのかもしれない。
(※追記2012/10/10:libとlib64のタイムスタンプを確認すれば明らかだった。。。)
一日探したけど、解決には至らなかったので、ダウングレードして、リリースする予定である。
今後、何か分かった時点で再度アップ致します。
(※追記2012/10/10:squidclamav6.9+c-icap0.2.2へのバージョンアップをアップしました。)
ではでは、また。
※御用命は、webmaster@niriakot.jpまでどうぞ。
オープンソースで企業のシステムは、運用費用の削減が可能です。 openSuSE,NextCloud,Mattermost,アプライアンス(NetApp,ストレージ全般,Bluecoat)などなどサポート致します。 IT戦略策定、IT企画、業務システムの改善提案、構築運用を致します。(全国津々浦々) お問い合わせはwebmaster@niriakot.jpまで。24時間以内に返答致します。 当社サイトhttps://niriakot.jp なお、このページの右のラベルで、タグ毎に記事をリストアップ可能です。
このブログを検索
2012年7月24日火曜日
2012年7月19日木曜日
2012年4月13日金曜日
CalDAVとiCalendarによるスケジュール共有の話
世の中において、スケジュール管理ほど頻繁にみるものはない。
メールと同じぐらい需要がある。
そもそも、スケジュールというものは、要件として、
確認がいつでもできるようにしておかなければいけない。
かつ、許可された人がいつでも変更できなければいけない。
さらに、忘れないようにメールで通知が来たり、
ポップアップして事前にアラームが出て来ないといけない
と弊社は考えている。
そんなスケジュールサーバーを
弊社では、2種類提供している。
ひとつは、CalDAV形式と
もう一つは、iCalendar形式(iCal)である。
メールと同じぐらい需要がある。
そもそも、スケジュールというものは、要件として、
確認がいつでもできるようにしておかなければいけない。
かつ、許可された人がいつでも変更できなければいけない。
さらに、忘れないようにメールで通知が来たり、
ポップアップして事前にアラームが出て来ないといけない
と弊社は考えている。
そんなスケジュールサーバーを
弊社では、2種類提供している。
ひとつは、CalDAV形式と
もう一つは、iCalendar形式(iCal)である。
2012年4月6日金曜日
openSUSE 11.4 から 12.1 へバージョンアップ
今回のバージョンアップはコマンドからzypperを使ったバージョンアップです。
DVDによるGUIのバージョンアップではございません。
コマンドのほうが何かとパフォーマンスがいいのと、YaST2を使えば、GUIと変わらぬ操作性を保てますので、この頃はもっぱら、コマンドラインからの利用が多くなってます。
(サーバーとしてしか使ってないので、当然と言えば当然なのかもしれませんけど。。。)
さて、以前11.3から11.4に上げた時とほぼ同内容です。
http://niriakot.blogspot.jp/2011/06/opensuse-113114.html
稼働していたサービスは、
bind、apache2、samba、nagios、ssh、postgresql
ぐらいなので、事前にsnapshotでバックアップしてから、実行しています。
(ESXi 5.0上で稼働しています。)
なお、postgresqlは9.0から9.1.1になり、データのアップグレードをしなければいけないらしいです。
(pg_upgradeかpg_dumpでバージョンアップ後に実施。)
何も考えずに12.1に上げたら、postgresqlが9.1.1になっており、起動しなくて焦りました。
なので、postgresqlが書き換わってしまいますので、データディレクトリを別名にして保管しておくことをお勧めします。(mvでいいかと思いますが、試してません。)
他の上記のサービスは特に問題なく立ち上がりました。
さて、以下からがコマンドの羅列です。
DVDによるGUIのバージョンアップではございません。
コマンドのほうが何かとパフォーマンスがいいのと、YaST2を使えば、GUIと変わらぬ操作性を保てますので、この頃はもっぱら、コマンドラインからの利用が多くなってます。
(サーバーとしてしか使ってないので、当然と言えば当然なのかもしれませんけど。。。)
さて、以前11.3から11.4に上げた時とほぼ同内容です。
http://niriakot.blogspot.jp/2011/06/opensuse-113114.html
稼働していたサービスは、
bind、apache2、samba、nagios、ssh、postgresql
ぐらいなので、事前にsnapshotでバックアップしてから、実行しています。
(ESXi 5.0上で稼働しています。)
なお、postgresqlは9.0から9.1.1になり、データのアップグレードをしなければいけないらしいです。
(pg_upgradeかpg_dumpでバージョンアップ後に実施。)
何も考えずに12.1に上げたら、postgresqlが9.1.1になっており、起動しなくて焦りました。
なので、postgresqlが書き換わってしまいますので、データディレクトリを別名にして保管しておくことをお勧めします。(mvでいいかと思いますが、試してません。)
他の上記のサービスは特に問題なく立ち上がりました。
さて、以下からがコマンドの羅列です。
2012年3月27日火曜日
openSUSE 12.1 ネットワークの不具合について
ESXi5にopenSUSE12.1をインストールして起動すると、ネットワーク設定がこける。
YaSTのGUI設定でifupを使用するにしてあり、NetworkManagerを使っていない。
YaSTのGUIでネットワークの設定に間違いはないことは確認済みだし、
起動後にifupでは動く。
(もちろん動いているサーバーもあるのだけど。。。)
しかしながら、
/etc/init.d/network status
(本来ならsystemctl使うべきなのだろうが、redirectしてくれるし、画面はどうせ同じなのだから従来通りの使い方してます。)
をすると
redirecting to systemctl
network.service - LSB: Configure the localfs depending network interfaces
Loaded: loaded (/etc/init.d/network)
Active: inactive (dead) since Tue, 27 Mar 2012 10:57:07 +0900; 2min 25s ago
Process: 1552 ExecStop=/etc/init.d/network stop (code=exited, status=0/SUCCESS)
Process: 1009 ExecStart=/etc/init.d/network start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/network.service
のようにこけている。
/etc/init.d/network start
をたたいた時に/var/log/messagesをみてみるとifupで立ち上げてから、ifdownでネットワークを終了している。
???である。
おそらく、/etc/init.d/networkのどっかに問題があるのだろうけど、
ifup eth0 や
ifdown eth0 は
問題なく動作するので、このコマンドをafter.localに入れて、ネットワークを起動しようとしたが、
うまくいかない。
最終的に何をしたかと言うと、NetworkManagerをインストールして、gnomeから設定して事なきを得たが、理由は謎のままである。
特に追及もしてない。
前に作ったときは、ifupを使用した設定だったし、何故ネットワークが起動しないのか不明なのだが、何かが足りないのだろうと思う。
4月に入れば、改めて同じ構成のSUSE12.1を構築するので、その際に気を付けてみていこうと思う。
ということで、同じような症状をお持ちの方は是非コメントください。
ではでは。また。
YaSTのGUI設定でifupを使用するにしてあり、NetworkManagerを使っていない。
YaSTのGUIでネットワークの設定に間違いはないことは確認済みだし、
起動後にifupでは動く。
(もちろん動いているサーバーもあるのだけど。。。)
しかしながら、
/etc/init.d/network status
(本来ならsystemctl使うべきなのだろうが、redirectしてくれるし、画面はどうせ同じなのだから従来通りの使い方してます。)
をすると
redirecting to systemctl
network.service - LSB: Configure the localfs depending network interfaces
Loaded: loaded (/etc/init.d/network)
Active: inactive (dead) since Tue, 27 Mar 2012 10:57:07 +0900; 2min 25s ago
Process: 1552 ExecStop=/etc/init.d/network stop (code=exited, status=0/SUCCESS)
Process: 1009 ExecStart=/etc/init.d/network start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/network.service
のようにこけている。
/etc/init.d/network start
をたたいた時に/var/log/messagesをみてみるとifupで立ち上げてから、ifdownでネットワークを終了している。
???である。
おそらく、/etc/init.d/networkのどっかに問題があるのだろうけど、
ifup eth0 や
ifdown eth0 は
問題なく動作するので、このコマンドをafter.localに入れて、ネットワークを起動しようとしたが、
うまくいかない。
最終的に何をしたかと言うと、NetworkManagerをインストールして、gnomeから設定して事なきを得たが、理由は謎のままである。
特に追及もしてない。
前に作ったときは、ifupを使用した設定だったし、何故ネットワークが起動しないのか不明なのだが、何かが足りないのだろうと思う。
4月に入れば、改めて同じ構成のSUSE12.1を構築するので、その際に気を付けてみていこうと思う。
ということで、同じような症状をお持ちの方は是非コメントください。
ではでは。また。
登録:
投稿 (Atom)