現用サーバーは PC (Mini-ITX VIA PC1500) を使用しているが、最近、動作が怪しくなった。そろそろ、入れ替えの時期であるようである。
サーバーには手持ちPCを使い回しているが、次のサーバー用PCはインテルのMini-ITX M/B D945GCLF2である。スペックは
Atom 330、i945GC Chipset、1000BaseT、SATA*1、IDE*1である。ドライブは250GBHDD(SATA)とCD/DVD(IDE)が装着されている。
現用
サーバーOSはFreeBSD 6.4-RELEASEであるがHDDはIDEなので、今回はFreeBSD 7.3-RELEASEを250GBHDD(SATA)にクリーン・インストールしてみる。
FreeBSD 7.3-RELEASEはCD-ROMからブートしてFTP経由でインストールすることにした。
FreeBSDのサイトからISOイメージの
FreeBSD-7.3-RELEASE-i386-bootonly.iso をダウンロードしてCD-Rに焼くが、この作業はWin7PCで行った。
D945GCLF2を使用したPCにCD-Rを装着して日本国内のFTPサイトからインストールする。
サーバー用途なのでX関係はインストールしない。インストールセットはDeveloperを選択し、sshログイン、inetdではftpdとpop3を有効にした。インストールが終了し、ps axで確認すると主なアプリ関係ではsendmail、sshd、inetdが立ち上がっていた。
サーバーで外部公開するのは、現状と同じでsmtpとhttpdのみで、内部ではftpd、sshd、pop
を使う。
sshdが動いているので、Win7PCからTera Term経由で操作して、現用サーバーの設定ファイル等を、GUIでコピー・ペーストできるので大助かりである。
これから追加したり設定したりするアプリ類はApache、wwwcounter、semdmail、fml、pop3、ipfilter、syslog等である。
httpdは当然、Apacheである。現用はApache 1.3.42であるが、1.3系も1.3.42が最終バージョンとのことなので、portsからApache2.2をインストールした。
Apacheを自動起動するために/etc/rc.confに以下のコメントを追加した。
apache22_enable="YES"
リブートしてApacheのバージョンを確認する。
$ httpd -v
Server version: Apache/2.2.14 (FreeBSD)
設定ファイルのhttpd.confは現用のものを参考にして作り替えた。
コンテンツは現用サーバーからftpdで一旦、Win7PCへダウンロードし、それをFreeBSD 7.3をインストールしたD945GCLF2(開発用PC)へアップする方法で移し替えた。
CGIは掲示板とカウンターを使っている。掲示板はファイル類をftpで現用サーバーからWin7PC経由で移し替え、chmodでモードを調整したら動作した。
カウンターは現用と同じwwwcount2.5をportsからインストールしようしたが、どういうわけかmake installでエラーとなってしまう。
tarballをサイトからダウンロードしてインストールした。
$tar -zxvf wwwcount2.5.tar.gz
$cd wwwcount2.5
として、デフォルトインストールの場合
$make all
$su root
#make install
と進むが、cgi-binへのパスが違うのでこのままでは正常動作しない。make installの途中でConfig.tmplのパス記述を変更せよと出てくる。
#vi Config.tmpl
として
CGIBIN_DIR="CGIBIN_DIR="/usr/local/www/apache22/cgi-bin"
へと変更する。
再度、
#make install
として進めれば無事インストール完了となる。
当初、カウンターの枠だけで数字が表示しなかったので/usr/local/etc/Counter/data/sample.datを
#chown nobody:nogroup sample.dat
としたら表示するようになった。
設定は/usr/local/etc/Counter/conf/count.cfgファイルを編集する。
FreeBSD 7.3-RELEASEをインストールするとデフォルトでsendmail8.14.4が動作しているので、現用サーバーと同様、これをMTAとする。
現用サーバーを参考にして/etc/mail以下の各種ファイルを設定した。このあたりは以前のメモ1、メモ2が役立った。
上記メモにもあるが、/etc/rc.confに
sendmail_enable="YES"
と記述しないと動作しない。
この状態でルーターの25ポートを開発用PCに関連づけて
不正中継をしないか確認する。http://www.abuse.net/relay.htmlでチェックすると全項目、無事パスした。
MTA関連で、いつも戸惑うのがPOP3サーバーである。POPは外部公開しないで家庭内LANのみであるので、セキュリティーはあまり気にする必要がない。
LAN内のPCからMTAとやりとりするだけなので、高機能なPOP3は不要である。当初、portsにあったpopdを試したが、うまくいかなかった。
次にpop3liteをインストールし、/etc/inetd.confに以下の設定をしただけで動き出した。
pop3 stream tcp nowait root /usr/local/sbin/pop3lite pop3lite
sendmailが動き始めたのでMLソフトのfmlをインストールする。自宅サーバーではいくつかのMLをハンドリングしているので、これらの環境を構築する必要がある。fmlをインストールし、基本的な設定をした後、ハンドリングしているMLのデータを現用サーバーからWin7PC経由で移設することにする。
インストールから設定までは以前、作ったメモのとおりである。メモではMTAとしてqmailを使っているが、今回はsendmailであるが、インストールまでは同じ手順である。
現用と同じfml-4.0.3.tar.gzをwww.fml.orgからダウンロードし、インストールした。
testという名前のMLを作成する。ユーザーfmlでログインし
%/usr/local/fml/makefml newml test
で作成する。aliasを登録するためsuでrootになり
# cat /var/spool/ml/test/aliases >> /etc/aliases
#newaliases
でOKとなる。この後はメンバーの登録、configファイルの設定が必要であるが、すでに現用サーバーにはこれらのデータがあるので、開発用PCにftpで移設する。
現用サーバーにも同じtestという名前のMLがあり、そのディレクトリーは/var/spool/ml/testであり、そこには各種設定ファイル、メンバーファイル、過去の投稿データ等が全て入っている。これらを一旦、Win7PCにftpでダウンロードし、それを開発用サーバーの/var/spool/ml/testにアップすることで移設するわけである。
Win7PCからftpで現用サーバーに接続する。その場合のユーザー名はfmlである。ディレクトリー/var/spool/ml/testのオーナーはfmlであるので、これでダウンロード、アップロードが可能となる。
他のMLも開発PCで作成し、データは現用サーバーから移設すればOKである。
この方法であれば、サーバーを運用しながら、データの移設が可能となる。
ipfilterも以前のメモを参考にして設定した。
設定ファイルのipf.rulesは現用サーバーのものをコピー・ペーストしただけであるが、特に問題はないようである。
syslog関係も以前のメモを参考にして設定した。
各種設定ファイルも現用サーバーのものをコピー・ペーストしただけである。
開発用PCにおけるアプリ関係の設定も終わったので、試験運用する。とりあえず、丸一日、通電しておいた。Charlie Rootからのメールも入っており、その内容にも問題がないようである。
インターネットに接続されているルーターの設定を開発用PCのIPアドレスに変更する。ルーターではNATとfirewallの設定変更が必要である。
携帯からWebにアクセスしてhttpaccess.logをリアルタイムで確認したが問題ない。
さらに、携帯からメールしてmaillogを確認するがこちらもOKであった。
ハンドリングしているMLに試験メールを出し、掲示板にも試験投稿してチェックしたが全てOKであった。
当初、開発用PCであるD945GCLF2を現用サーバーとするつもりであったが、このM/Bには今では貴重となったシリアル・ポートがついている。
シリアル・ポートはワンチップIC用のライターを接続して使用することがあるので、D945GCLF2をサーバーに転用するわけにはいかないことに気がついた。
そんなわけでサーバー用にM/Bを新調することにした。当然、候補はインテルのMini-ITXである。D945GCLF2の後継機種であるD510MOと2GBメモリーを購入し、現用サーバーのM/Bと入れ替えた。
M/Bを入れ替えたサーバーに開発用PCからHDDを移設し、ブートさせると全く問題なく立ち上がった。
この状態で、さらに数日間、運用したが特に問題はなかった。
これでFreeBSD7.3へのバージョン・アップも完了である。最後に予備用HDDを作ることにした。
FreeBSD7.3はWinPCで使用していた250GBのSATA HDDにインストールした。予備用HDDはddで丸ごとコピーする方法で作成しているので、同容量のHDDが入手できれば良いことになる。
1TBが数千円の時代なので、今となっては250GBのHDDはネットで探してもなかなか見つからない。ダメ元で地元のPCショップへいったらSeagateの250GB HDDを入手することができた。
サーバーに装着しdmesgで確認するとad4:Seagate 、ad6:Hitachi
となったので
dd if=/dev/ad6 of=/dev/ad4 bs=16m
とすると2時間弱で丸ごとコピーすることができた。
HitachiのSATAケーブルを丸ごとコピーしたSeagateにつなぎかえ、Hitachiを無接続にしてリブートさせると無事に
ad6: 238475MB Seagate ST3250318AS CC46 at ata3-master SATA150
となり、Seagateで立ち上がった。
これでHitachiが予備用HDDとなった。