Vagrantを使ってCentOS7の環境を立ち上げプロビジョニングによって日本語開発環境として成立させる最小構成
Vagrantを使ってCentOSの環境を立ち上げるのは簡単ですが、
- タイムゾーンがデフォルトだとUTCに設定されているため、これをAsia/Tokyoに変更したり
- localが
LANG=en_US.UTF-8
になっているのでLANG=ja_JP.UTF-8
に変更したり - 各種ソフトウェアのUpdateをやったり
- 開発環境として利用するのにfirewalldが邪魔だったり
- vimの環境が欲しかったり。。。
と色々と立ち上げたあとにゴニョゴニョすることが多いので、プロビジョニングによってvagrant up
したらいきなり準備OKの状態にしたいと思い、ここにメモを残します。
環境情報
2019/12/11時点
- Vagrant 2.2.6
- CentOS 7.5.1804
ローカルのディレクトリ構成
.
├── Vagrantfile
└── provision.sh
各ファイルの中身
Vagrantfile
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
config.vm.provision :shell, :path => "./provision.sh", :privileged => true
end
provision.sh
#!/bin/sh
systemctl stop firewalld
systemctl disable firewalld
timedatectl set-timezone Asia/Tokyo
localectl set-locale LANG=ja_JP.UTF-8
source /etc/locale.conf
yum install -y vim
yum -y update
vagrant upして色々確認してみる
起動後にvagrant sshで接続し、状態を確認してプロビジョニングが適用されていることが確認できました。
$ vagrant up
$ vagrant ssh
$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
$ timedatectl status
Local time: 水 2019-12-11 19:42:30 JST
Universal time: 水 2019-12-11 10:42:30 UTC
RTC time: 水 2019-12-11 10:42:27
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
$ localectl status
System Locale: LANG=ja_JP.UTF-8
VC Keymap: us
X11 Layout: n/a