このブログを検索

2012年7月24日火曜日

Service squidclamav not initialized.

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までどうぞ。

2012年7月19日木曜日

ニリアコットのホームページ公開

ニリアコットのホームページを公開しました。
フォーラムもございます。
ご質問等はぜひ、フォーラムに書き込みお願いします。

http://niriakot.jp/

2012年4月13日金曜日

CalDAVとiCalendarによるスケジュール共有の話

世の中において、スケジュール管理ほど頻繁にみるものはない。
メールと同じぐらい需要がある。

 そもそも、スケジュールというものは、要件として、
確認がいつでもできるようにしておかなければいけない。
かつ、許可された人がいつでも変更できなければいけない。
さらに、忘れないようにメールで通知が来たり、
ポップアップして事前にアラームが出て来ないといけない
と弊社は考えている。

 そんなスケジュールサーバーを
弊社では、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でいいかと思いますが、試してません。)
他の上記のサービスは特に問題なく立ち上がりました。

さて、以下からがコマンドの羅列です。

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を構築するので、その際に気を付けてみていこうと思う。

ということで、同じような症状をお持ちの方は是非コメントください。

ではでは。また。