2011/03/05

mail環境

無事に無線LANも稼働を始めたので、いろいろと設定していきましょう。

■dovecot(pop/imapサーバ)
インストール
# aptitude install dovecot-pop3d

設定自宅localnetからしかpopアクセスしないので、plain text認証にしています。
また、squeezeにしてから 'mail_location'セクションを記述する必要が有ります。
設定しないと認証後に切断されてしまいます。

disable_plaintext_auth = no
mail_location = maildir:~/Maildir

dovecot再起動
# /etc/init.d/dovecot restart

確認
macbook:~ user$ telnet 192.168.1.15 110
Trying 192.168.1.15...
Connected to eeetan.my.domain.name.
Escape character is '^]'.
+OK Dovecot ready.
user cocone
+OK
pass PASSWORD
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.
macbook:~ user$



■postfix + clamav + amavis (smtpサーバ)
インストール
# aptitude install postfix clamav amavisd-new mailutils

インストール時にdebconf によって、メールサーバの種別を選択させられます。

外部からのメール受信は fetchmai、送信はOB25Pブロッキングが多いのでプロバイダのsmtpサーバに丸投げする方法にします。つまり、'Internet with smarthost' です。
SMTP relay host (blank for none): では プロバイダのsmtpサーバ を記述します。

/etc/postfix/master.cf に amavis用の設定を追加します。
先頭の ' '(スペース)は「前の行とつながっていますよ」の意味なので、削除してはいけません。

# amavis
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
 -o content_filter=
 -o local_recipient_maps=
 -o relay_recipient_maps=
 -o smtpd_restriction_classes=
 -o smtpd_client_restrictions=
 -o smtpd_helo_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject
 -o mynetworks=127.0.0.0/8
 -o strict_rfc821_envelopes=yes

/etc/postfix/main.cfに amavis用の content_filter を追加します。

content_filter = smtp-amavis:[127.0.0.1]:10024

ここで一度postfixを再起動。
# /etc/init.d/postfix restart

確認
#echo "test" | mailx -s "text" user@mail.address
# tail /var/log/mail.log
relay=設定したプロバイダのsmtpサーバ と status=sentを確認する

EeePC4G-X の無線LANを Debian squeezeで使う

以前書いた EeePC4G-X の無線LANを Debian Lennyで使う ではbackports方式を取りましたが、squeezeの 2.6.32カーネルでは ath5kをサポートしてるので、普通に設定ファイルを書けばそのまま無線LANが使用可能です。

★以下、前回分をコピペして一部修正。

自宅無線LANは WPA2 なので、wpasupplicant パッケージをインストールします。
# aptitude install wpasupplicant
次にネットワーク周りの設定をします。
*YOUR-SSID* は無線LAN APで設定したものを、
*YOUR-SSID-PASS-PHRASE* は /usr/bin/wpa_passphrase *YOUR-SSID* PASSPHRASE(無線LAN AP設定時のパスフレーズ) コマンドで出力される謎の文字列を入れます。
dns-nameservers と dns-search はオプション項目のため必須ではありません。
私の場合は 192.168.1.4 が 現自宅DNSサーバ、 192.168.1.1がADSLモデムのDNSリレー なので、それらを指定しています。
*DNS-SEARCH*には自宅ドメインを設定します。
 また、インストール時に使用していた eth0 はコメントアウトしています。
/etc/network/interfaces
auto wlan0
iface wlan0 inet static
    address 192.168.1.15
    netmask 255.255.255.0
    network 192.168.1.0
    gateway 192.168.1.1
    broadcast 192.168.1.255
    wpa-driver wext
    wpa-ssid *YOUR-SSID*
    wpa-scan-ssid 1
    wpa-ap-scan 1
    wpa-proto WPA RSN
    wpa-pairwise TKIP CCMP
    wpa-group TKIP CCMP
    wpa-key-mgmt WPA-PSK
    wpa-psk *YOUR-SSID-PASS-PHRASE*
    dns-nameservers 192.168.1.4 192.168.1.1
    dns-search *DNS-SEARCH*
ifup wlan0 で無線LANを有効化し、正常に動いているか確認します。

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"YOUR-SSID" 
          Mode:Managed  Frequency:2.462 GHz  Access Point: **:**:**:**:**:**  
          Bit Rate=36 Mb/s   Tx-Power=9 dBm  
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=39/70  Signal level=-71 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=10.9 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.661 ms
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.661/5.819/10.977/5.158 ms

インストールUSBからの起動(squeeze編)

前回作成したインストールUSBを使って、インストーラを起動します。


1. もし、まだEeePCにWindowsが入っていたならば、一度Windowsを起動し、電源オプションで 液晶を閉じたときの動作を「何もしない」にします。これはLinux家サーバを閉じた状態で運用することを考えているためです。

