windows10にvagrant と Virtualbox をインストールして、仮想マシンにて CentOS7 をインストールする方法を記事「windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その1)仮想マシン作成まで」で説明しました。
一回、ここまでやっておくと、同じOS(CentOS7)の仮想マシンを作るのはあっという間です。
この記事では、その手順を説明します。
vagrantで新しく仮想マシンを作成する方法
記事「windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その1)仮想マシン作成まで」相当の作業が終了しているものとします。
このとき、新しく仮想マシンを作成するには、上記事の手順4から行えばよいです。
特に、Box(OSのストレージ上イメージ)がすでに導入済みのものを使うのであれば、Vagrantファイルを流用することもできます。
ここでは、Vagrantファイルは流用しない手順で説明します。
(Vagrantファイルを流用する場合は、コピーしてくればよいです。)
手順1. 仮想マシンの管理フォルダを作成
どこでもいいです。ただ、パスの中に日本語フォルダが混じってない方が良いかもしれません。全角文字をシステム上で使うとトラブルの元なので。
半角文字推奨ですが、でも、ここではあえて日本語、全角文字でやってみます。
手順2. ターミナルソフトの起動
フォルダを作成したら、このフォルダでターミナルソフトを起動します。
gitをインストールしてあれば、フォルダを右クリックして、「Git Bash Here」をクリックしてbashを起動しましょう。
Gitをインストールしていなければ、記事「WindowsにGitをインストールする手順」にて説明していますので、ご参照ください。
手順3. 仮想マシンの作成と起動
初期化コマンド
使うBox(=OSイメージ)が分かっていれば、そのBox名を使って、vagrant を初期化します。
初期化には vagrant init コマンドを使用します。
1 |
vagrant init bento/centos-7.5 |
とターミナルソフトに入力します。
「Vagrantfile has been placed in this directory.」(Vagrantfile が作られました)と出たら成功です。
すでに使用しているイメージ名が分からない場合は、すでに使っている仮想マシンのフォルダに移動して、Vagrantfile を開いてみましょう。
1 |
config.vm.box = "bento/centos-7.5" |
のように、 config.vm.box に設定されている文字列がBoxのイメージ名になります。
また、自分のローカルパソコン(=ホストOS上のvagrant)に、どんなBox(OSイメージ)がインストールされているかを調べるvagrantのboxコマンドもあります。
1 |
vagrant box list |
と入力してみてください。どのフォルダでも大丈夫です。
「bento/centos-7.5」
が表示されています。
1 2 3 |
user@cf-nx2 MINGW64 /c/data/tk/vagrant $ vagrant box list bento/centos-7.5 (virtualbox, 201808.24.0) |
作成と起動
次に vagrant up と入力すれば仮想マシンが作成され、起動します。
下のログ(記録)を見ると、41行までで無事に起動しています。
仮想マシンの /vagrant ディレクトリ(フォルダのようなもの) に、ホストOSの仮想マシン管理フォルダ 「C:\data\tk\vagrant\手動テスト」が共有フォルダとしてマウント(接続)されていますが、日本語表示が文字化けしているのが分かると思います。
こういうこともあるので、フォルダ名は半角の英数文字を使った方が安心です。
下が vagrant up のログです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
user@cf-nx2 MINGW64 /c/data/tk/vagrant/手動テスト $ vagrant up ==> vagrant: A new version of Vagrant is available: 2.2.3 (installed version: 2.2.2)! ==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'bento/centos-7.5'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'bento/centos-7.5' is up to date... ==> default: Setting the name of the VM: _default_1548220588347_16327 ==> default: Fixed port collision for 22 => 2222. Now on port 2200. ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 (guest) => 2200 (host) (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2200 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 5.2.18 default: VirtualBox Version: 6.0 ==> default: Mounting shared folders... default: /vagrant => C:/data/tk/vagrant/▒蓮▒e▒X▒g |
手順4. 確認作業
続けて、仮想マシン上で確認しましょう。
仮想マシンへログインと軽く動作確認
まず、vagrant のコマンド ssh で 仮想マシンにログインします。
1 |
vagrant ssh |
それから、心配だった共有フォルダが見れるかの確認をしましょう。
/vagrant ディレクトリ(=フォルダ。linuxではディレクトリと呼びます)に マウントされていますので、 lsコマンドでフォルダ内のファイル一覧を表示させてみます。
1 |
ls /vagrant/ |
ちゃんと、「C:\data\tk\vagrant\手動テスト」の中にある Vagrantfile が表示されていますので、問題ないようです。
ついでに cat コマンドで、/etc/redhat-release というファイルの中身を表示させてみます。
1 |
cat /etc/redhat-release |
「redhat-release」ファイルには、OSのバージョンが記録されています。下のログのように、CentOS の 7.5.1804 というバージョンということが分かりました。
下のログでは、さらに、 whoami コマンドでログインしているユーザ名の確認もしています。
1 |
whoami |
vagrant という名前のユーザとしてログインしていることが分かります。
1 2 3 4 5 6 7 8 9 |
user@cf-nx2 MINGW64 /c/data/tk/vagrant/手動テスト $ vagrant ssh [vagrant@localhost ~]$ ls /vagrant/ Vagrantfile [vagrant@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [vagrant@localhost ~]$ whoami vagrant [vagrant@localhost ~]$ |
仮想マシンの終了
exit コマンドで仮想マシンからログアウト(接続を切断)します。
1 |
exit |
ホストOSに戻ったら、vagrant halt コマンドで、仮想マシンを終了させておきましょう。
1 |
vagrant halt |
1 2 3 4 5 6 7 |
[vagrant@localhost ~]$ exit logout Connection to 127.0.0.1 closed. user@cf-nx2 MINGW64 /c/data/tk/vagrant/手動テスト $ vagrant halt ==> default: Attempting graceful shutdown of VM... |
まとめ
vagrantを使うと仮想マシンを量産するのがとても楽です。
特に、仮想マシン上にいろんなツールをインストールしたり設定していく作業もすべて、vagrantの設定ファイルに記述するようになれば、今回の作業だけで、サーバー環境の再構築ができてしまいます。
ぜひ、マスターしてください。
vagrant のコマンド一覧については、記事「vagrant のコマンド一覧」を参照ください。
また、仮想マシンに入った後のcentosのコマンドについては、記事「centosでよく使うLinuxコマンド【基礎編】」に簡単に説明していますのでこちらも見てみてくださいね。
コメント