AGFA

関心が赴くままに

Vagrantの設定〜開発準備まで

f:id:kanekok13:20170924015108p:plain

大まかな流れ

  1. Box(テンプレート)を取得。
  2. 仮想マシンを初期化。
  3. 仮想マシンを起動。

1. Box(テンプレート)を取得。

導入

$ vagrant box add [Box名] [Box URL]

Boxの一覧を見る

$ vagrant box list

vagrant boxesと調べると
boxがまとまったサイトが出てくる。

Boxの削除

$ vagrant box remove [Box名]

2. 仮想マシンを初期化。

仮想マシン初期化

$ vagrant init [Box名]

3. 仮想マシンを起動。

仮想マシンを立ち上げる

$ vagrant up

Vagrantの様々なコマンド

Vagrantの状態を見る

$ vagrant status

スリープさせる

$ vagrant suspend

スリープ状態から復帰させる

$ vagrant resume

終了させる

$ vagrant halt

立ち上げる(既出)

$ vagrant up

仮想マシン自体を削除する

$ vagrant destroy

仮想マシンに設定していたものも消えるので注意すること。
Vagrantfileは残る。

仮想マシンに接続する

$ vagrant ssh

Webページを作ってブラウザで見よう

Webサーバをインストール

$ sudo yum -y install httpd

Webサーバを立ち上げる

$ sudo service httpd start

仮想マシンを再起動してもWebサーバがonになるように設定

$ sudo chkconfig httpd on

ファイアウォールを切る

$ sudo service iptables stop

仮想マシンを再起動してもファイアウォールを切るように設定

$ sudo chkconfig iptables off
カレントディレクトリを見る
$ pwd

htmlファイルを置く

Cent OSでは、以下の場所に作成することが望ましい。
/var/www/html

上記の場所にindex.htmlを作成

$ sudo vi index.html

vimはデフォルトでは入っていない

ファイルの中身の確認

$ cat [ファイル名]

ネットワークの設定をする

仮想マシンから出る

$ exit

Vagrantfileの中にネットワークの設定がある

Vagrantfileを開く

$ vim Vagrantfile

設定変更

下記のプライベートネットワークの設定のコメントを外す。 f:id:kanekok13:20170924011115p:plain ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ f:id:kanekok13:20170924011155p:plain

設定を変更したらリロードする

$ vagrant reload

Macの中と仮想マシンの共有フォルダについて

Vagrantfileがあるフォルダで$ vagrant sshしたら、
仮想マシン上の/vagrantと対応している。

/vagrantフォルダをWebサーバのドキュメントルートに設定する。

今ある内容を削除する

$ sudo rm -rf /var/www/html

シンボリックリンクをはる

sudo ln -fs /vagrant /var/www/html

仮想マシンの接続を切る

$ exit

VagrantfileのあるフォルダがWebサーバのドキュメントルートとなっている。

応用

ローカルIPアドレスではなく、好きなローカルドメインに設定したい

モジュールのインストール

$ vagrant plugin install vagrant-hostsupdater

Vagrantfileの設定を変更

f:id:kanekok13:20170924011155p:plain この部分に下記内容を追加

config.vm.hostname = "[好きなドメイン]"

参考画像 f:id:kanekok13:20170924014450p:plain

最後に

この設定をしておかないと 「このサイトにアクセスできません」と表示されてしまう

$ sudo systemctl stop firewalld

以上です。