« 2005年9月 | トップページ | 2005年12月 »

2005年11月20日 (日)

BIND の移行:おまけ

移行のついでに BIND の設定を少しブラッシュアップ(というほど大層なことはでなはいです、はい)。割とよく知られている話として、BIND9 で逆引きできない場合、"lame server resolving ...." というエラーメッセージがログに残ります。

莫大な SPAM メールを送りつけられる昨今、「逆引きして名前がわかんないよぉ」、みたいなエラーをまじめに記録しているとログの意味がありません。これを前々からログから取り除こうと思っていたのです。

やり方は簡単で named.conf.local の中で以下ような記述を追加して、ログのカテゴリーの一部を記録しないように指定するだけです。

  logging {
          category lame-servers { null; };
  };

| | コメント (0) | トラックバック (0)

BIND9 の移行

メールサーバーを移行する前にネームサーバーも移行しておく必要があることに気づきました(とゆーか移行したつもりでいました)。ゾーン定義などは、ほぼそのまま持ってこれるので比較的楽な作業(のはず)です。

(1) BIND9 のインストール

  apt-get install bind9

(2) ゾーン定義ファイルの追加

ゾーン定義ファイルはそのまま持ってくるだけです。 定義している IP アドレスは変えなくていいの?って話はあるのですが、我が家のシンプルなネットワーク構成では変更不要なのです。グローバル IP アドレスをいくつも持っていたりするとまた事情は違ってくるのですが。

Sarge では BIND9 の設定ファイルは /etc/bind 以下に置くようになっています。ゾーン定義ファイルを /var/named 以下に配置するディストリビューションも多いのですが、Sarge は /var 以下にはキャッシュ情報しか保存しない構成になっています。

ゾーン定義を配置したら、/etc/bind/named.conf ファイルにゾーン定義の参照を追記します。ただし、Sarge では named.conf に直接定義せず、named.conf からインクルードされている named.conf.local の方に追記するのがお作法のようです。以下は named.conf.local の記述例です。

  include "/etc/bind/zones.rfc1918";

  zone "foo.com" {
          type master;
          file "/etc/bind/named.conf.foo.com";
  };

青字の部分にそれぞれ、ドメイン名(foo.com)とゾーン定義ファイル名(named.conf.foo.com)を指定する形になります。ゾーン定義そのものの定義例は以下のようになります。

  $TTL 1h
  ;
  @       IN      SOA     ns.foo.com. root.foo.com. (
          2005111901      ; Serial
          1h              ; Refresh after 1 hour
          1h              ; Retry after 1 hour
          1h              ; Expire after 1 hour
          1h )            ; Negative caching TTL of 1 hour
  ;
          IN      NS              ns.foo.com.
          IN      NS              ns2.foo.com.
          IN      MX      10      mail.foo.com.
  ;
          IN      A       192.168.1.1
  ns      IN      A       192.168.1.2
  ns2     IN      A       192.168.16.2
  mail    IN      A       192.168.1.3
  www     IN      A       192.168.1.4
  ftp     IN      CNAME   www
  ;

詳しい解説は BIND の解説書など見てくださいナ。

(3) BIND の再起動

設定ファイルを変更したので BIND を再起動しておきましょう。

  /etc/init.d/bind9 restart

設定ファイルを読み直すだけなら HUP シグナルを送るだけでも構いません。

  kill -HUP `pidof named`

(4) 動作確認

ちゃんと設定できているか確認しておきましょう。 dig コマンドで named に名前照会のリクエストを送信して結果が返ってくるか確認しておきます。

  dig @localhost foo.com

ちゃんと照会結果が返ってくるか、内容は正しいか確認しておきましょう。

| | コメント (0) | トラックバック (0)

2005年11月19日 (土)

JBoss のインストール

Java の準備ができたのでアプリケーションサーバなどインストールしてみることにします。今回は JBoss をインストールしてみましょう。

(1) JBoss のダウンロード

JBoss.com からダウンロードページからアーカイブをダウンロードしましょう。バージョンは何でもかまいませんが、私は今回故あって 3.2.7 をダウンロードします。

  jboss-3.2.7.zip

(2) アーカイブの展開

今回は潔くアーカイブをそのまま用いることにします。 インストールしたいディレクトリの下にアーカイブを解凍してください。私は /opt 以下にアーカイブすることにしてます。

  cd /opt
  jar xf jboss-3.2.7.zip

