トップ  > サーバ設定:運用  >

サーバ設定:運用

自作したサーバにインストールしたOSやアプリケーションの設定や運用過程を載せています。

OSは、Red Hat Enterprise Linuxが無償公開したソースコードより、同社の商標、商用パッケージなどを含まない形でリビルドされた、「RHELクローン」を使用し、その中のCentOS(The Community ENTerprise Operating System)で構築しました。

CentOSはVersion6の64bit版を使用しています。構成があれなので恩恵に与れるか…。

基本はCentOSで自宅サーバ構築さんを参考に作成しておりますが、32bitと64bitが思いのほか違いがあり勉強になりました(ホームページを作成するいいきっかけにもなりました)。スクリプトなどの出来が非常にいいので基本的にそのまま使用しております。


Fedoraは最新機能が使用できて良いのですが、次の次がリリース後、1ヶ月でメンテナンスが終了(約13ヶ月)する為、長期運用という面で自分の中では使いたくないと思いました。(自分にスキルが無いだけ?)

ちなみに、「CentOSで自宅サーバ構築」さんではFedoraで自宅サーバ構築というのも公開しています。

RHELクローンといえばWhite Box Enterprise Linux等いろいろありますが、有志ボランティアによってリリースされているというの惹かれて使用しております。

OSのインストール~初期設定

OSは光学ドライブ類がついていない為(元々こうしようと思っていましたが…)、PXEブートしメインPCからFTPでネットワークインストールします。

インストール時のみ画面とキーボード・マウスを使用します。メインPCから一時的につなぎかえるのが手間がかからないのでお勧めです。(それだと手順が見れない?って)

  1. 前準備(PXEインストール用)
  2. CentOS5インストール(PXE編)
  3. CentOS5インストール(USBメモリ編)
  4. リモート接続
  5. CentOS5初期設定
  6. NTPサーバ構築

サーバ公開前のセキュリティ対策

外部に公開する前にセキュリティの強化をします。

  1. ファイル改竄検知システム導入(Tripwire)
  2. rootkit検知ツール導入(chkrootkit)
  3. アンチウィルスソフト導入(Clam AntiVirus)
  4. ファイアウォール構築(iptables)
  5. SSHサーバ構築(OpenSSH)
    1. SSHサーバ構築(OpenSSH)-CentOS 6.x
    2. SSHサーバ構築(OpenSSH)-Installation from Source
  6. WindowsからSSHサーバへリモート接続(鍵方式ログイン)

サーバ公開

いよいよ外部に公開します。

現時点では、動的IPによりIPアドレスが与えられていますので、IPアドレスを直接入力とアクセスはできます。

これでは自分しかわからないので、ドメイン名(www.yahoo.co.jpなど)でアクセスできるようにします。

また動的IPの為、ルータの電源OFF/ON時などをするとIPアドレスが変化するので定期的に監視をし、変更がある場合は自動で変更してくれるダイナミックDNSの設定をします。

  1. 独自ドメイン(Yahoo!!)
  2. ダイナミックDNS(FreeDNS)

各アプリケーションのインストール

いろいろなアプリケーションのインストールや設定です。設定項目が多いものはさらに細かく分類しています。

全て入れなくても動作はしますが、ページの最初に前提条件を載せています。

  1. 内部からドメイン名でアクセス出来るようにする
    1. DNSサーバ構築(BIND)-CentOS 6.0
    2. DNSサーバ構築(BIND)-CentOS 5.6
  2. Webサーバを公開する
    1. Webサーバ構築(Apache)
    2. Webサーバ間通信内容暗号化(mod_ssl)
    3. Webページパスワード制限(htpasswd)
    4. Webサーバ間通信内容圧縮(mod_deflate>
  3. Windowsで作成したWebページをWebサーバへアップロードする
    1. WindowsからSSHサーバへファイル転送(WinSCP)
  4. Webページへのアクセス統計をWebブラウザからみれるようにする
    1. Apacheアクセスログ解析(AWStats)
    2. リファラスパム対策
  5. 独自のメールアドレスをつくる(sendmail編)
    1. OP25B(Outbound Port 25 Blocking)対策
    2. メールデータ移行
    3. メールサーバ構築(sendmail+Dovecot)
    4. メールサーバ間通信内容暗号化(OpenSSL+sendmail+Dovecot)
    5. メールサーバでウィルスチェック(sendmail+Clam AntiVirus)
    6. メール自動返信機能導入(Vacation)
    7. メーリングリストサーバ構築(sendmail+Mailman)
  6. Yahoo!!メールのようにWebブラウザ上でメールできるようにする
    1. Webmailシステム構築(SquirrelMail)
  7. 携帯電話でメールできるようにする
    1. 携帯用Webmailシステム構築(WebMailClient2 for Keitai)
  8. データベースシステムを作る(MySQL編)
    1. データベースサーバ構築(MySQL)
    2. MySQLデータベース自動バックアップ運用(mysqlhotcopy)
    3. MySQL用GUI設定ツール導入(phpMyAdmin)
  9. Weblog(ブログ)サイトを作る
    1. ブログサイト構築(WordPress)
  10. LinuxサーバをWindowsのファイルサーバにする
    1. Windowsファイルサーバ構築(Samba)
    2. Samba用GUI設定ツール導入(SWAT)
  11. Linuxサーバを内部/外部共用のWindowsのファイルサーバにする
    1. Webフォルダサーバ構築(WebDAV)
    2. Webフォルダサーバ構築(WebDAV)+samba

サーバ公開後のセキュリティ対策

サーバを公開後、いろいろなアクセスがあります。その中には、あまり歓迎できないものも多いものです。(というかこっちのほうが多い?)

それらを監視します。

  1. 不正アクセス検知システム導入(Snort+BASE+Oinkmaster)
  2. iptablesログ解析(IPTables log analyzer)
  3. ログ監視ツール導入(SWATCH)

運用

Linuxでは毎日Logのレポートが届きます。内容が同じでスルーしがちですが、重要です。

他に、リアルタイムで監視をしたり、ファイルを定期的にバックアップをし、万が一に備えます。

  1. サーバの状態をブラウザから監視する(Nagios)
    1. 統合監視システム構築(Nagios)
    2. 性能統計グラフ追加(Nagios+PNP)
  2. サーバのファイルを自動的にバックアップする
    1. 自動バックアップ運用(tar+rsync)