CentOS 6.3セットアップのメモ

Updated: / Reading time: 8 minutes

テスト環境の作成で、よくOracle VirtualBox上にCentOSをセットアップする機会があります。ここでは、その手順を説明します。

前提

  • CentOS 6.3
  • Oracle VirtualBox v4.1.8
    • VirtualBoxじゃなくてVMwareなど他の仮想化ツールや物理PCでも、同じような手順になるはずです。物理PCの場合はスナップショットが作成できませんが。

作業手順

作業は、大きく以下のようになります。

  • VirtualBoxをインストール
  • CentOSをダウンロード
  • CentOSをインストール
  • ネットワーク設定
  • ユーザー作成
  • rootによるsshログイン禁止
  • IPv6無効化
  • SELinux無効化
  • インストール済みパッケージのアップデート
  • 開発系パッケージのインストール
  • Java SDKをインストール

VirtualBoxをインストール

Oracle VM VirtualBoxからインストール・パッケージをダウンロードして、インストールします。インストールは特に難しいことはなくスムーズに終わるはずです。

CentOSをダウンロード

www.centos.orgからCentOSのインストール・メディアをダウンロードします。少し分かりづらいので画像で説明します。

ページ上部メニュのDownloadsをクリックします。

ミラーサイトを選択するため、Mirror Listをクリックします。

ミラーサイトの一覧が表示されますが、これはNorth Americanのサイトであり、ダウンロードに時間がかかります。日本国内のサーバーからダウンロードしたいので、South American, Asian, Oceania, Middle Eastern, African and Other Regionalをクリックします。

一覧にJapanのサイトが表示されるので、いずれかのサイトのHTTPまたはFTPをクリックします(どのサイトも、ほぼ同じフォルダ構成になっています)。

CentOSのバージョンごとのフォルダが一覧表示されるので、今回使用する6.3をクリックします。

この後はフォルダを下がって行って、以下のいずれかのフォルダまで移動します。

  • /pub/Linux/CentOS/6.3/isos/i386
  • /pub/Linux/CentOS/6.3/isos/x86_64

i386またはx86_64は、インストール先の環境に合わせて選択します。

CentOSのインストール・メディアの一覧が表示されます。ここではminimalによるインストールを説明しますので、CentOS-6.3-i386-minimal.isoをダウンロードします。

NOTE: ダウンロードしたファイルのハッシュ値を確認したほうが良いです。

CentOSをインストール

CentOSのインストール・メディアをダウンロードしたので、VirtualBox上に仮想マシンを作成し、CentOSをインストールします。

VirtualBoxを開くと、このような画面が表示されます。ツールバーの新規をクリックします。

以下のように入力して、次へをクリックします。

  • 名前: 適当(ここではcentos-6.3)
  • タイプ: Linux
  • バージョン: Red Hat

お使いの環境に合わせて変更します。

新規に作成するので、仮想ハードドライブを作成するを選択します。

不足したら新規にHDDを追加することにして、初期値の8GBのままにします。

初期値の可変サイズのままにします。

初期値のVDI (VirtualBox Disk Image)のままにします。

以上で仮想マシンが作成されました。

次に、ツールバーの設定をクリックして設定画面を開きます。

左ペインからストレージを選択して、CD/DVDドライブに先ほどダウンロードしたCentOSのインストール・メディアを指定します。

左ペインからネットワークを選択して、割り当てをブリッジアダプタ―に変更します。

また、高度をクリックして表示を広げ、MACアドレスの値を控えておきます。これは後で、ネットワーク設定を行う時に必要になります。

以上で、仮想マシンの設定を終わります。

いよいよCentOSをインストールします。ツールバーの起動をクリックします。

tips VirtualBoxに限らず仮想マシンツールはキーボードやマウスの制御を仮想マシンに移譲します。仮想マシンから抜け出したいときは、VirtualBoxの場合、右Ctrlを押します。

