自宅サーバー用PCにCentOSをインストールしてみる

MacでCentOSのイメージディスクを作成してみる
の続き

自宅サーバー用のPC(EeeBox EB1007)に、CentOSをインストールしてみる。

前準備(ネットワーク設定)

今回設定するサーバのIPアドレスは、下記のような感じで「192.168.0.11」にする。


DHCPで割り当てられないよう、ルーターの設定で、
DHCPの割り当ての先頭IPアドレスを「192.168.0.100」とかにしておく。

CentOSのインストール

今回インストールするPCはEeeBox B1007。
前回の記事で作成したイメージディスクを設定してPCを起動する。

インストールの画面が表示される。


後は適当にインストールする。

・Welcome to CentOS6.5
→「Install or upgrade an existing system」

・Disk Found
→「Skip」

・インストール時に使用する言語を選択してください。
→「Japanese(日本語)」

・システム用の適切なキーボードを選択します。
→「日本語」

・どちらのタイプのストレージデバイスにインストールしますか?
→「基本ストレージデバイス

・以下のストレージデバイスは、有用なデータを含んでいるかもしれません。
→「はい。含まれていません。どのようなデータがあっても破棄してください。」

・ホスト名
→「(適当)」

・使用するタイムゾーンの中で一番近い都市を選択してください。
→「アジア/東京」

・rootユーザーのパスワードを入力してください。
→適当に入力しておく。

・どのタイプのインストールをしますか?
→「既存のLinuxシステムを入れ替える」


しばらく待つとインストールが完了する。

次に、rootでログインして作業する。


IPアドレスの設定

IPアドレスを設定する。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes		← 「no」を「yes」に変更する
BOOTPROTO=static	← 「dhcp」を「static」に変更する
IPADDR=192.168.0.11	← 追加する
NETMASK=255.255.255.0	← 追加する

ゲートウェイを設定する。

# vi /etc/sysconfig/network
GATEWAY=192.168.0.1	←追加する

DNSを設定する。

# vi /etc/resolv.conf
nameserver 192.168.0.1

設定を反映する。

# service network restart

ユーザー作成

ユーザーを作成し、sudoできるようにする。
今回は「hoge」というユーザーを作成する。

# adduser hoge
# passwd hoge
# usermod -G wheel hoge
# visudo
%wheel        ALL=(ALL)       ALL

これで、外部のMac(PC)からhogeユーザーでログインできるようになる。

鍵認証の設定

外部のMac(PC)からパスワード無しでログインできるようにする。

鍵が無い場合は、作成しておく。

mac$ ssh-keygen

鍵をサーバーに転送する。

mac$ scp ~/.ssh/id_rsa.pub hoge@192.168.0.11:

サーバーにログインし、

mac$ ssh hoge@192.168.0.11

鍵の設定をする。

$ mkdir .ssh
$ mv id_rsa.pub .ssh/authorized_keys
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

これで、パスワード無しでログインできるようになる。

あと、rootでのログインとパスワードでのログインを禁止しておく。

UseDNSもnoにした。なぜかSSHの接続に時間がかかるため。
【参考】
sshの接続確立が遅い場合の対処方法 - yuyarinの日記
http://d.hatena.ne.jp/yuyarin/20090410/1239298235
$ sudo vi /etc/ssh/sshd_config
・・・
PermitRootLogin no
・・・
PasswordAuthentication no
・・・
UseDNS no
・・・
$ sudo service sshd restart

iptablesの設定

SSHの22番ポートだけ開けておく。
他のポートを使う場合は、その都度開ける。

もともと22番ポートだけ開いてるっぽいので、そのままにしておく。

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

SELinuxを無効にする

SELinuxはよく分からないので無効にしておく。

$ sudo setenforce 0
$ sudo vi /etc/selinux/config
SELINUX=disabled

CentOSの更新

CentOSを最新にする。

$ sudo yum -y update

再起動

以上で設定完了。
一応、再起動しておく。

$ sudo reboot

(おまけ)少し便利にしておく

以上で、基本的な設定は完了だが、このままでは少し不便なため、
もう少し設定して便利にしておく。

$ sudo su -
NTPの設定

NTPをインストール。

# yum -y install ntp

設定を変更。

# vi /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst	←コメントアウト
#server 1.centos.pool.ntp.org iburst	←コメントアウト
#server 2.centos.pool.ntp.org iburst	←コメントアウト
#server 3.centos.pool.ntp.org iburst	←コメントアウト
server ntp.nict.jp		←追加
server ntp1.jst.mfeed.ad.jp	←追加
server ntp2.jst.mfeed.ad.jp	←追加
server ntp3.jst.mfeed.ad.jp	←追加

とりあえず手動で時刻を合わす。

# ntpdate ntp.nict.jp

起動して、自動起動の設定をする。

# service ntpd start
# chkconfig ntpd on
yumリポジトリの追加

yumリポジトリを追加する。

【32bitの場合】
# rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm 
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

【64bitの場合】
# rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

設定ファイルを編集し、enable=1をenable=0に書き換える。

# vi /etc/yum.repos.d/epel.repo
# vi /etc/yum.repos.d/rpmforge.repo
# vi /etc/yum.repos.d/remi.repo
enable=1enable=0
その他パッケージのインストール

面倒なので、開発関連のツールやネットワーク関連のコマンドなどを
まとめてインストールしておく。

# yum -y groupinstall 'Development tools'
# yum -y install wget telnet tcpdump bind-utils traceroute nmap