Hatena::ブログ(Diary)

shouhの日記

2015-04-29

VirtualBox に CentOS7.0 をインストールして ssh ログイン + yum コマンドを使えるようにするまで

目標:
Windows7(32bit) に VirtualBoxインストールし、そこに CentOS 7.0 をインストールして、sshログインできるようにし、かつ yum コマンドを使用できるように(つまりインターネットに接続できるように。ちなみにNATで)にする。

結果:

  • 一応成功
  • でも空きメモリがシビア...
    • 空きメモリ 3.25GB の Windows7 マシンを使ってるけど, CentOS 起動した所で空きが 400MB くらい。
    • FirefoxOutlook などメモリを食うソフトは落とさないと、空きメモリがなくなる

1. VirtualBoxインストールする

公式サイトからダウンロード
インストーラは100MBくらいのサイズだった。

インストーラを起動してインストール
インストール前に「will reset network connection and temporarily disconnect you from the network」と訊かれたとおり、一時的にローカルエリア接続の設定がリセットされてしまうので、ちょっとびっくりする。
しばらくしたら(1分以内)復旧した。

後々のネットワーク設定のため、追加されたネットワークアダプタを確認しておく。
コマンドプロンプトで以下を実施。

$ ipconfig /all
…
イーサネット アダプター VirtualBox Host-Only Network:
   接続固有の DNS サフィックス . . . :
   リンクローカル IPv6 アドレス. . . . : ……
   IPv4 アドレス . . . . . . . . . . : 192.168.56.1
   サブネット マスク . . . . . . . . : 255.255.255.0
   デフォルト ゲートウェイ . . . . . :
…

出てきたIPアドレスをメモしておく。

2. CentOS 7.0 をインストール

公式サイトからダウンロードする。
ダウンロード先はたくさんあったが、以下にしておいた。

Minimal と Everything があったけど、勉強がてら(&軽いから) Minimal にしといた。それでもサイズは 636MB くらいあるけど。

ダウンロードした iso ファイルを、VirtualBox から読み込ませる。基本的にデフォルト設定のままで問題無いようだが、以下部分には気をつけた。

タイプ: linux
バージョン: redhat 64bit
メモリ: 空きメモリに余裕がないので1GBで

参考: VirtualBoxCentOSをとりあえずインストール
http://d.hatena.ne.jp/yk5656/20131208/1386476543

続いて、出来上がった仮想マシンに対する設定。

ようやく CentOS を起動できる。起動すると「仮想工学ディスクドライブ」を指定しろ、みたいなことを言われたので、ここで iso ファイルのフルパスを指定。
無事読み込まれ、CentOS が起動した。
# 仮想マシンから抜け出すには、デフォルトでは右Ctrlキーを使うみたい

続いて CentOS の設定。まずは設定画面1(キーボードタイムゾーンネットワーク設定等が出てる画面)だが、デフォルトのまま進めた。ただしディスクの設定について、いったん開いて完了ボタンを押した(そうしないと先に進めない)。

続いて設定画面2(rootパスワードとか設定する画面)。私はrootユーザをパスワードpasswordで使うタイプなので、rootパスワードは'password'に設定。それ以外のユーザは作成しなかった。
ちなみに、この画面にて各種インストール処理が行われるため、結構待つことになる。私の場合、ホストOSの空きメモリが枯渇して0になっていたからか、20分くらいかかった。

3. CentOSの設定 ssh接続を可能にする

とりあえずびびったのは ifconfig コマンドが無いこと。代わりに「ip addr」を使えばいい。

次にびびったのは NIC に eth0 が無いこと。どうも CentOS 7.0 からその辺の名前が変わったらしい。
eth0 → enp0s3
eth1 → enp0s8

びびった点を解決したところで、さあ設定に入ろう。

まずはファイアウォールを切る。

systemctrl stop firewalld
systemctrl status firewalld

statusの結果が「inactive」なら、ファイアウォールは無効になっている。

それからSELinuxも切る。

[root@localhost yum.repos.d]# setenforce 0
[root@localhost yum.repos.d]# getenforce
Permissive
[root@localhost yum.repos.d]# vi /etc/sysconfig/selinux
SELINUX=disabled


次に enp0s3、つまり eth0 の設定を変える。変えたのは★部分のところ

[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cat ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static ★
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no ★
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=49cf42af-b063-4c8d-ad91-1442de22e4f8
DEVICE=enp0s3
ONBOOT=yes ★


最後に enp0s8、つまり eth1 にあたるアダプタの設定。変えたのは★の部分。

[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cat ifcfg-enp0s8
HWADDR=08:00:27:00:8c:6f ★(ip addr の enp0s8 の結果を書く)
TYPE=Ethernet
BOOTPROTO=none ★
NAME=enp0s8
ONBOOT=yes ★
IPV6INIT=no ★
IPADDR=192.168.56.201 ★
NETMASK=255.255.255.0 ★

IPADDRの部分は「1. VirtualBoxインストールする」でメモっておいたIPアドレスネットワーク部分を使う。201というのは適当。空いているならどこでもいいと思う。

ひととおり設定を書いたので再読込。

systemctl restart network


これで ssh ログインが可能になった。

参考:CentOS7でLAMPサーバインストールメモ【CentOS7+ApacheMySQLPHP】 | あぱーブログ
https://blog.apar.jp/linux/194/

4. CentOSの設定 NAT接続を可能にする

実は「3. CentOSの設定 ssh接続を可能にする」の設定で、NAT部分の設定も完了している。

ホストOSから繋がるIPアドレスに対して ping を打つと、繋がるはず。

5. DNSサーバの設定

上記の参考記事、あぱーブログさんのとこに書いてた手順をそのまま実施した。具体的には、

まず NetworkManager がDNSサーバを書き換えないように変更。

vi /etc/NetworkManager/NetworkManager.conf
dns=none を追加


続いて NetworkManager を再起動

systemctl restart NetworkManager.service


最後にDNSサーバを設定。

vi /etc/resolv.conf
nameserver 10.0.0.1
nameserver 10.0.0.2

nameserverの値は、ホストOSWindowsに設定されているものと同じ設定でよい。

Q: ホストOSではDNSサーバのアドレスを自動取得にしてるんですが、nameserverには何を指定すればいいんですか?
A: ごめんなさい。わかりません。

これで、

$ ping www.google.co.jp
www.google.co.jp [216.58.220.227]に ping を送信しています 32 バイトのデータ:

みたいに名前解決ができている(IPアドレスが表示されている)はず。

6. yumコマンドを使えるようにする

※疲れてきたのでちょっと説明を端折る。。。

まずはリポジトリを変える。CentOS-Base.repo を開き、mirrorlist をコメントアウトして、代わりに baseurl を以下のような感じで書いていく。

vi /etc/yum.repos.d/CentOS-Base.repo
baseurlとして以下を書いていく感じ。
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/update/$basearch/

参考: CentOS 6.4 yumメモ
http://teruzoh.wiki.fc2.com/wiki/CentOS%206.4%20yum%E3%83%A1%E3%83%A2
あとは、ホストOSプロキシサーバを使っているなら、その設定も。

vi /etc/yum.conf
proxy=http://(URL):(PORT) を追加する


これで yum list が無事成功。yum が使えるようになった。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/shouh/20150429/1430283666
リンク元