Vagrant2.0.3を使ったCentOS6.9の環境構築

Vagrantは最近よく使うのですが、毎回CentOS6やCentOS7の環境を構築して、そのあと例えばApache入れてみたり、MySQL入れてみたりなどの本来のやりたいことに取り掛かります。
その際、毎回毎回やっている yum -y update とか、いくつかやっておくやつを忘れそうになるので、メモとして残します。

環境まとめ

環境 概要
1 ホストOS
(クライアントOS)
Windows 10
2 ゲストIP 192.168.33.10
3 Vagrant 2.0.3
※2018年3月31日時点の最新
4 Oracle VM VirtualBox 5.2.8
※2018年3月31日時点の最新
5 CentOS 6.9
利用しているboxはhttps://app.vagrantup.com/centos/boxes/6
6 SSHクライアント TeraTerm

VagrantによるCentOS6の環境セットアップ

centos/6 のboxイメージを利用する

管理者権限でコマンドプロンプトを起動し、カレントディレクトリを任意のディレクトリに移動してから、以下のコマンドを実行します。
※ここからしばらくはWindows環境(ホストOS上)のコマンドプロンプトやテキストエディタを利用した手順です。

vagrant init centos/6

Vagrantfileの修正

vagrant initしたフォルダに「Vagrantfile」というファイルが生成されるので、以下のように修正します。
メモリのサイズを2GBに変更していますが、デフォルトだとおよそ500MBが割り当てられ、非常に小さいため、最初から設定するようにしています。

Vagrant.configure("2") do |config|
  config.vm.box = "centos/6"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end
end

vagrant upでCentOS6を起動

最初の起動には少し時間が掛かります。

vagrant up

TeraTermでの接続

vagrant sshコマンドを実行して接続するほうが簡単ですが、一応TeraTermで接続します。

  • TeraTermを起動
  • [ホスト]に 192.168.33.10 と入力しOKボタンを押下
  • ユーザ名とパスフレーズに、それぞれ vagrant と入力しOKボタンを押下
  • 上記の手順のままだとログインできず以下のように「秘密鍵」を求められる
  • 例えば「C:\vagrant-work\centos6」でvagrant initしていた場合などは以下のディレクトリにある private_key というファイルを秘密鍵として指定する。
    C:\vagrant-work\centos6.vagrant\machines\default\virtualbox
  • この状態でユーザ名もパスフレーズも入力された状態でOKボタンを押下することでTeraTermでCentOS6へ接続できる。

この辺の手順をつい忘れてしまうのでメモ

CentOSにvimを入れる

CentOS上でテキスト編集する際に vim を使いたいのでvimをインストールしておきます。
以下のコマンドはTeraTerm上の操作

sudo yum -y install vim

※私の場合は、このインストール処理時に「already installed and latest version」と言われたので、最近はデフォルトでインストール済みになっていることが多いのかもしれないです。

CentOSのtimezoneをAsia/Tokyoに変更

TeraTermでCentOS6に接続した状態で、dateコマンドを発行すると、ローカルPCのシステム日時と異なる時間が返却されていることが分かる。
タイムゾーンがデフォルトだとUTCに設定されているため、これをAsia/Tokyoに変更する。
以下のコマンドはTeraTerm上の操作

sudo cp -p /usr/share/zoneinfo/Japan /etc/localtime
sudo vim /etc/sysconfig/clock

/etc/sysconfig/clockの中身は以下のように編集する。

ZONE="Asia/Tokyo"

localeを日本に変更

localeコマンドを実行すると、LANG=en_US.UTF-8と出力され、日本になっていない。
これを日本に変更する。
以下のコマンドはTeraTerm上の操作

sudo vim /etc/sysconfig/i18n

修正内容

LANG="ja_JP.utf8"
SYSFONT="latarcyrheb-sun16"

修正した内容を反映する

. /etc/sysconfig/i18n

yum管理の各種ソフトウェアをアップデート

以下のコマンドはTeraTerm上の操作

sudo yum -y update

秘密鍵によるSSH接続の設定変更(パスワードのみでログインできるように)

上記手順のままCentOS6の環境構築を進めると、以下ディレクトリ内にある「private_key」というファイルをTeraTermで接続時に指定する必要が出てきます。
C:\vagrant-work\centos6.vagrant\machines\default\virtualbox\private_key

面倒な場合は下記設定ファイルを修正することで、パスワードのみでSSH接続できるようになります。

sudo vim /etc/ssh/sshd_config
PasswordAuthentication yes  # ←修正箇所

開発環境として利用する場合、ファイアウォールを無効にしておきたいことがよくあるのでファイアウォールの無効

必要なければこの手順を省いて問題なし
以下のコマンドはTeraTerm上の操作

sudo chkconfig iptables off

以上でCentOS6の環境構築初期セットアップが完了です。
ここまで整ったら、あとはCentOS6上でやりたかったことをやっていく感じかと。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.