Cent OS で自宅サーバ構築
2007/02/11 00:44 posted by kunkichi
ここのところ仕事が忙しいのかヒマなのかよくわからん日々が続いていて、ちょっとマンネリ気味。。。ということで自分に刺激を与えるべく、前からやろうと思っていたCentOSのインストールをやってみた。
なんでCentOSかっていうと、他によさげなディストリビューションがないから。
ちなみにプライベート・仕事含めて、これまでに触ってきたUnix系OSとそれぞれの印象はこんな感じ。
- Red Hat Linux
今は亡き、初めてさわったLinuxディストリビューション。 - Red Hat Enterprise Linux
Red Hatの有償版。パッケージアップデートの仕組みもちゃんとできていていいんだけど、個人では高い。 - Vine Linux
コンパクトかつ安定した国産ディストリ。今までの一番のお気に入り。 - Debian GNU/Linux
パッケージの豊富さではダントツ。でもちょっとやりすぎ感アリ。Apacheのあの設定ファイルのディレクトリ構造はよく考えられてるかもしれないけどやっぱり好きになれない。 - Miracle Linux
Oracle系。仕事で触ったっきり。 - TurboLinux
これも仕事で。クセありすぎ。 - Gentoo Linux
一時期は結構使ってたなー。パッケージシステムと言いつつビルドするタイプ。でもビルドが長いんだよー、KDEとか3日ぐらいかかる(爆)。 - FreeBSD
これもビルドする系。ちょびっと触っただけだけど、jailとか、結構気になるポイントあり。時間があったら試してみたい。 - Solaris
これで食べてます。でもダントツで嫌い(爆)。ただRaidとかはやっぱりよくできてるんだよね。
この中では、Vineがコンパクトで日本語も良くできていて一番のお気に入りだったのだけど、この辺↓の本を読んで、変わったことをやろうとすると、やっぱりパッケージが少ない。
秀和システム
売り上げランキング: 22115
ソースから入れればいいのかもしれないけど、ソースインストールでずっと使ってると結構汚くなるしバージョンアップも難しくなるし、パッケージシステムを使っているディストリビューションならやっぱりパッケージで入れたいよね、ということ、あと長く使うことも考えて、今回はCentOS。
とりあえずOSインストール時のポイントはこの辺を参考に。
- ウノウラボ Unoh Labs: VMwareとCentOSでウェブ開発の環境をさっさと整える手順書(前編)
- CentOSで自宅サーバ構築
- Nobody’s Fault But Mine: Cent OS インストールメモ
とりあえずうちの場合、
- インストールCDはサーバ版。
- ファイアウォール・SELinuxは無効。
- パッケージは最小構成。
で進めてみる。
インストールが終わったらとりあえずコンソールからログイン。コンソールにへばりつくのも不便なので、とりあえずsshでrootログインを許可しておく。もちろん後でユーザを作成したら直す予定。sshは鍵使わなきゃね。
# cp -pi /etc/ssh/sshd_config /etc/ssh/sshd_config.ORG
# vi /etc/sshd/sshd_config
------------------------------------------------–
PermitRootLogin yes
------------------------------------------------–
# /etc/init.d/sshd restart
次にパッケージ全体のアップデート。aptには慣れてるけど、CentOSではyumがそれに当たるらしい。
# yum update
カーネルがアップデート対象に含まれていたら再起動。
# shutdown -r now
ユーザを作ります。
# useradd kunkichi
# passwd kunkichi
次にグループ。さっき作ったユーザはユーザ名と同じグループになっているのだけど、上のページに書いてあるように共有ディレクトリ用にグループを作って、ディレクトリにSetGIDしておく。
# groupadd cafechantant
# usermod -G cafechantant,wheel kunkichi
# mkdir /home/cafechantant
# chmod g+s /home/cafechantant
# chgrp cafechantant /home/cafechantant
上でユーザをwheelグループに追加したのは、wheelに所属しているユーザだけがrootになれるようにしておきたいから。ということでrootになれるユーザを限定する設定。
# vi /etc/pam.d/su
------------------------------------------------–
auth required /lib/security/$ISA/pam_wheel.so use_uid
------------------------------------------------–
# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs
一通りユーザも作成したのでsshの設定。さっきのユーザでログインする。
$ mkdir .ssh
$ chmod 700 .ssh
ローカル端末で作った鍵ペアのうち、公開鍵を.ssh/authorized_keysとしてアップして権限変更。
$ chmod 600 .ssh/authorized_keys
最初に変更した sshd_config の設定を元に戻して、ついでにパスワード認証じゃなくて公開鍵認証に切り替える。
# vi /etc/ssh/sshd_config
------------------------------------------------–
#PermitRootLogin yes
#PasswordAuthentication yes
------------------------------------------------–
# /etc/init.d/sshd restart
前回のエントリであった、locateコマンドのデータベースを作る。
# vi /etc/updatedb.conf
------------------------------------------------–
DAILY_UPDATE=yes
------------------------------------------------–
CentOSの日本語のデフォルト文字コードはUTF-8なんだけど、いろいろと面倒が起こりそうなのでEUC-JPに変更。
# vi /etc/sysconfig/i18n
------------------------------------------------–
LANG="ja_JP.EUC-JP"
SUPPORTED="en_US.UTF-8:en_US:en:ja_JP.EUC-JP:ja_JP.UTF-8:ja_JP:ja"
------------------------------------------------–
上のページとか他のページを見ると、これに併せて man のページャーを more とか lv に変更していて、どうやら文字化け対策のようなのだけど、うちの環境だとそもそも日本語で表示されないなぁ、、全部のコマンドを網羅したわけではないけど。とりあえず lv にしておく。で lv はパッケージが用意されてないようなのでこれだけはソースから入れておく。
# yum install gcc
# wget http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz
# tar zxvf lv451.tar.gz
# cd lv451/build
# ../src/configure
# make
# make install
# vi /etc/man.config
------------------------------------------------–
PAGER /usr/local/bin/lv
------------------------------------------------–
コンソールも文字化けしちゃうのでkonをインストール。
# yum install kon2 kon2-fonts
最後に ntp を入れておく。
# yum install ntp
# ntpdate ntp1.jst.mfeed.ad.jp
# vi /etc/ntp.conf
------------------------------------------------–
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
------------------------------------------------–
# /etc/init.d/ntpd start
# ntpq -p
# chkconfig ntpd on
最後に不要なサービスを止めて、再起動。
# for i in autofs cups gpm isdn kudzu netfs nfslock pcmcia portmap rpcgssd rpcidmapd xfs
> do
> chkconfig ${i} off
> done
ふー、とりあえずこれで最低限のことはできたかな。ここからちょくちょくいじっていきます〜。






コメント&トラックバック
トラックバックURL: