tags

[3]
[3]
[1]
[1]

Unixのバーチャルマシンを作成する Vagrant / Virtual BOX

Vagrant

https://www.vagrantup.com/downloads.html

Virtual Box

https://www.virtualbox.org

● Virtual BOX Extension Pack

http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp#extpack

Virtual BOX は仮想環境(バーチャルPC)を実行するソフト
Vagrant は【VirtualBOX】【VM Ware(有料)】【parallels(有料)】【Amazon EC2(有料のクラウド)】などに対応した仮想環境を簡単に構築するソフトです。
どちらも公式サイトからアプリをダウンロードしてインストールします。

● Vagrantのデータ保存フォルダを変更する

外付けハードディスクなどに変更しておくと環境の変化にも耐えやすいです。 例)

export VAGRANT_HOME=/path/to/hdd/vagrant.d
未指定時のデフォルトは $HOME/.vagrant.d

● VagrantにCentOSのマシンを追加する

1. Vagrantで新しいマシンを追加するにはまずフォルダを作成します

例として Centos55 フォルダを作成します。

mkdir ~/Vagrant/Centos55

2. 新しいマシンを検索する

こちらからインストールしたいマシンを検索する ↓
https://atlas.hashicorp.com/boxes/search
検索結果をクリックするとインストールコマンドが表示されているのでコピーしておく

(例)
vagrant init hansode/centos-5.5-x86_64; vagrant up --provider virtualbox

3. 新しいマシンを追加する

先ほど作成したフォルダに移動してマシンを追加する

cd ~/Vagrant/Centos55
vagrant init hansode/centos-5.5-x86_64; vagrant up --provider virtualbox

仮想マシンファイルのダウンロード完了までしばらく待ちます。

● CentOSのマシンを起動する

ダウンロードが完了したら準備OK。起動するだけです。

cd ~/Vagrant/Centos55
vagrant up

● 【vagrant ssh】 コマンドでSSHで接続する

起動したら ssh でコンソールへつなぎましょう

vagrant ssh

rootになるには

su -
(パスワードは vagrant )

または

sudo su -

● 【ssh】 コマンドでSSHで接続する

通常のsshコマンドでssh接続するには vagrant ssh-config を実行して設定ファイルを表示させます (vagrant ssh-config の実行例)

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/hogehoge/Vagrant/Centos5.5/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

この情報を元に sshコマンド接続するには下記のようにします

ssh vagrant@127.0.0.1 -p 2222 -i /Users/hogehoge/Vagrant/Centos5.5/.vagrant/machines/default/virtualbox/private_key

SFTPソフトでsftp接続するにはファイル指定します

/Users/【あなたのユーザー名】/Vagrant/Centos5.5/.vagrant/machines/default/virtualbox/private_key

● CentOSのマシンでWEBサーバを起動しMacから接続する

1. apacheのドキュメントルートを /home/vagrant/【サーバ名】 にするため、ディレクトリの権限を変更します

chmod 0755 /home/vagrant

2. apacheの設定ファイルにバーチャルホスト項目を追加します

vi /etc/httpd/conf/httpd.conf

以下の行を一番下に追加します

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@test.local
    DocumentRoot "/home/vagrant/test.local"
    ServerName test.local
    ErrorLog  "/home/vagrant/test.local/log/test.local-error.log"
    CustomLog "/home/vagrant/test.local/log/test.local-access.log" common
    <directory "/home/vagrant/test.local">
      Order allow,deny
      Allow from all
    </directory>
</VirtualHost>

3. ファイアーウォール iptables を無効にします

/etc/rc.d/init.d/iptables stop
chkconfig iptables off

4. yumのリポジトリに「EPEL」「remi」追加する

yum -y install epel-release

# Centos7に「remi」リポジトリに追加する
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

# Centos6に「remi」リポジトリに追加する
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

# Centos5に「remi」リポジトリに追加する
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm 

4. PHPとモジュールをインストールする

・PHP5.6をインストールする場合
yum -y install --enablerepo=remi-php56 php
・PHP7.0をインストールする場合
yum -y install --enablerepo=remi-php70 php
yum  --enablerepo=remi-php56  -y install php php-devel php-mbstring php-pear php-bcmath php-dba php-dom php-gd php-imap php-ldap php-ncurses php-odbc php-pcntl php-snmp php-soap php-xmlrpc

# MySQLのインストール
yum -y install mysql
yum -y install php-mysql

# postgreSQLのインストール
yum -y install postgresql-server
yum -y install php-pgsql

# SQLiteのインストール
yum -y install sqlite

php sqliteのインストール

php用SQLiteは pecl 拡張でインストールするのでPHPソースコードを取ってきてコンパイルします。 ソースコードを取ってきて解凍した後下記のように実行します。

cd php-5.1.6/ext/sqlite/
phpize
./configure
make
sudo make install

次に設定ファイルを作成します。

vi /etc/php.d/sqlite.ini 

下記の内容で保存する

extension=sqlite.so

apacheを再起動します

/etc/init.d/httpd stop ; /etc/init.d/httpd start

4. apacheを自動起動するよう設定後、手動で起動し、curlでアクセスして確認します

chkconfig httpd on
/etc/init.d/httpd start
curl localhost

5. IPアドレス確認します

ip a

● Macからバーチャルマシンの標準80番ポートへアクセス出来るよう設定する

1. vagrant-triggers をインストールする

vagrant plugin install vagrant-triggers

● Vagrantのコマンド(ターミナルから実行します)

・box(バーチャルマシン)の一覧を表示する

vagrant box list

・box(バーチャルマシン)を追加する

インストールするboxをここから選択し URL をコピーしておく
http://www.vagrantbox.es

freeBSD 9.2を「freebsd92box」というbox名で追加するには下記のように実行する

vagrant box add freebsd92box http://iris.hosting.lv/freebsd-9.2-i386.box

・box(バーチャルマシン)を初期化する

例 : ディレクトリ「vagrant_space」を作ってそこに設定ファイルを置いてみます

cd
mkdir vagrant_space
cd vagrant_space
vagrant  init  freebsd92box

・バーチャルマシンを起動する

cd ~/Vagrant/【操作したいマシンのディレクトリ】
vagrant up

・バーチャルマシンを停止する

cd ~/Vagrant/【操作したいマシンのディレクトリ】
vagrant halt

・バーチャルマシンを再起動する

cd ~/Vagrant/【操作したいマシンのディレクトリ】
vagrant reload

・バーチャルマシンの起動状態を確認する

vagrant status

・起動したマシンにssh接続する

vagrant ssh

・ssh接続後に root ユーザになる

su -
(パスワードは vagrant)

・box(バーチャルマシン)を削除する

vagrant box remove "box名"

・共有フォルダをOFFにする

Vagrantfile 内に以下のように記述する

config.vm.synced_folder ".", "/vagrant", disabled: true

その他Vagrantコマンド http://bit.ly/2go8J0u


関連エントリー

添付ファイル1
添付ファイル2
No.148
05/23 21:59

edit

添付ファイル

virtualbox
vagrant