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上でやりたかったことをやっていく感じかと。