D945GCLF + Fedora10 サーバ構築メモ
Updated:
『Fedoraで自宅サーバー構築』を参考にして構築したときのメモです。
以前、Fedora9で構築しようとしましたが、カーネルがD945GCLFのLanカードドライバに非対応のようでインストール自体が失敗したため、Fedora8で構築し運用していました。
しかし、新しい物好きの僕なので、Fedora10でのサーバ構築に挑んでみたのでした。
幸い自分が必要としているサービスは何とか構築できたので、以下に記録として残しておくことにしました。
ただし、基本は『Fedoraで自宅サーバー構築』ですので、あしからず。。。
構築記録
( ■:構築済み、□:未構築、△:不要と判断したもの )
Fedoraインストール
■ Fedora 10 インストール → Fedora 9 のインストールと同様の方法で Fedora 10 をインストール。
内部クライアント(Windows)からLinuxサーバーをリモート操作する
■ WindowsからSSHサーバーへリモート接続(Poderosaパスワード方式ログイン編)
Fedora初期設定
■ Fedora 9初期設定 → ネットワーク設定は kajuhome.com を参照。
仮想マシン構築
△ 仮想マシン構築 △ ドメインUディスクサイズ拡張
Perlモジュールを簡単にインストールできるようにする
■ Perlモジュールパッケージ管理システム導入(cpan2rpm) → cpan2rpm はインストール完了。しかしperlモジュールのインストールはエラー。 ・以下のディレクトリがないとのエラーのようなので、mkdir で作成したら成功。
/root/rpmbuild/SRPMS/SRPMS
/root/rpmbuild/SRPMS/BUILD
/root/rpmbuild/SRPMS/SOURCES
/root/rpmbuild/SRPMS/SPECS
/root/rpmbuild/SRPMS/RPMS
サーバー公開前のセキュリティ強化
■ ファイル改竄検知システム導入(Tripwire) ■ rootkit検知ツール導入(chkrootkit) ■ アンチウィルスソフト導入(Clam AntiVirus) ■ ファイアウォール構築(iptables)
システム時刻を自動的に合わせる
■ NTPサーバー構築
外部クライアント(Windows)からLinuxサーバーをリモート操作する
△ SSHサーバー構築(OpenSSH) → 次項の”OpenSSH+CHroot”をインストールするため。 ■ SSHサーバー構築(OpenSSH+Chroot) → エラー。(configure: error: PAM headers not found) 以下を実行。
yum -y install pam-devel
→ 成功!
rpm -Uvh /usr/src/redhat/RPMS/i386/openssh-4.5p1-1.i386.rpm
ではエラーとなるので、以下を実行!
rpm -Uvh rpmbuild/SRPMS/RPMS/i386/openssh-4.5p1-1.i386.rpm
→ 成功!
rpm -Uvh /usr/src/redhat/RPMS/i386/openssh-server-4.5p1-1.i386.rpm
ではエラーとなるので、以下を実行!
rpm -Uvh rpmbuild/SRPMS/RPMS/i386/openssh-server-4.5p1-1.i386.rpm
→ 成功!
rpm -Uvh /usr/src/redhat/RPMS/i386/openssh-clients-4.5p1-1.i386.rpm
ではエラーとなるので、以下を実行!
rpm -Uvh rpmbuild/SRPMS/RPMS/i386/openssh-clients-4.5p1-1.i386.rpm
→ 成功! よって、
rm -f /usr/src/redhat/RPMS/i386/*
ではエラーとなるので、以下を実行!
rm -f rpmbuild/SRPMS/RPMS/i386/*
→ 成功! ■ WindowsからSSHサーバーへリモート接続(Poderosa鍵方式ログイン編)
Linuxサーバーをルーターにする
△ PCルーター構築(PPPoE+iptables)
LAN内クライアントマシンへIPアドレスを自動で割当てる
△ DHCPサーバー構築(dhcp)
外部からドメイン名でサーバーにアクセスできるようにする
△ ドメイン名取得(ieServer.Net編)※無料 △ ドメイン名取得(独自ドメイン編)※有料 △ ドメイン名取得(jpドメイン編)※有料
内部からドメイン名でサーバーにアクセスできるようにする
■ DNSサーバー構築(BIND)
インターネットとフレッツ・スクウェアへ同時に接続できるようにする
△ PPPoEマルチセッション設定(PPPoE)
Linuxサーバーに接続したプリンタをLAN内で共有する
△ プリントサーバー構築(CUPS)
Webサーバーを公開する
■ Webサーバー構築(Apache) ■ Webサーバー間通信内容暗号化(Apache+mod_SSL) △ ユーザディレクトリ作成(/~ユーザ名/) △ Webページパスワード制限(htpasswd) △ バーチャルホスト設定 ■ Webサーバー間通信内容圧縮(mod_deflate)
Windowsで作成したWebページをWebサーバーへアップロードする(SCP使用)
■ WindowsからSSHサーバーへファイル転送(WinSCP)
Windowsで作成したWebページをWebサーバーへアップロードする(FTP使用)
■ FTPサーバー構築(vsftpd) △ WindowsからFTPサーバーへファイル転送(FileZilla)
Webページへのアクセス統計をWebブラウザからみれるようにする
■ Apacheアクセスログ解析(AWStats)
cpan2rpm --no-sign --make-no-test --install Geo::IPfree
ではエラーとなるので、
cpan2rpm --no-sign --make-no-test --install Test::Simple
の後に、以下を実行!
cpan2rpm --no-sign --make-no-test --install Geo::IPfree
→ 成功! △ バーチャルホスト用アクセスログ解析(AWStats) ■ リファラスパム対策
自宅サーバーのWebサイト内をGoogleのように検索できるようにする
■ サイト内検索システム構築(Namazu)
独自のメールアドレスをつくる(Postfix編)
■ メールサーバー構築(Postfix+Dovecot) ■ メールサーバー間通信内容暗号化(OpenSSL+Postfix+Dovecot) → 実際にはPOP(110),SMTP(25)で稼動。 ■ taRgreyによるスパム対策(taRgrey)
cd rpmbuild/SOURCES/
ではエラーとなるので、以下を実行!
cd /root/rpmbuild/SRPMS/SOURCES/
→ 成功!
rpmbuild -bb --clean rpmbuild/SPECS/postfix.spec
ではエラーとなるので、以下を実行!
rpmbuild -bb --clean /root/rpmbuild/SRPMS/SPECS/postfix.spec
→ 成功! (但し、依存性問題発生したので、必要なpackageインストール)
rpm -Uvh --force rpmbuild/RPMS/i386/postfix-2.5.5-1.fc10.i386.rpm
ではエラーとなるので、以下を実行!
rpm -Uvh --force /root/rpmbuild/SRPMS/RPMS/i386/postfix-2.5.5-1.fc10.i386.rpm
→ 成功! etc… ■ メールサーバーでウィルス&スパムチェック(Postfix+Clam AntiVirus+SpamAssassin) △ バーチャルドメイン設定(Postfix&Dovecot+qmail&vpopmail) △ vpopmail用メールアカウント&メーリングリスト管理システム導入(Postfix+qmailadmin) △ メール自動返信機能導入(Vacation) △ メーリングリストサーバー構築(Postfix+Mailman) ■ Postfixログ解析ツール導入(pflogsumm)
独自のメールアドレスをつくる(qmail編)
△ メールサーバー構築(qmail+Dovecot) △ メールサーバー間通信内容暗号化(ucspi-tcp-ssl) △ メールサーバーでウィルス&スパムチェック(Qmail-Scanner+Clam AntiVirus+SpamAssassin+maildrop) △ バーチャルドメイン設定(vpopmail) △ vpopmail用メールアカウント&メーリングリスト管理システム導入(qmailadmin) △ qmailログ解析ツール導入(qmailanalog)
メールサーバー共通
■ OP25B(Outbound Port 25 Blocking)対策 ■ 複数ドメイン宛メールの集約(Fetchmail+hotwayd) ■ メール格納形式変更
HotmailやYahoo!メールのようにWebブラウザ上でメールできるようにする
■ Webmailシステム構築(SquirrelMail) → ログイン時、”このページにアクセスするにはアカウントが必要です。” のエラーになる。(/var/lib/php/session のオーナーをapache:apacheにしても) → 再度 “/var/www/webmail/config/conf.pl” を設定しなおしたらOK。(?) △ バーチャルホスト設定(Virtual Host Domain Name Management)
HotmailやYahoo!メールのように携帯電話でメールできるようにする
■ 携帯用Webmailシステム構築(WebMailClient2 for Keitai)
LinuxサーバーをWindowsのファイルサーバーにする
■ Windowsファイルサーバー構築(Samba)
LinuxサーバーをiTunesのミュージックサーバーにする
△ DAAPサーバー構築(Firefly)
Linuxサーバーを内部/外部共用のWindowsのファイルサーバーにする
△ Webフォルダサーバー構築(WebDAV)
一般ユーザにWebブラウザ上での各種設定機能を提供する
△ Usermin導入(Usermin) △ UserminでVacation設定(Usermin::Vacation)
LinuxのパスワードとSambaのパスワードを同期する
△ Windowsネットワーク用統合認証サーバー構築(OpenLDAP+Samba)
データベースシステムを作る(MySQL編)
■ データベースサーバー構築(MySQL) ■ MySQLデータベース自動バックアップ運用(mysqlhotcopy) → DBのバックアップ、リストアは未確認。 ■ MySQL用GUI設定ツール導入(phpMyAdmin)
SNS(ソーシャルネットワーキングサイト)を作る
△ SNS構築(OpenPNE)
Weblog(ブログ)サイトを作る
■ ブログサイト構築(WordPress)
CMSでWebサイトを構築する(XOOPS編)
△ コミュニティサイト構築(XOOPS)
CMSでWebサイトを構築する(joomla!編)
△ CMSによるWebサイト構築(joomla!)
バージョン管理システムを構築する
△ バージョン管理システム構築(Subversion)
サーバーの状態をブラウザから監視する(Nagios編)
■ 統合監視システム構築(Nagios) → インストールしたものの、不要と感じたため、サービスは停止。 △ リモートホストサービス監視(Nagios+nrpe)
サーバーの状態をブラウザから監視する(RRDtool編)
■ サーバー監視システム構築(RRDtool+Cacti) ■ Apacheアクセス統計監視グラフ追加(apachestats) △ BINDアクセス統計監視グラフ追加(bind9-snmp)
サーバーの状態をブラウザから監視する(MRTG編)
△ ネットワークトラフィック監視システム導入(NET-SNMP+MRTG)
Webブラウジングを高速化する
△ プロキシサーバー構築(Squid) △ プロキシサーバーでウィルスチェック(Squid+SquidClamAV+ClamAV)
LinuxをHDDビデオレコーダーにする
△ TV録画機能導入(GV-MVP/RX2+ivtv-1.0) kernel-2.6.22系 △ TV録画機能導入(GV-MVP/RX2+ivtv-0.10) kernel-2.6.21系 △ TV録画機能導入(GV-MVP/RX2+ivtv-0.10) kernel-2.6.20系 △ TV録画機能導入(GV-MVP/RX2+ivtv-0.10) kernel-2.6.19系 △ TV録画機能導入(GV-MVP/RX2+ivtv-0.8) kernel-2.6.18系 △ TV録画機能導入(GV-MVP/RX2+ivtv-0.7) kernel-2.6.17系 △ TV録画予約システム構築(vrs) △ 録画データの活用
サーバー公開後のセキュリティ強化
■ 不正アクセス検知システム導入(Snort+SnortSnarf+Oinkmaster)
rpm -Uvh /usr/src/redhat/RPMS/i386/snort-2.8.0.1-1.i386.rpm
ではエラーになる(Fedora10の場合)ので、以下を実行!
rpm -Uvh rpmbuild/SRPMS/RPMS/i386/snort-2.8.3.1-1.i386.rpm
→ 成功! ■ iptablesログ解析(IPTables log analyzer) ■ ログ監視ツール導入(SWATCH)
ユーザのホームディレクトリ容量を制限する
△ ホームディレクトリ容量制限(quota)
サーバーのファイルを自動的にバックアップする
■ 自動バックアップ運用(tar+GnuPG+rsync/ftp) △ リアルタイムミラーリングツール導入(lsyncd+rsyncd)
外部から安全にLANへ接続できるようにする
△ VPNサーバー構築(OpenVPN) △ Windows上にVNCサーバー導入(UltraVNC)
その他
■ ハードディスクの温度設定
hddtempのインストール。
yum install hddtemp
hddtemp の実行。
hddtemp /dev/sda
Comments