tips CentOSインストール画面は、マウスは使用できずキーボードで操作することになります。主な操作方法は以下の通りです。

  • Tab / Alt+Tab: 項目を移動。
  • Space: チェックボックスなどで項目を選択。
  • 矢印キー: 項目を選択。
  • Enterキー: 決定。

放っておけば約1分後にインストールが開始されますが、Install or upgrade an existing systemを選択してEnterを押します。

インストール・メディアの検証を行うか聞かれますが、心配でなければSkipを選択してEnterを押します。

Enterを押します。

インストール作業で表示する言語を選択します。日本語も選択できますがVirtualBoxでは表示できないようなので、Englishを選択して、OKでEnterを押します。

キーボードの種類を選択します。お使いのキーボードの種類を選択しますが、普通はjp106を選択して、OKでEnterを押します。

Warningが表示されますが、これは仮想HDDが未初期化であることを表す警告です。Re-initialize allを選択してEnterを押します。

タイムゾーンを選択します。日本であればAsia/Tokyoを選択して、OKでEnterを押します。

rootのパスワードを設定します。パスワードを入力して、”OK”でEnterを押します。

仮想HDDのパーティションの種類を選択します。このままOKでEnterを押します。

仮想HDDにパーティションを書き込んでもよいか聞かれます。勿論良いので、Write changes to diskを選択してEnterを押します。

パーティションを書き込むと、パッケージのインストールが始まります。時間がかかりますので、緑茶でも飲みながら待ちます。

しばらくすると、インストールが完了します。RebootでEnterを押すと、仮想マシンの再起動が開始されます。

以上で、CentOSのインストールは完了です。

note パッケージのインストールや作業などで汚れてきたときにいつでもインストール直後の状態に戻すために、OSインストール直後にスナップショットを作成すると便利です。

ネットワーク設定

ネットワーク設定を確認します。ifconfigを実行してみます。

ethが表示されずloしか表示されていない場合、ネットワークに接続できていません。この場合、ネットワーク設定を変更する必要があります。

今度は-a付きでifconfigを実行してみます。

eth0が存在することが分かります。念のため、HWaddrを控えておきます。

ネットワーク設定ファイルは、/etc/sysconfig/network-scripts/にありますので、移動します。

eth0の設定はifcfg-eth0に書かれていますので、これをviで開きます。ファイル中の以下の値を確認します。

  • HWADDR: MACアドレスを設定します。ifconfig -aで確認した値を記述します。
  • ONBOOT: yesに設定します。ネットワーク起動時に接続します。

note ネットワーク設定の詳細は、お使いのネットワーク環境に合わせて変更してください。

note eth0ではなくeth1の場合、ifcfg-eth0mvifcfg-eth1にリネームします。また、DEVICEの値をeth1に設定します。

設定したら、service network restartでネットワークを再起動します。

正常に再起動できたら、ifconfigでネットワークを確認します。

eth0が表示され、inet addrが割り当てられていることが分かります。

これで、ネットワークに接続し、外部からssh接続できるようになりましたので、exitしてTeraTermなどのツールで接続します。この時点ではroot接続を禁止していないため、rootでsshログインできます。

ユーザー作成

作業用ユーザーを作成します。

# useradd test
# passwd test

rootによるsshログイン禁止

rootで外部からsshログインできる状態は危険なので、rootによるsshログインを禁止します。viで/etc/ssh/sshd_configを開きます。

# vi /etc/ssh/sshd_config

以下の箇所を変更します。

#PermitRootLogin yes
↓
PermitRootLogin no

#PermitEmptyPasswords no
↓
PermitEmptyPasswords no

sshdを再起動します。

# service sshd restart

一度ログアウトしてからrootでログインしてみます。ログインできなければ設定成功です。先ほど作成した作業用ユーザーでログインします。

note 以降、プロンプトの文字で、rootによる作業か、作業用ユーザーによる作業かを区別します。

  • #…rootによる作業
  • $…作業用ユーザーによる作業

IPv6無効化

IPv6は使用しないので、無効化します(IPv6環境の方は次に進んでください)。

