KOREDO?com | ホーム | パソコン関係 | ソフト | ハード | その他 | お問合せ | |
||||||||||||||
|
||||||||||||||
■自宅サーバの構築 その2■ RedHat8を使用した |
||||||||||||||
2003/1/3 |
||||||||||||||
●前書き |
||||||||||||||
先日よりWindowsXPにて自宅サーバを開始したが(詳細はこちら)、やはりサーバはUNIX系が良い。 サーバは稼働を開始した後は、管理・運用作業のみとなる。 定期的にログをチェックしたり、定時に各種ログを集計したり、エラーを監視して警告、連絡したり・・・ はっきり言って面倒である。そこをいかに簡単にするか。全てを自動にすればよいのである。
Windows系のアプリケーションはビジュアルでインタラクティブ、稼働開始までは重宝するであろう。しかし、当然のごとく、他のアプリの事など全く考えていないし、OSの事すらも知った事ではない。自分自身の世界を作ってクローズしている。従ってログの場所などもバラバラ。とても管理出来た物ではない。
例えば。
Linuxであればスクリプト数行で済む事(しかも全部最初からに入っていて、標準で出来る事)が出来ない。 メールログファイルの下の方を見て着信した部分を切り出し、指定時間後に再検査し、変化があれば音を鳴らす。これだけですよ、これだけ。トリッキーに書けば1行で書けるのでは?と言うくらい単純。
と、言う事でWindowsに見切りを付け、勉強も兼ねてRedHat Linux8.0で構築する事にした。 ※注意:このドキュメントはあくまで個人レベルのサーバ構築の話です。 |
||||||||||||||
●インフラ整備(サーバ ) | ||||||||||||||
サーバは引き続き、余剰部品の組み合わせ microATXのケース。
※5インチベイにはスピーカが入っている。CDD、FDDは無し。 メモリとHDDは多めにしたが、所詮は余剰品。 この組み合わせでもXがまずまずの速度で動くのにはびっくり。1GHz位いるのでは?と思っていたが、CPUはあまり関係ないようだ。
|
||||||||||||||
●OSインストール | ||||||||||||||
※注意:このドキュメントはあくまで個人レベルのサーバ構築の話です。 何はともあれCDを入手。 参考書 雑誌の付録でもいいが、始めての方は上記を推奨。CD付き。 インストールでつまづく事はあまり無いが、HDDのパーティションはよく考えておこう。今回は3つに切った。(勝手に切られた) /boot 100M SWAPはメモリ×2。将来増設する分も考えて確保しよう。 伝統的に/home や /var を別パーティションにしたがる傾向があるが、大規模サーバならまだしも、HDDを増設する予定も無い個人ユーザには無縁である。 インストールオプションは「全部」。全部入れたところでたかだか4GB。残りは10GBある。個人サーバであればまず問題ない。入れ忘れがあると後から入れるのが面倒。 ネットワークの設定は IPアドレスは固定、自分で決定して入力。 何の事か解らない場合、上記参考書を参考に。
FDDは付いてないのでBOOTディスクの作成はパス。所詮個人用サーバなので壊れたら直すより、また新たに構築したほうが早い。 Xの環境等はめんどくさいのでほとんどデフォルト。解像度だけSXGAにした。とりあえずグラフィカルログインを選択。
|
||||||||||||||
●ハード設定 | ||||||||||||||
起動したらRHNがどうのこうの言ってくる。いわゆるWindowsアップデートの様な物。素直に全部アップデートしておく。(メールアドレスの登録が必要。フリーのメールアカウントなどを用意しておこう) 起動したらマウス、キーボード、サウンド等のハードウェアが正しく動くかチェック。 ※マウスが動かない場合は<ALT>+<F1>でメニューが出る。 画面の領域もメニューから。変更したら一回ログアウト。
次にMozilla(ブラウザ)を起動してインターネットに接続しているか、内部LANと通信しているかチェック。 うまく動かない場合はメニューの「システムのログ」でチェック。設定もメニューの中にあるので適宜。 終わったら画面周りを自分の好みにする。アイコン類は「小さい」に変更。画面上部にパネルを追加し、システムの稼働状況をグラフ表示するようにした。
|
||||||||||||||
●システム設定 | ||||||||||||||
メニューの「ユーザとグループ」でメールのアカウントを作成。 ここでありがちなのは、「管理者(root)ではなくユーザとしてログインする事」と良く言われるが、それも規模が大きい場合の話。使うのは自分だけなので自分が管理者。いつでも「root」(笑) ※telnetやFTPはセキュリティ上rootで入れないので念のため。設定変えれば無理矢理入れるだろうがそこまでrootに拘る必要もなかろう。
メニューの「サービス」でこのサーバで使わない物は止めておく。 今回要らない物はDHCPサーバ、プリントサーバ、ネームサーバなど。そのほかPCMCIAやISDNなどもいらないだろう。(多すぎて何がなんだか。依存関係も良く分からない。とりあえず動けばOK)
|
||||||||||||||
●サーバ構築 Samba(サンバ) | ||||||||||||||
※注意:このドキュメントはあくまで個人レベルのサーバ構築の話です。 WEBのコンテンツをWindowsからアップするのにわざわざFTPを使うのもばかげている。ここはsambaを使って、Windowsのファイルサーバに見せかける事にする。 設定は参考書を参考にすれば問題ない。ワークグループ名、サーバ名、共有場所を変更する程度。 書き込みをする場合はLinux側でパーミッションを書き込み可にしておく。自宅サーバ、しかも自分しか使わないのでユルユルの設定にする。 当然インターネット側からは見えないように、ルータでポートを閉じておく事。
日本の総本山は http://www.samba.gr.jp/ ブラウザベースで設定する「SWAT」と言うのもある。(が、SWATが動くようにする前に、/etc/samba/smb.conf を直した方が早い)
|
||||||||||||||
●サーバ構築 Apache(アパッチ) | ||||||||||||||
※注意:このドキュメントはあくまで個人レベルのサーバ構築の話です。 WEBサーバと言えばApache。デファクトスタンダード。 これも普通に公開する分には別段難しくは無い。htmlを置く場所(ドキュメントルート)が/var/www/html/
で問題なければそこにコンテンツをアップして起動するだけ。 その他細かい設定も参考書、インターネットを参照のこと。
参考書では設定ファイルhttpd.conf を直接なおしているが、ブラウザベースの管理ツールもある。 ※Apacheだけではなく、Linuxの管理全般が行えるのでインストールしておく。
WEBは公開するので、内部でテスト完了後にルータでポート80を開けて、内部サーバに届くように設定。
アクセスログの解析は標準でwebalizerと言うのが入っている。
|
||||||||||||||
●サーバ構築 sendmail(センドメール) ipop3 | ||||||||||||||
※注意:このドキュメントはあくまで個人レベルのサーバ構築の話です。 上記参考書に従って設定を行なう。 ルータのポート25、110を開けてサーバに送るように設定。 読み書きのテストを行う。問題なければSPAMリレー(不正中継)の検査を行う。(インターネット上に色々ある) 以上で一通り完了である。特に問題なければこのまま公開する。
が。 このままではセキュリティ上、外(出先や会社など)からメールが送れない。外で送りたい場合は別途プロバイダから支給されたアカウントで、そちらのSMTPサーバを使う必要がある。ありがち。使用頻度が少ない場合はそれでもいいだろう。 ここまで来てそれも癪に触るので、外部からも自宅サーバを使って送れるようにしよう。 ここから先は参考書に載ってない。 あれこれググって色々調査。 ・POP before SMTP 一般的かと思ったが、どうもメールサーバが正しく認証出来るまでの繋ぎの技術らしい。POPを検出して中継許可ファイルに追加、指定時間後に消す。確かにあまりスマートでは無い。 ・SMTP AUTH(認証) こちらが本命の様だ。sasl と言うのを使うらしい。確かにデフォルトで「 saslauthd 」と言うサービスが入っている。 これがまた日本語ドキュメントが無い。ググっても他のメールサーバ( qmail,postfix )だったり、sendmailのバージョンが違ったり、ディストリビューションが違ったり、BSD系だったり。。。ほとんど手探り。書籍類も見てみたが、同様の状況。(まぁ英語ドキュメントを読めば済むのであろうが。。。)
|
||||||||||||||
●SMTP認証 saslauthd(読めない。サスル?) | ||||||||||||||
とりあえず試行錯誤した手順。 ※無保証、間違ってる場合もあるので注意 ◆まず実行前の状態を調べる。telnet でポート25に繋ぎ、コンニチワ。 250-ENHANCEDSTATUSCODES ◆/etc/mail/sendmail.mc を編集 以下の行のdnl(コメント行の事)を外す ◆/usr/lib/sasl/Sendmail.conf を変更 ◆ユーザを登録する 出来たかどうかは ◆パーミッションの確認 ◆メニュー「サービス」saslauthd を有効にする 250-ENHANCEDSTATUSCODES 青字が追加されていればsendmail側はOK。 メールソフトで設定(「このサーバは認証が必要」など)を適切に設定し、送受信、不正中継テスト、外部からの接続テスト。。。。なんとかクリア。 未だに良く分からない所が多いが、とりあえずSPAMの踏み台にはなってないようなのでヨシとする。 うまく動かない場合は maillog を始め、ログをチェックの事。
|
||||||||||||||
●管理 | ||||||||||||||
最初にも書いたように ・メール着信 が発生したら音を鳴らすようにした。方法はいくらでもあるが、シェルスクリプトで ・ファイルサイズ比較(ls -l |awk
)、 などを定期的に実行、比較判定するようにした。 Windows用のWAVEは #play [オプション] ファイル名 で再生可能。 つたないサンプル:WEBのエラー判定
ちなみにこのスクリプトはかなり適当で精度が低い。本来は error_log 全体をスキャンしなけれならない。しかし実行に時間がかかるので、その辺は処理時間と精度のトレードオフにした。 このへんは如何様にでも出来るのでお好みで。
|
||||||||||||||
●結論 | ||||||||||||||
DDNSで独自ドメイン完成。なんとかLinuxでリベンジ出来た。信頼性は様子見。 いざと言う時のために、別のマシン(さらに非力)で同じ環境を作ってスタンバイさせてある。
|
||||||||||||||
●後書き | ||||||||||||||
参考書の題名は「はじめてのRedHat Linux 8.0」であるが、始めての人間が出来るかどうかは疑問である。 以下のUNIXの基礎知識は必須 ・ファイル操作系コマンド これにさらにRedHat Linuxローカルの設定や作法が加わる。初心者レベルの人間には長く険しい道になるだろう。
それでも基礎知識は是非覚えておきたい。何故なら、10年後、20年後でも全く変わらないから。
また、「勉強」などと構える必要もなく、RPGゲームでもやってると思えばいい。
|
||||||||||||||
|
||||||||||||||