自宅サーバー用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システムを入れ替える」
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)からパスワード無しでログインできるようにする。
鍵が無い場合は、作成しておく。
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
再起動
以上で設定完了。
一応、再起動しておく。
$ 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リポジトリの追加
【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=1 ↓ enable=0
その他パッケージのインストール
面倒なので、開発関連のツールやネットワーク関連のコマンドなどを
まとめてインストールしておく。
# yum -y groupinstall 'Development tools' # yum -y install wget telnet tcpdump bind-utils traceroute nmap