私は普段VirtualBox(無料)を使って仮想環境を構築していますが、仕事場では至急されたMacBookProとVMwareFusion(有料)を使って仮想環境を構築して開発業務を行っています。
ですが既存プロジェクトに途中からアサインされて業務を行っているため、仮想環境もできあがってるものをインポートして構築していたので、新規で用意したことはありませんでした。
今回新規プロジェクトのために自分で仮想環境を構築しなければいけなくなり、普段VirtualBoxで行ってもいるので簡単かと思っていたのですが、意外と苦戦したことや、勉強になった事もあるので、この機にメモがてら手順を記事にしようと思います。
記事の目次
全体環境
ホストPC
ゲストPC
自分が使い慣れている事もあり、今回はCentOS7の環境にしたいと思います。
Download CentOS から Minimal ISO をダウンロードしておいてください。
CentOS-7-x86_64-Minimal-1611.iso
VMwareFusionにCentOS7をインストール
それではCentOS7の仮想環境を構築していきたいと思います。
仮想マシンの起動
下記どちらからでも新規で仮想マシンを起動させられます。
- VMwareFusionメニュー -> ファイル -> 新規
- VMwareFusionメニュー -> ウィンドウ -> 仮想マシンのライブラリ -> 左上の追加

インストール方法でカスタム仮想マシンを作成を選択

オペレーティングシステムは Linux -> CentOS(64ビット)を選択

仮想ディスクは新しい仮想ディスクを作成

これで仮想マシンの構成完了するので、設定のカスタマイズを選択

これから生成する仮想マシンの名前を決めます。
今回は「vm-virtual-test」にしました。

CentOS7のインストール
仮想マシンの設定画面でCD/DVD(IDE)を選択

CD/DVDドライブを接続にチェックを入れ、使用するドライブにダウンロードしておいたCentOS-7-x86_64-Minimal-1611.iso を選びます。

設定画面を閉じて起動(大きな再生ボタンをクリック)して下記画面でEnterを押してください。

CentOS7のインストールが開始したと思いますが、CentOSはインストール中に最低限必要な設定を行えるので、それだけ設定していきます。
言語を日本語に設定

日付と時刻が微妙に合っていないので設定してください。

インストール先のパーティションが赤文字になっていると思います。
パーティションを変更したい方はここで変更してください。
今回はそのままでいいので、何もしないまま完了します。

最後にrootユーザーのパスワードを設定したら完了になります。
ここで一般ユーザーを作成したい方は作成しておいても問題ありません。
私は起動後に作成するのでrootのパスワード設定だけで終わりました。
CentOS7のインストールが完了し、再起動が終わったら画面になります。

CentOS7にSambaをインストールしてホストPCから操作できるようにする
ここからはホストPC(Mac)からゲストPC(仮想環境)を操作していく為に必要な設定を行って行きます。
一般ユーザーの作成、sudo権限付与
先程CentOS7のインストール中に一般ユーザーを作成している人は読み飛ばして構いません。
# rootでログインした状態から始めます # ユーザー作成 useradd dev # パスワード設定 passwd dev {パスワード入力} # sudo権限付与 visudo # rootユーザーの設定の下辺りに追加 dev ALL=(ALL) NOPASSWD: ALL
ネットワークの設定
初期状態のままだと外部ネットワークに接続することができないので、ホストPCからのアクセスもそうですが、必要なソフトなどのインストールができないので設定変更します。
# ネットワーク設定ファイルの修正 vi /etc/sysconfig/network-scripts/ifcfg-ens33 # noになっているのでyesに変更 ONBOOT=yes # 再起動 service network restart # IPの確認(inetの値がIPアドレス) ip a

これで外部ネットワークに接続する設定は終わりになります。
これ以降はホストPCからsshログインして作業を行いたいと思います。
yumのアップデートに必要ソフトのインストール
まずはお決まりのyumアップデートと、これからの作業がやりやすいようにvimをインストールします。
# ホストPCからsshログイン ssh dev@192.168.234.181 # yumアップデート sudo yum update # vimのインストール sudo yum install vim
Sambaのインストールと設定
それではゲストPCにSambaをインストールしてホストPCから接続してファイル同期を行えるようにします。
# samba接続用ディレクトリ作成 # 通常はここがドキュメントルートなどになるかと思います。 # 今回はテスト用なので適当に。 sudo mkdir /var/testdir # 所有者変更 sudo chown -R dev:dev /var/testdir # 権限変更 sudo chmod -R 0777 /var/testdir # sambaインストール sudo yum samba # samba設定ファイルのバックアップ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org # sambaの設定変更 sudo vim /etc/samba/smb.conf # ページ下部辺りに追記 [samba] comment = samba access directory path = /var/testdir public = yes browseable = yes writable = yes guest ok = yes hosts allow = 127. 192.168. # ファイアーウォールにsambaを追加 sudo firewall-cmd --permanent --zone=public --add-service=samba # ファイアーウォールの再読込 sudo firewall-cmd --reload # sambaに既存ユーザーを追加登録 # sambaユーザー用のパスワードの設定が必要になります。 # 今回はCentOSユーザーと同じパスワードにしました。 sudo pdbedit -a dev # sambaからアクセスできるよにSELINUXを無効化 sudo vim /etc/selinux/config + SELINUX=disabled # ゲストPCの再起動 # 一度ログアウトさせられるので、再度ログインしてください。 sudo reboot
これでホストPCからsamba接続するための設定は完了になります。
注意点としてはSELINUXの無効化かなと思います。
SELINUXを無効化しなくてもsamba接続はできるのですが、実際にファイルの同期が行われないので大事になります。
ホストPCからSamba接続とファイル同期の確認
Samba接続確認
まずはホストPCからSamba接続の確認を行いたいと思います。
MacだとFinderショートカットの「Command+k」か Finderメニュー -> 移動 -> サーバへ接続からsamba接続を行います。
サーバ接続に「smb:://192.168.234.181」と入力して接続。

接続に必要なユーザー情報の入力を求められるので、samba用ユーザーで入力した値を入れてください。

後はマウントするボリューム選択になりますので、sambaを選択して接続になります。
因みにdevはsamba用に作成したdevユーザーのホームディレクトリになります。

無事Finderがsambaに接続できたら完了になります。

ファイル同期確認
上記手順で無事ホストPCからゲストPCの指定ディレクトリへsamba接続できているとは思いますが、まだディレクトリが空のため分かりづらいので、テストファイルを作成して同期の確認をしたいと思います。
# ゲストPCにログインして同期ディレクトリへ移動 ssh dev@192.168.234.181 # 移動 cd /var/testdir # ディレクトリの中身確認 [dev@localhost testdir]$ ls -l 合計 0 # テストファイル作成(中身は空で構いません) vim test.txt [dev@localhost testdir]$ ls test.txt
ではホストPCにて、先程samba接続したFinderを確認してみましょう。

ちゃんとテストファイルが同期されているのが確認できました。
まとめ
今回初めて仮想環境をVMwareFusionで構築したのですが、Sambaやネットワーク設定などVirtualBoxではそれほど意識しなくてもよかった設定で躓いたりと色々勉強になりました。
後は仮想環境関係なく、CentOS7にWebサーバやDBサーバをインストールして行くだけなので記事にするつもりはありませんが、設定途中で何かあれば改めて記事にしたいと思います。