CentOS x86_64 サーバー構築・運用

(最終更新日時:2011-02-18 11:59:37)
Red Hat Enterprise Linux 互換の CentOS による 64bit CPU 版 Linux サーバー構築、管理、および運用情報です。
※ 一部更新が間に合わず、32bit 版の情報になっています。

インストール用CD/DVDの作成

CentOS 国内ミラーサイト
独立行政法人 理化学研究所 RIKEN (http://www.riken.jp/)
HTTP http://ftp.riken.jp/Linux/centos/
FTP ftp://ftp.riken.jp/Linux/centos/
RSYNC rsync://ftp.riken.jp/Linux/centos/
A.T.WORKS, Inc. (http://www.atworks.co.jp/)
HTTP http://rsync.atworks.co.jp/centos/
Internet Initiative Japan Inc. IIJ (http://www.iij.ad.jp/)
HTTP http://ftp.iij.ad.jp/pub/linux/centos/
FTP ftp://ftp.iij.ad.jp/pub/linux/centos/

のいずれから、次のファイルをダウンロードし、インストール用 CD/DVD を作成します。
なお、ダウンロードする際は、提供サーバーの負荷を考慮し torrent(BitTorrent) によるダウンロードを推奨します。
Windows 用の BitTorrent クライアントソフト μTorrent によるダウンロード方法を

http://www.system-act.com/develop/windows/utorrent.html

に記載していますので、参考にしてください。
≪64bit CD-ROM ISO≫
5.5/isos/x86_64CentOS-5.5-x86_64-bin-1of8.torrentBitTorrent 用ファイル
CentOS-5.5-x86_64-bin-1of8.iso
CentOS-5.5-x86_64-bin-2of8.iso
CentOS-5.5-x86_64-bin-3of8.iso
CentOS-5.5-x86_64-bin-4of8.iso
CentOS-5.5-x86_64-bin-5of8.iso
CentOS-5.5-x86_64-bin-6of8.iso
CentOS-5.5-x86_64-bin-7of8.iso
CentOS-5.5-x86_64-bin-8of8.iso
※CentOS 5.5 64bit CD-ROM ISO は 8 枚組になります。
≪64bit DVD ISO≫
5.5/isos/x86_64CentOS-5.5-x86_64-bin-DVD.torrentBitTorrent 用ファイル
CentOS-5.5-x86_64-bin-DVD.iso
 
※ 下線部は 2011/01/28 現在の最新安定バージョンです。

インストール

• ハードディスクは、S-ATA 160G に4 つの物理パーティションを作成し、下記の容量で割り当てています。
 /dev/sda2 と /dev/sda3 では LVM (Logical Volume Manager) を使用しています。
 /dev/sda4 は、Xen による仮想サーバー領域として LVM で割り当てています。
 LVM についての情報は、LVM運用 を参照してください。
 仮想サーバーについての情報は、Xen による仮想サーバーの構築 を参照してください。
物理パーティション容量 論理ボリューム名マウントポイント容量
/dev/sda1100M  /boot100M
/dev/sda225G /dev/VgSystem/LvRoot/10G
   /dev/VgSystem/LvSwap/swap512M
   /dev/VgSystem/LvTmp/tmp10G
/dev/sda340G /dev/VgData/LvHome/home30G
   /dev/VgData/LvVar/var1G
   /dev/VgData/LvMySQL/var/database/mysql1G
   /dev/VgData/LvPgSQL/var/database/pgsql1G
/dev/sda495G /dev/VgVirtual/LvMySQL仮想サーバー actmysql15G
   /dev/VgVirtual/LvPgSQL仮想サーバー actpgsql15G

• インストール時のネットワーク設定は下記で行っています。
eth0IPアドレス192.168.11.11 
 ネットマスク255.255.255.0 
eth1IPアドレス192.168.201.11 
 ネットマスク255.255.255.0 
ホスト名actgwsvr 
ゲートウェイ192.168.11.1(Bフレッツ・ルータ)
ネームサーバ202.224.32.1(インストール時はプロバイダのネームサーバ)
 202.224.32.2 
System House ACT Network

• システムクロックの設定は、localtime(JST) を使用するため『システムクロックで UTC を使用』のチェックを外してます。

• インストールするパッケージは、以下のようにカスタマイズ指定で行っています。(変更箇所のみ)
 ※ 必ずしも推奨するものではありませんし、依存関係で結局無駄な指定をしている場合もあります。
カテゴリ 選択サブカテゴリ 選択パッケージ 備考
デスクトップ環境 GNOME デスクトップ環境     
アプリケーション ×Office/生産性     
  グラフィカルインターネット ×ekiga SIP/H323 は使用しません
     ×evolution グループウェアは他を使用します
     ×evolution-connector  
     ×evolution-webcal  
  ×ゲームと娯楽     
  ×サウンドとビデオ     
  ×テキストベースのインターネット     
開発 開発ツール ×cvs バージョン管理は Subversion を使用します
     expect  
     ×rcs バージョン管理は Subversion を使用します
     ×subversion バージョン 1.5 以上を使用します
  開発ライブラリ     
サーバー DNS ネームサーバー     
  Windows ファイルサーバー     
  ネットワークサーバー dhcp  
  レガシーなネットワークサーバー rsh-server  
     ×telnet-server telnet 接続は許可しません
ベースシステム X Window System xorg-x11-xfs-utlls  
  システムツール ×bluez-gnome Bluetooth は使用しません
     ×bluez-hcldump Bluetooth は使用しません
  ×ダイアルアップネットワークサポート    使用しません
  ベース ×aspell 使用しません
     hardlink  
     ×telnet 使用しません
     x86info  
     ×aspell-en  
     ×bluez-utlls Bluetooth は使用しません
     ×ccid smart card は使用しません
     ×ftp FTP は ProFTP を使用します
     ×irda-utlls 赤外線通信は使用しません
     ×lftp 使用しません
     ×nano 使用しません
     ×pcmclautlls PCMCIA は使用しません
     ×sendmail メールシステムは Postfix を使用します
     ×talk 使用しません
     ×words 使用しません
  レガシーなソフトウェアのサポート     
  管理ツール     

• ファイアウォールの設定は、インストール後に設定しますので『信頼できるサービス』はすべてチェックを外しています。

• SELinuxの設定は、当面 『permissive : 警告モード』 に設定しています。

• Kdumpは、『無効』にしています。

初期設定

• パケットフォワーディングを有効にします。
# vi /etc/sysctl.conf
----------(vi ここから)----------
       :
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
       :
----------(vi ここまで)----------
# service network restart

サーバー運用(iptables) により iptables でファイアーウォールの設定を行います。

• パッケージを更新します。
# # 署名確認用のキーファイルを取得します
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

# service yum-updatesd stop                                   # 自動更新サービスを停止します

# yum -y update                                               # 手動更新で最新にします

# reboot                                                      # 再起動します

• RPMforge(DAG) リポジトリを追加します。
# # リポジトリの優先順位を管理するプラグイン yum-priorities をインストールします
# yum -y install yum-priorities

# # CentOS-Base.repo の各リポジトリが優先されるように設定します
# vi /etc/yum.repos.d/CentOS-Base.repo
----------(vi ここから)----------
       :
[base]
       :
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=10

#released updates
[updates]
       :
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=10

#packages used/produced in the build but not released
[addons]
       :
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=10

#additional packages that may be useful
[extras]
       :
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=10

#additional packages that extend functionality of existing packages
[centosplus]
       :
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=20

#contrib - packages by Centos Users
[contrib]
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=20
----------(vi ここまで)----------

# # RPMforge(DAG) リポジトリを追加します
# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# # (※)下線部は 2011/01/28 現在の最新リリース番号です。

# # RPMforge(DAG) リポジトリの設定を行います
# vi /etc/yum.repos.d/rpmforge.repo
----------(vi ここから)----------
       :
[rpmforge]
       :
#mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge             # コメントアウトします
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge                     # コメントを外します
       :
gpgcheck = 1
priority=90                                                               # 30 ~ 99 の任意の優先順位を設定します

[rpmforge-extras]
       :
#mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge-extras      # コメントアウトします
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras              # コメントを外します
       :

[rpmforge-testing]
       :
#mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge-testing     # コメントアウトします
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras              # コメントを外します
       :
----------(vi ここまで)----------

# # 国内ミラーサーバーの RPMforge(DAG) リポジトリを追加します
# vi /etc/yum.repos.d/mirrors-rpmforge
----------(vi ここから)----------
http://ftp.riken.jp/Linux/dag/redhat/el5/en/$ARCH/rpmforge
http://ftp.iij.ad.jp/pub/linux/dag/redhat/el5/en/$ARCH/rpmforge
http://apt.sw.be/redhat/el5/en/$ARCH/rpmforge
       :
----------(vi ここまで)----------

# vi /etc/yum.repos.d/mirrors-rpmforge-extras
----------(vi ここから)----------
http://ftp.riken.jp/Linux/dag/redhat/el5/en/$ARCH/extras
http://ftp.iij.ad.jp/pub/linux/dag/redhat/el5/en/$ARCH/extras
http://apt.sw.be/redhat/el5/en/$ARCH/extras
       :
----------(vi ここまで)----------

# vi /etc/yum.repos.d/mirrors-rpmforge-testing
----------(vi ここから)----------
http://ftp.riken.jp/Linux/dag/redhat/el5/en/$ARCH/testing
http://ftp.iij.ad.jp/pub/linux/dag/redhat/el5/en/$ARCH/testing
http://apt.sw.be/redhat/el5/en/$ARCH/testing
       :
----------(vi ここまで)----------

• パッケージの自動更新設定を行います。
# vi /etc/yum/yum-updatesd.conf                               # 定義ファイルを変更します
----------(vi ここから)----------
[main]
# how often to check for new updates (in seconds)
run_interval = 86400                                          # 更新の有無のチェックを 1 回/日( 60 秒× 60 分× 24 時間)にします
# how often to allow checking on request (in seconds)
updaterefresh = 600

# how to send notifications (valid: dbus, email, syslog)
emit_via = syslog                                             # 更新を syslog で通知します
# should we listen via dbus to give out update information/check for
# new updates 
dbus_listener = no                                            # gnome での更新チェックを行いません

# automatically install updates
do_update = yes                                               # 自動更新を行います
# automatically download updates
do_download = yes                                             # 自動ダウンロードを行います
# automatically download deps of updates
do_download_deps = yes                                        # 関連パッケージの自動更新/ダウンロードを行います
----------(vi ここまで)----------

# service yum-updatesd restart                                # 自動更新サービスを再起動します

• SELinux のツールを追加インストールします。
# yum -y install selinux-policy-devel

ユーザー管理設定

• メールは Postfix による仮想ユーザーで実現しますので、新規ユーザー作成時にメールボックスが作成されないようにします。
# vi /etc/default/useradd
----------(vi ここから)----------
       :
CREATE_MAIL_SPOOL=no
       :
----------(vi ここまで)----------

• 新規ユーザー作成時に -m オプション無指定だとホームディレクトリが作成されないようにします。
# vi /etc/login.defs
----------(vi ここから)----------
       :
CREATE_HOME     no
       :
----------(vi ここまで)----------

• su コマンドの使用を root と wheel グループユーザーのみに制限します。
# vi /etc/pam.d/su
----------(vi ここから)----------
       :
# Uncomment the following line to require a user to be in the "wheel" group.
#auth         required        pam_wheel.so use_uid
auth         required        pam_wheel.so use_uid             # コメントを外します
       :
----------(vi ここまで)----------

• su コマンドの使用を特定ユーザーに許可する場合は、以下のコマンドで行います。
# usermod -G wheel 許可するユーザー

• sudo コマンドの使用を wheel グループユーザーに許可します。
# visudo
----------(vi ここから)----------
       :
## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL
%wheel  ALL=(ALL)       ALL                                   # コメントを外します

## Same thing without a password
       :
----------(visudo ここまで)----------

運用管理

LVM 2011-02-07 17:51:16 LVM (Logical Volume Manager) 運用
Xen 2011-02-07 18:09:48 Xen による仮想サーバーの構築
iptables 2011-02-07 18:09:47 ファイアウォール
ネームサーバー BIND 2012-01-12 23:07:01 ネームサーバーの運用
DHCPサーバー 2011-02-07 18:09:46 DHCPサーバーの運用
NTPサーバー 2011-01-17 05:50:33 時刻同期
OpenSSL 2011-02-07 18:09:47 OpenSSL運用
OpenSSH 2011-02-08 18:34:07 OpenSSH運用
swatch 2011-01-17 05:50:35 ログ監視ツール
Subversion 2011-07-14 16:31:34 バージョン管理システム Subversion の運用設定
Clam AntiVirus 2011-01-17 05:50:32 アンチウィルス

データベースサーバ

MySQL5.1.302011-01-17 05:50:33 リレーショナルデータベース管理システム
phpMyAdmin3.1.22011-01-26 15:55:06 MySQL管理ツール
PostgreSQL8.3.52011-01-17 05:50:34 リレーショナルデータベース管理システム

FTPサーバー

ProFTPD1.3.2rc42011-01-17 05:50:34  

フィードバック

記事の内容についてのご質問、ご指摘、その他ご意見等は、Weblog/Twitter にて受け付けております。

System House ACT Weblog 内記事 : サーバー構築・管理・運用 CentOS

トラックバックまたはコメントにてお寄せください。

Twitter では .@systemact 宛につぶやいてください。
また、こちら から、この記事についてつぶやくことができます。
a System House to build an Accounting system by the Computer Technology