ifconfigを実行すると、inet addrの他にinet6 addrが表示されます。これはIPv6が有効のためです。

# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:26:9F:7C
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe26:9f7c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:311 errors:0 dropped:0 overruns:0 frame:0
          TX packets:220 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:40068 (39.1 KiB)  TX bytes:27623 (26.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

IPv6を無効化するには、/etc/sysctl.confを開きます。

# vi /etc/sysctl.conf

sysctl.confの最後に以下を追記します。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

ネットワークを再起動します。

# service network restart

ifconfigを実行して、再度、ネットワーク設定を確認します。

# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:26:9F:7C
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:412 errors:0 dropped:0 overruns:0 frame:0
          TX packets:331 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:42154 (41.1 KiB)  TX bytes:45551 (44.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

表示からinet6 addrが消えていたら、設定成功です。

note 参考ページ: CentOS 6でIPv6を無効化する方法

IPv6を無効化したことでip6tablesも不必要となったので、停止します。

# service ip6tables stop
# chkconfig ip6tables off

ip6tablesが停止設定になったことを確認します。

# chkconfig --list | grep ip6tables
ip6tables       0:off   1:off   2:off   3:off   4:off   5:off   6:off

全てoffになっているため、ip6tablesが停止設定になっていることが分かります。

SELinux無効化

セキュリティのために非常に重要なSELinuxですが、同時に煩わしくもあります。所詮はテスト環境と割り切って、SELinuxを無効化します。

SELinuxを無効化するには、/etc/sysconfig/selinuxを開きます。

# vi /etc/sysconfig/selinux

以下のように変更します。

SELINUX=enforcing
↓
SELINUX=disabled

変更したら、OSを再起動します。

# reboot

再起動したら、getenforceを実行します。

$ getenforce
Disabled

Disabledと表示されているため、SELinuxが無効化されたことが分かります。

インストール済みパッケージのアップデート

インストール済みパッケージを最新化します。

以下のコマンドを実行し、しばらく待ちます。

# yum update -y

開発系パッケージのインストール

開発系パッケージをインストールします。これをインストールしないと、使えるコマンドがかなり少ないです。

# yum groupinstall -y "Development Tools"

wgetをインストール

wgetはよく使用するので、これをインストールします。

# yum install -y wget

Java SDKをインストール

Javaアプリを動作させたいため、Java SDKをインストールします。他言語処理系を使用する場合は、それぞれのインストール方法でインストールしてください。

まず、インストール可能なJava SDKを確認します。

# yum search jdk
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
 * base: mirrors.sin3.sg.voxel.net
 * extras: mirrors.sin3.sg.voxel.net
 * updates: mirrors.sin3.sg.voxel.net
==================================== N/S Matched: jdk ====================================
java-1.6.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.i686 : OpenJDK Demos
java-1.6.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.i686 : OpenJDK API Documentation
java-1.6.0-openjdk-src.i686 : OpenJDK Source Bundle
java-1.7.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.i686 : OpenJDK Demos
java-1.7.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.i686 : OpenJDK Source Bundle
ldapjdk-javadoc.i686 : Javadoc for ldapjdk
icedtea-web.i686 : Additional Java components for OpenJDK
ldapjdk.i686 : The Mozilla LDAP Java SDK

  Name and summary matches only, use "search all" for everything.

1.6.0と1.7.0がインストール可能であることが分かります。ここでは1.7.0をインストールすることにします。1.7.0にもいくつかありますが、-develとついているパッケージをインストールします。

# yum install -y java-1.7.0-openjdk-devel

インストールが完了したら、バージョン情報を表示して、正しくインストールされたことを確認します。

$ java -version
java version "1.7.0_05-icedtea"
OpenJDK Runtime Environment (rhel-2.2.1.el6_3.3-i386)
OpenJDK Client VM (build 23.0-b21, mixed mode)

$ javac -version
javac 1.7.0_05

以上で、セットアップは完了です。

ここまでセットアップしたものをベースとして、テスト環境をいくつか作成する場合はクローンして使用します。