2. Windowsを終了します。 グッバイ、ゲイツ。

3. インストーラUSBメモリを本体に挿します。

4. 再起動時に F2 を押してBIOS画面に移行して、ハードウェア時計を 協定世界時UTC(日本時間から9時間遅らせる)にします。UNIXを動かすマシンは、ハードウェア時計はUTCにしておき、OSがtimezone設定 でローカル時刻にするという伝統(?)があります。

5. 同じく BIOS画面の起動デバイス順設定で、 内蔵IDEデバイスよりもUSBデバイスを上にしておきます。

6. BIOSの内容を保存して、再起動します。

7. USBから起動できればコンソールに赤いDebianロゴ(王立宇宙軍のロケット打ち上げ作業員の胸に描いているマークみたいなもの)が表示されてロケットが飛んでいれば、インストール方法の入力待ちになります。


もし、残念にもWindowsが起動してしまったり、以前Linuxをインストールした際の名残で GRUBのOS選択画面になってしまったら、BIOSで起動デバイスの設定を再確認しましょう。
no system device など、OSが無い と表示された場合は インストールUSBの作成に失敗しているので、再度手順を見なおして作成しなおしましょう。 

早速 Install を選択するのですが、画面が切り替わりませんでした。
USBメモリと内蔵SSDのアクセスを数回繰り返す後に画面の上端に謎のグラフィックを残してハングアップしていしまいました。どうやら画面モードというかグラフィック関連でつまずいているように思います(推定です)

仕方が無いので(?)
 Advanced Options - Expert install
と選択します。
Potato か Woodyの頃のような以前のインストールスタイルだけれども、言語選択、キーボード選択、インストーラisoイメージ選択、とそのまま進めていけば大丈夫です。

コンソールのフォントが少し線の細いものになって都会風になりました。
個人的には以前の古臭くて田舎っぽいフォントのほうがコンソールらしくて好きだったので、少々残念です。
(フォント名がわからないので、よくわからない文章になってしまいました)

Debian GNU/Linux インストールUSBメモリの作成(squeeze編)

時は流れてsqueeze時代。
再度EeePC4G-Xにクリーンインストールを試みました。いつものごとくインストーラブート用のUSBメモリ作成から始めます。

OS(Debian GNU/Linux)をインストールるすためのUSBメモリを用意します。
ちょうど手元に 256MB USBメモリがあるのでこれを使いましょう。これから説明する方法では256MBあれば十分です(というか、何GBあろうとも強制的に256MBのファイルシステムを作成し、残りは使用しません)
以降、各種ファイルへのリンクを張っていますが時間と共に古くなっていきますので適宜読み替えてください。
また今回の作業母艦はMacBook(OSX10.5 Leopard)です。

以下のURLを参考にして、ブートイメージを入手します。
http://www.debian.org/distrib/netinst

具体的には以下のファイルをダウンロードします。
http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-i386/current/images/hd-media/boot.img.gz


★と、まさに 前回のブログ と同じことを書いて、もとい、コピペしてしまいました。


isoイメージとして isoファイルもダウンロードします。
http://cdimage.debian.org/debian-cd/6.0.0/i386/iso-cd/debian-6.0.0-i386-netinst.iso


★あぁ、あとここからは、まさに 前回のブログ と同じことです。コピペしてしまいましょう。

USBメモリをMacBookに挿します。
最近のUSBメモリはFAT32でフォーマットされているので自動的にマウントされます。
ここで ターミナル を起動して df コマンドで デバイス名を確認しておきます。


$ df
Filesystem               512-blocks      Used Available Capacity  Mounted on
(中略)
/dev/disk1                   488960    348584    140376    72%    /Volumes/Debian Inst

/dev/disk1 がUSBメモリのようです(一度 作成済みのUSBメモリのため、Debian Inst になっています)
デバイス名を確認したら、ディスクユーティリティでアンマウントします。
デバイス自体ではなく、パーティションを選択して「マウント解除」します。



ディスクイメージを書き込みます。デバイス先に問答無用(確認なしに)イメージが書き込まれるので、間違えないようにしてください。
もし間違えたら、中のデータは消去されてDebianインストーラになっています。その時はもう...諦めてください。
$ gzcat boot.img.gz > /dev/disk1
ディスクユーティリティを使って再度マウントします。



デスクトップにアイコンが現れているので、finderでUSBメモリを開き、先にダウンロードしておいた debian-506-i386-netinst.iso をdraf&dropでコピーします。
これでインストーラUSBの出来上がりです。
デスクトップのアイコンを右クリック(Crtl+左クリック)してアンマウントしてから、USBメモリを取り外しましょう。



これで事前準備は終了です。