Linuxサーバーをセットアップした後で最初にすること

一昨日 の続きです。

昨日はとりあえずCentOSのインストールは済んだのですが、サーバーとして常時起動させておく前に、最初に設定しておいた方が良いことが幾つかあります。

今日は、以下の項目を設定しました。

  • NTPで時刻合わせ
  • 不要なサービスの停止
  • 追加リポジトリの設定
  • yum の自動更新

NTPで時刻合わせ

まず始めは時刻合わせの設定です。サーバーはともすると、時計がずれていても放置されがちですが、時計が狂っていると何かあった時のログの解析などで色々と面倒な事になるので、何よりも先に、常時正確な時刻に調整されるよう、ntpdを起動するよう設定しておきましょう。

Gnomeのメニューの「System」→「Administration」→「Date & Time」のダイアログの「Network Time Protocol」タブで「Enable Network Time Protocol」のチェックを入れて「OK」を押せば、NTPサーバーが起動します。

こうしておけば、裏でchkconfigされてntpdが常時起動するように設定されますので、以降、ずっと正確な時刻を刻み続けることになるはずです。

不要なサービスの停止

使わないサービスの停止も早めにやっておくべきですね。絶対に使わないサービスなら、アンインストールも視野に入れておいた方が良いでしょう。

とはいえ、精査するのも面倒なので、いつも止めている cpus (Common UNIX Printing System: 要はプリンタのサーバー) と isdn (ISDNカードのサポート) を停止させるだけで済ませました。

# /sbin/chkconfig cups off
# /sbin/chkconfig isdn off

追加リポジトリの設定

CentOSの公式リポジトリには、RedHat社が責任を持ってサポートしているソフトウェアしか入っていないので、もっと色々なソフトウェアをインストールしたい場合は、自分でビルドするか、誰かがビルドした物を使わせてもらうしかありません。

こういった需要のため、RHELCentOS用に、追加のリポジトリを作成してくれている人がいます。すこし昔だと Dag RPM Repository や、FreshRPMS あたりが有名だったと思うのですが、先程ググってみたところ、両リポジトリのメンテナーが協力して RPMforge という物を立ち上げ、共通化を図っているとのことでしたので、今回はそちらを使うように設定してみましょう。

設定方法は 公式ページの解説 の通りです。ただし、そのままだとデフォルトで有効なリポジトリとなりますが、私は、意図していないパッケージが勝手にインストールされると困るので、デフォルトでは無効に設定します。

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rm wget rpmforge-release-0.3.6-1.el5.rf.i386.rpm   # (インストール後は不要なので削除)
# vi /etc/yum.repos.d/rpmforge.repo
( enabled = 1 を 0 に書き換え )

ちなみに、複数のリポジトリを追加してしまうと、リポジトリ間でコンフリクトして変な状態になってしまうことがあるので、追加するリポジトリは1つだけにしておいたほうが良いでしょう。このDagさんなどは、コンフリクトも報告すれば、そのリポジトリの作者と連絡をとって調整してくれるようですが、なかなか解消は難しいようです。

yum の自動更新

FedoraUbuntuのようなアグレッシブにアップデートされるディストリビューションとは違い、RHELCentOSは比較的安全なアップデートしかされませんので、アップデートは自動適用されるように設定しておきます。

# vi /etc/yum/yum-updatesd.conf
(do_update, do_download, do_download_deps の3つを全部 no → yes と書き換え)

なお、RPMforgeはデフォルトで無効と設定したので、RPMforgeからのアップデートが自動的に適用されることはありません。(というより、適用されないようにするために、自動更新設定をする前に rpmforgeの設定をしたのです。)

必要ならば、適宜、アップデートするパッケージを名指しで指定して、以下のようにアップデートします。

# yum update --enablerepo=rpmforge package_name_to_be_updated

つぎは?

これで、とりあえず最低限の初期設定は済んだような気がします。

比較的初期にやっておいたほうがよい事に、省電力のための設定や、サーバーの状態を監視するサービスの設定などがありますが、とりあえずは、必要なサービスを一通り動かす事を先に行いましょう。というわけで、さらに明日以降に続く。