Linux環境(CentOS)をWindows上につくる
1台WindowsPCがあったので、そこにRedmineみたいなWebアプリが稼働する環境を作りたくてLinux環境(CentOS)を構築しました。
今回はその時の手順メモとして、以下の通りWindows上に仮想環境としてLinux環境を構築させたいと思います。
環境
・Windows 8.1 (ホストOS) ※Windows7でも確認済みです
・CentOS 6.7 (ゲストOS)
・vagrant 1.8.4
・VirtualBox 5.0.14
VirtualBoxのインストール
まず仮想環境です。以下からVirtualBoxを落としてきてインストールしましょう。
https://www.virtualbox.org/wiki/Downloads
Vagrantのインストール
次はVagrantです。上記のVirtualBoxなどの仮想マシンの立ち上げや操作を行います。
https://www.vagrantup.com/downloads.html
Vagrant Boxファイルのダウンロード
※注意: 今回は後述の通りChef社のリポジトリからBoxファイルをダウンロードするのでこの手順は不要です。
Boxファイルとは仮想マシンのイメージファイルのことです。
Boxファイルは自分で作ることもできますが、この例では以下の既に用意されているファイルを使用します。
http://www.vagrantbox.es/
以下のコマンドでBoxファイルを追加できます。
vagrant box add ボックス名 URL
URL
のところで取得するパスを指定します。
コマンドプロンプトから以下を実行すると、Boxファイルが追加されます。
vagrant box add centos-6.7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box
Vagrantfileの作成
C:\Users\user> mkdir mycentos C:\Users\user> cd mycentos C:\Users\user\mycentos> vagrant init bento/centos-6.7
init
コマンドでVagrantfileを作成されます。
bento
でChef社のhttps://atlas.hashicorp.com/bento/ というリポジトリからBoxファイルを指定しています。
また、今回はmycentos
というディレクトリを作成し、そこにVagrantfileを作成しました。
ここが作業ディレクトリになるので、今後vagrantコマンドを実行する際はmycentos
に移動する必要があります。
Vagrantファイルの編集
init
コマンドを実行したディレクトリに移動し、そこにあるVagrantfileを編集します。
IPの設定(ホストオンリーネットワーク)
# Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "192.168.33.10"
“config.vm ~” 行のコメントを外します。
ホストとゲスト間のみ通信可能なネットワークになります。今回の例では、ゲスト側にIPアドレス:192.168.33.10を割り当てています。
これでホスト側からこのIPを使用したPingがゲスト側に届くようになっているハズです。
ポートフォワードの設定
会社の環境の制約上、あれこれ面倒なので外部からのアクセスはポートフォワードするようにしました。
# Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. config.vm.network "forwarded_port", guest: 80, host: 8080
外部ネットワークからホストIP+ポート番号(8080)でアクセスすると、ホスト側はそのアクセスをゲストに転送します。 それによって、外部ネットワークから実質的なゲストOSへのアクセスを可能とします。
※詳細は以下を参照してください。
vagrantのネットワークについて - Qiita
仮想マシンの起動
C:\Users\user\mycentos> vagrant up
作業ディレクトリに移動後、vagrant up
でCentOSを起動します。
仮想マシンへのログイン
1.コマンドプロンプトからそのままログインする方法
vagrant ssh
でログイン可能ですが、Windowsの場合には通常、SSHクライアントがインストールされていないので以下のようなメッセージが出力され、接続できません。
C:\Users\user>mycentos> vagrant ssh `ssh` executable not found in any directories in the %PATH% variable. Is an SSH client installed?
2.ターミナルからログインする方法
Windowsの場合はTeraTermやPuTTY等のSSHクライアントをインストールしましょう。
PuTTYのインストール
今回はPuTTYよりアクセスすることにしましたので、以下からPuTTYごった煮版をダウンロードします。
http://yebisuya.dip.jp/Software/PuTTY/
PuTTYからの接続
- ホスト名:192.168.33.10
- ポート:22
- 接続タイプ:SSH
上記にて仮想マシンへのログインが可能になります。
仮想マシンのシャットダウン
C:\Users\user\mycentos> vagrant halt
一旦、ここままで仮想マシンの設定~CentOSの起動・シャットダウンまで出来たことになります。