【VMwareFusion】CentOS7のインストールとSambaでファイル同期

vmware-logo

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。ご了承ください。

私は普段VirtualBox(無料)を使って仮想環境を構築していますが、仕事場では至急されたMacBookProとVMwareFusion(有料)を使って仮想環境を構築して開発業務を行っています。

ですが既存プロジェクトに途中からアサインされて業務を行っているため、仮想環境もできあがってるものをインポートして構築していたので、新規で用意したことはありませんでした。

今回新規プロジェクトのために自分で仮想環境を構築しなければいけなくなり、普段VirtualBoxで行ってもいるので簡単かと思っていたのですが、意外と苦戦したことや、勉強になった事もあるので、この機にメモがてら手順を記事にしようと思います。

全体環境

ホストPC

MacBookPro OS X El Capitan
MacBookProバージョン画像

VMwareFusion バージョン 8.5.6VMwareFusionバージョン画像

ゲストPC

自分が使い慣れている事もあり、今回はCentOS7の環境にしたいと思います。

Download CentOS から Minimal ISO をダウンロードしておいてください。
CentOS-7-x86_64-Minimal-1611.iso

VMwareFusionにCentOS7をインストール

それではCentOS7の仮想環境を構築していきたいと思います。

仮想マシンの起動

下記どちらからでも新規で仮想マシンを起動させられます。

  • VMwareFusionメニュー -> ファイル -> 新規
  • VMwareFusionメニュー -> ウィンドウ -> 仮想マシンのライブラリ -> 左上の追加
仮想環境起動ステップ1

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

仮想環境起動ステップ2

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

仮想環境起動ステップ3

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

仮想環境起動ステップ4

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

仮想環境起動ステップ5

これから生成する仮想マシンの名前を決めます。

今回は「vm-virtual-test」にしました。

仮想環境起動ステップ6

CentOS7のインストール

仮想マシンの設定画面でCD/DVD(IDE)を選択

CentOS7インストール手順1

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

CentOS7インストール手順2

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

CentOS7インストール手順3

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

言語を日本語に設定

CentOS7言語設定画像

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

CentOS7日時設定

インストール先のパーティションが赤文字になっていると思います。

パーティションを変更したい方はここで変更してください。

今回はそのままでいいので、何もしないまま完了します。

CentOS7パーティション設定

最後にrootユーザーのパスワードを設定したら完了になります。

ここで一般ユーザーを作成したい方は作成しておいても問題ありません。

私は起動後に作成するのでrootのパスワード設定だけで終わりました。

CentOS7のインストールが完了し、再起動が終わったら画面になります。

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
IPアドレス確認画面

これで外部ネットワークに接続する設定は終わりになります。

これ以降はホスト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接続画面1

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

Samba接続画面2

後はマウントするボリューム選択になりますので、sambaを選択して接続になります。

因みにdevはsamba用に作成したdevユーザーのホームディレクトリになります。

Samba接続画面3

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

Finder確認画面

ファイル同期確認

上記手順で無事ホスト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を確認してみましょう。

Samba接続同期確認画面

ちゃんとテストファイルが同期されているのが確認できました。

まとめ

今回初めて仮想環境をVMwareFusionで構築したのですが、Sambaやネットワーク設定などVirtualBoxではそれほど意識しなくてもよかった設定で躓いたりと色々勉強になりました。

後は仮想環境関係なく、CentOS7にWebサーバやDBサーバをインストールして行くだけなので記事にするつもりはありませんが、設定途中で何かあれば改めて記事にしたいと思います。