いろいろ試してみようと思っても
PCの中がごちゃごちゃするのが嫌なので
VirtualBoxとVagrantを導入します。
ついでに自分でLinuxのボックス作ってLinuxの復習。
それぞれの説明。
VirtualBox:
Oracle VM VirtualBox (オラクル ブイエム バーチャルボックス)。
x86 ベース・システム用の仮想化ソフトウェア・パッケージ。
現在(2016年4月)、Oracle Databaseで有名なオラクルが開発を行っている。
Vagrant:
FLOSS(Free/Libre and Open Source Software)の仮想開発環境構築ソフトウェア。
仮想マシンでの開発環境の構築を設定まで自動的に行うことができる。
違う環境への移行も簡単(作成した仮想マシンを別のPCで再構築なんてのもできる)。
Boxファイル:
Vagrantで作成・使用する、仮想マシンのベース(ひな形)になるイメージファイル。
今回はこれを作成します。(ベースになる環境を構築するってこと~)
ちなみにBoxファイルを公開しているサイトもあって
それを利用することもできるらしい。
ではでは、
さっそく、導入する際に行った作業やなどをメモしていきます。
----------------------------------------------------------------------
ダウンロード、インストール
VirtualBox、Vagrantのインストール(ダウンロード:VirtualBox、Vagrant)・インストールについては以下のサイトがとてもわかりやすかったです。
Oracle VM VirtualBox をインストールする手順 (Windows 7)
Vagrant をWindowsにインストールする手順
CentOS7のインストールはVirtualBoxの設定後に行います。
VirtualBoxの設定
VirtualBoxを起動
・名前:CentOS7
・タイプ:Linux
・バージョン:Red Hat (64-bit)
・メモリーサイズ:2048 MB
・ハードディスク:仮想ハードディスクを作成する
・ハードディスクのファイルタイプ:VDI
・物理ハードディスクにあるストレージ:可変
・ファイルの場所とサイズ:場所はデフォルトのまま、サイズは40GB
作成した仮想マシンを右クリックして設定
・オーディオ - オーディオを有効化のチェックを外す
・USB - USBコントローラーを有効化のチェックを外す
・ネットワーク - アダプター1 - 高度 - ポートフォワーディング -
新規ポートフォワーディングルールを追加(右上にある+マーク)
設定内容
名前:SSH
プロトコル:TCP
ホストIP:127.0.0.1
ホストポート:2222
ゲストIP: (空白)
ゲストポート:22
・ストレージ - コントローラーIDE - 右端にあるディスクマークをクリック -
仮想光学ディスクファイルを選択 - ダウンロードしたCentOS7のISOファイルを選択
OKを押して保存
CentOS7を仮想マシンにインストール
仮想マシンを選択して起動をクリック
仮想マシンが起動してCentOS7のインストールが始まる
メモ:「表示された仮想マシンの画面をクリックするとメッセージが表示される
キャプチャ-をクリックで仮想マシン内の操作が可能になる。
右のControlキーを押すと仮想マシンから抜けられる」
Install CentOS 7を選択してエンターキーを押下
言語設定を日本語にする。
続行をクリック
インストール先をクリック
ローカル標準ディスクを選択
完了をクリック
ネットワークとホスト名をクリック
イーサネット(enpOs3)をオンにする
完了をクリック
インストールの開始をクリック
ROOTパスワードをクリック
パスワードを設定:vagrant
完了を2回クリック
ユーザーの作成をクリック
ユーザー名:vagrant
パスワード:vagrant
完了を2回クリック
再起動をクリック
※こっから先はTeraTermなどSSH接続用のツールを使用して作業をします。
TeraTermのインストールなどについてわからない方は以下のサイトなど参考にするといいかも。
Tera Termのインストール - Tera Termの使い方
接続するときのホストとポート番号は「VirtualBoxの設定」のネットワークで設定した
ホストIP:127.0.0.1、ホストポート:2222を指定します。
SSH接続しなくても作業はできますが、コピペなどができるのでSSH接続しての作業がおすすめ。
CentOS7の設定
sudoの設定
vagrantユーザーにsudoを許可する。・以下のコマンドでvagrantをwheelグループに追加
# usermod -aG wheel vagrant
・追加されたことを確認
# id vagrant
・sudo の設定ファイルを開く
# visudo
(/etc/sudoers が開かれる)
・設定ファイルを編集
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL (コメントされている場合はコメントを外す)
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL (コメントされている場合はコメントを外す)
「Defaults requiretty 」の次の行に以下を追加する。
Defaults:vagrant !requiretty
保存して閉じる
SSH設定
# mkdir /home/vagrant/.ssh# chmod 700 /home/vagrant/.ssh
# curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys
# chmod 600 /home/vagrant/.ssh/authorized_keys
# chown -R vagrant:vagrant /home/vagrant/.ssh
不要サービスの停止・無効化
ひとまず参考にしたサイト通りに、サービスを無効化します。(firewalldはもともとなかった・・)
全サービスの一覧表示(qを入力して一覧からコマンドラインに戻れる)
# systemctl list-units --type service
状態確認
# systemctl status postfix
停止
# systemctl stop postfix
無効化
# systemctl disable postfix
状態確認
# systemctl status postfix
SELinuxの無効化
いろいろ厄介らしいのでSELinuxを無効化。
# vi /etc/selinux/config以下の行を変更
変更前) SELINUX=enforcing
変更後) SELINUX=disabled
既存パッケージのアップデート
# yum -y update追加パッケージのインストール
# yum -y groupupdate "Development Tools"# yum -y install man-pages-ja wget vim-enhanced
# reboot
(再起動されるので再度ログイン)
VirtualBox Guest Additionsのインストール
VirtualBoxの実行中仮想マシンのメニューから、
[デバイス] > [Guest Additions のCDイメージを挿入...]を選択し、
[デバイス] > [Guest Additions のCDイメージを挿入...]を選択し、
以下の手順でインストールする。
# mkdir /media/cdrom# mount -r /dev/cdrom /media/cdrom
# sh /media/cdrom/VBoxLinuxAdditions.run
yesを応答する。
# umount /media/cdrom
----トラブルシューティングメモ----
実行中に[失敗](FAILED)が出てなかなか正常にインストールできなかった。
ログなどいろいろ調べた結果、 以下のサイトで実施している
トラブルシューティングの内容を実行したら正常にインストールできました。
VirtualBox/クリップボードの共有
【実施した内容】
ls で確認したkernelのバージョンと
uname -r で確認したkernelのバージョンが同じことを確認
# ls /usr/src/kernels/<kernelバージョン>
# uname -r
違った場合は以下を実施する
# yum remove -y kernel-devel kernel-headers gcc
# yum install -y kernel-devel-`uname -r` kernel-headers-`uname -r` gcc
.bashrcファイルの末尾に以下の行を追記する。
# vi ~/.bashrc
export KERN_DIR=/usr/src/kernel/`uname -r`
.bashrcの再読み込み
# . ~/.bashrc
インストールの再実施
# sh /media/cdrom/VBoxLinuxAdditions.run
yum のキャッシュ削除
# yum clean allシャットダウン
# shutdown -h nowボックスの作成
コマンドプロンプトを起動(ファイル名を指定して実行のところでcmdを入力して実行すると出てくるよ)vagrant package --base <仮想マシン名> package.boxを実行してboxファイルを作成。
> vagrant package --base CentOS7 package.box
>dir package.box
※package.boxは実行した時の場所(フォルダ)に作成されるので移動してから行う
ボックスをVagrantに登録
vagrant box add --name <Vagrantでのボックス名> package.box> vagrant box add --name centos7 package.box
> vagrant box list
centos7が表示され追加されていることを確認。
ボックスを使ってみる
好きな場所にフォルダを作成します。(VirtualBox上での名前になります。日本語は使わないほうが無難かな?)
今回はCドライブの直下にVagrantフォルダを作成して、
その下に各仮想マシン用のフォルダを作成して管理しようと思います。
作成したらコマンドプロンプトで作成したフォルダに移動。
> cd C:/Vagrant/testVagrant
> cd C:/Vagrant/testVagrant
vagrant init <Vagrantでのボックス名>を実行して仮想マシン用の設定ファイルを作成。
> vagrant init centos7実行場所にVagrantfileが作成されます。
以下のコマンドで仮想マシンの起動(初回実行時は仮想マシンの作成)
> vagrant up
以下のコマンドでSSH接続用のホスト名、ポート番号、ユーザ名が表示されます。
> vagrant ssh
SSH接続する。
以上です。
これで多分できるはず!
新しいことを気軽に試せるっていいですよね。
おわり。
以下は参考にさせてもらったページ
・Vagrant、CentOSの設定等
VagrantのBoxを新しく作成する方法
CentOS7.0をvagrant用にbox化するメモ
CentOS7.1にてVagrant Base Boxを作成する
・sudoの設定
rootだけtty無しのsudoを許可
・VagrantでBox作成VagrantのBoxを新しく作成する方法
CentOS7.0をvagrant用にbox化するメモ
CentOS7.1にてVagrant Base Boxを作成する
・sudoの設定
rootだけtty無しのsudoを許可
Vagrantコマンド
・その他
Tera Termのインストール - Tera Termの使い方
VirtualBox/クリップボードの共有
0 件のコメント:
コメントを投稿