なお、ここではしれっと jar コマンドでアーカイブを展開していますが、もちろん、J2SE がインストールされて利用できる状態になっている必要があります。インストール方法の詳細についてはこちら

(3) 起動スクリプトの作成

JBoss の起動と停止は、サブディレクトリ bin に含まれている run.sh と shutdown.sh スクリプトによって行います。もちろん毎回手で起動してもいいのですが、他のサービスデーモンのように runlevel で自動的に起動をコントロールしたくなるものです。というわけで、起動スクリプトを書きましょう。

  • /etc/init.d 以下に起動スクリプトを作成する。
  • update-rc.d コマンドで runlevel にあわせて起動/停止するようにシンボリックリンクを更新。

スクリプトは start, stop, restart のうちのいずれかを引数にとり、その引数にあわせてデーモンを起動、停止、再起動の処理をするように記述します。ここでは jboss という名前のスクリプトを作成したと仮定して、シンボリックリンクを作成します。

  update-rc.d jboss defaults

これで /etc/rc?.d 以下に /etc/init.d/jboss に対する適切なシンボリックリンクが作成されます。

(注)ちなみに jboss を起動させるためには、環境変数 JAVA_HOME を設定しておく必要があるので、スクリプトを記述する際は注意しましょう。

| | コメント (0) | トラックバック (0)

J2SE SDK のインストール

そろそろ Tomcat なり JBoss なり Geronimo なりを動かしてみよう、と思い立ち、Java 2 Standard Edition SDK のインストールを試みます。

原理的には、http://java.sun.com からバイナリーをダウンロードしてきて、/opt あたりなりに展開すれば問題なく動作します。しかし、可能なものなら、Debian のパッケージの仕組みを使ってうまくやりたいものです。Sarge で用意されている java-package を用いることでこれが可能になります。

(1) java-package のインストール

  apt-get install java-package

(2) J2SE のダウンロード

http://java.sun.com から J2SE 5.0 をダウンロードしてきます。ダウンロードできるアーカイブは何種類かあるので、NetBeans を含まない bin 形式のものを選択します。ちなみに今回私がダウンロードしたものは以下のファイルです。

  jdk-1_5_0_05-linux-i586.bin

(3) パッケージの作成

fakeroot コマンドを用いて deb パッケージを作成します。

  fakeroot make-jpkg jdk-1_5_0_05-linux-i586.bin

バージョンの確認やライセンスの確認のためのプロンプトが出てくるので適当に答えてやれば以下のようなファイルが作成されます。

  sun-j2sdk1.5_1.5.0+update05_i386.deb

(4) パッケージのインストール

作成されたパッケージのファイルをインストールします。

  dpkg -i sun-j2sdk1.5_1.5.0+update05_i386.deb

(5) 環境変数の設定

Java を使うためには各種バイナリーの格納されたディレクトリを PATH に追加しておく必要があります。パッケージを作成してインストールすると、J2SE 1.5 は以下のディレクトリに格納されています。

  /usr/lib/j2sdk1.5-sun

基本的には上記のディレクトリの下にある bin ディレクトリを PATH に追加すればよいだけです。~/.bashrc なり /etc/profile なり、適切な初期化スクリプト内で以下のように環境変数の設定を追加します。

  JAVA_HOME=/usr/lib/j2sdk1.5-sun
  PATH=${JAVA_HOME}/bin:${PATH}

Java ベースのプログラムの起動スクリプトでは、環境変数 JAVA_HOME を参照することが多いので、必要なら シェル変数 JAVA_HOME もエクスポートしておくとよいでしょう。

| | コメント (0) | トラックバック (1)

メールサーバー移行計画 (1)

エラく久々な気がしますが、当然、サーバー管理作業をサボっていたわけではありません。が、メールサーバーの移行作業が停滞しているのは間違いありません(くっ)。

基本的に Sarge にインストールされている Exim をそのまま利用するつもりなのですが、複数の仮想ドメインを運用している関係で、デフォルトの設定だけではすんなりと片がつきません。その上、Cyrus-imapd の導入も検討しているので、いつまでたっても実作業を始めようという気力が沸いてこない、という問題もあります。

というわけで、未だ作業が始まる気配はないのです(主語は?)。あ、お茶を濁すわけではありませんが、購入した参考書など掲げておきましょう。

あ。fml も移行せねばならんのだった……

| | コメント (0) | トラックバック (0)

« 2005年9月 | トップページ | 2005年12月 »