Vagrant2.0.3を使ったCentOS7.4の環境構築
Vagrantを使ったCentOS7の環境構築で、毎回やっている作業をまとめてみます。
更新履歴
- 2018年4月22日
-
Vagrant 2.0.4が出ていたので利用してみました。その結果なのかわかりませんが、vagrant sshでsetlocale
関連のwarningが発生していたため、解消する手順を追加。
SSH接続後にsetlocaleに対するwarningが発生する事象への解消方法 - Oracle VM VirtualBox 5.2.10はWondows版のダウンロードが「Windows Installer Soon Available」となっていて、まだ入手できてないので試していません。
- 2018年4月24日
-
sudo localectl set-locale LANG=ja_JP.utf8
の記述だと、setlocale
関連のwarningが発生し、sudo localectl set-locale LANG=ja_JP.UTF-8
だと発生しないことが分かったので、不要な手順を削除。
環境まとめ
# | 環境 | 概要 |
---|---|---|
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 | 7.4 利用しているboxはhttps://app.vagrantup.com/centos/boxes/7 |
6 | SSHクライアント | TeraTerm |
VagrantによるCentOS7の環境セットアップ
centos/7 のboxイメージを利用する
管理者権限でコマンドプロンプトを起動し、カレントディレクトリを任意のディレクトリに移動してから、以下のコマンドを実行します。
※ここからしばらくはWindows環境(ホストOS上)のコマンドプロンプトやテキストエディタを利用した手順です。
vagrant init centos/7
Vagrantfileの修正
vagrant initしたフォルダに「Vagrantfile」というファイルが生成されるので、以下のように修正します。
メモリのサイズを2GBに変更していますが、デフォルトだとおよそ500MBが割り当てられ、非常に小さいため、最初から設定するようにしています。
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
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でCentOS7を起動
最初の起動には少し時間が掛かります。
vagrant up
CentOSにvimを入れる
CentOS上でテキスト編集する際に vim を使いたいのでvimをインストールしておきます。
vagrant ssh
などを利用して、Vagrantで起動したCentOS7の環境へ接続した状態で後続の処理をします。
sudo yum -y install vim
CentOSのtimezoneをAsia/Tokyoに変更
TeraTermでCentOS7に接続した状態で、dateコマンドを発行すると、ローカルPCのシステム日時と異なる時間が返却されていることが分かる。
タイムゾーンがデフォルトだとUTCに設定されているため、これをAsia/Tokyoに変更する。
sudo timedatectl set-timezone Asia/Tokyo
localeを日本に変更
localectl statusコマンドを実行すると、LANG=en_US.UTF-8と出力され、日本になっていない。
これを日本に変更する。
sudo localectl set-locale LANG=ja_JP.UTF-8
source /etc/locale.conf
yum管理の各種ソフトウェアをアップデート
sudo yum -y update
秘密鍵によるSSH接続の設定変更(パスワードのみでログインできるように)
上記手順のままCentOS7の環境構築を進めると、以下ディレクトリ内にある「private_key}というファイルをTeraTermで接続時に指定する必要が出てきます。
C:\vagrant-work\centos7.vagrant\machines\default\virtualbox\private_key
面倒な場合は下記設定ファイルを修正することで、パスワードのみでSSH接続できるようになります。
sudo vim /etc/ssh/sshd_config
PasswordAuthentication yes # ←修正箇所
開発環境として利用する場合、ファイアウォールを無効にしておきたいことがよくあるのでファイアウォールの無効
必要なければこの手順を省いて問題なし
sudo systemctl stop firewalld
sudo systemctl disable firewalld
以上でCentOS7の環境構築初期セットアップが完了です。
ここまで整ったら、あとはCentOS7上でやりたかったことをやっていく感じかと。