Vagrantのこと教えて

IT
geralt / Pixabay
 
ねこでもわかるようにVagrantの事もっと教えてほしいにゃ?
ねこ、気になります!!
 
ねこの好奇心には勝てそうにry・・・
じゃぁVagrantFileのことでも書いておこうかな

前提

VagrantのインストールはVagrantインストール手順【mac】
Vagrantの基本的な使い方はVagrantの簡単な使い方【mac】
を参照のこと

VagrantFileの記述方法

ローカルのディレクトリ仮想環境のディレクトリを共有する

書式

config.vm.synced_folder ローカルのディレクトリ,仮想環境のディレクトリ

ローカルディレクトリ構成

 作業ディレクトリ:workDir
 共有用ディレクトリ:htdocs

上記のディレクトリ構成だった場合に、htdocsディレクトリを
仮想環境の/pjディレクトリと共有したい場合

共有したディレクトリの仮想環境上の権限を指定する

書式

config.vm.synced_folder ローカルのディレクトリ,仮想環境のディレクトリ,
:mount_options => [“dmode=ディレクトリ権限,fmode=ファイル権限”]

ローカルディレクトリ構成

 作業ディレクトリ:workDir
 共有用ディレクトリ:htdocs

上記のディレクトリ構成だった場合に、htdocsディレクトリを
共有した仮想環境の/pjディレクトリの権限とファイルの権限を
777に指定したい場合

共有したディレクトリの仮想環境上でのユーザとグループを指定する

書式

config.vm.synced_folder ローカルのディレクトリ,仮想環境のディレクトリ,
:owner => “ユーザ”,
:group => “グループ”

ローカルディレクトリ構成

 作業ディレクトリ:workDir
 共有用ディレクトリ:htdocs

上記のディレクトリ構成だった場合に、htdocsディレクトリを
共有した仮想環境の/pjディレクトリのユーザとグループを
www-dataに指定したい場合

IPアドレスを指定する

書式

config.vm.network “private_network”, ip: “IPアドレス”

IPアドレスを192.168.33.50 に指定したい場合

ホストネームを指定する

書式

config.vm.hostname = “ホストネーム”

ホストネームをlocal.test.jp に指定したい場合

VagrantFile設定変更をボックスに反映させる

VagrantFile変更後にターミナル上で下記を実行

ボックスを起動中の時でも上記を実行すれば設定変更が反映されます

ひとつのWebサーバで複数ドメインのサイトを公開する方法(macローカルで仮想環境を使用したテストをしたい場合)

概要

neco1.localneco2.localという2種類のドメインのサイトを公開する場合。
仮想環境のOSはcentos、WEBサーバはapache2を使用している例です。
(WEBサーバの設定内容はあくまでローカルの仮想環境で複数ドメインの
サイト公開に関するテストをしたいだけなので、それぞれのドメインに
アクセスして、それぞれのドメインに対応したページが正しく表示された
という確認をする為の最小限の設定しか記述しておりません。)

VagrantFileの設定

書式

config.hostsupdater.aliases = [“ドメイン名その1”, ドメイン名その2”]

neco1.localとneco2.localという2種類のドメインを指定したい場合

※ 上記の設定を行ってある場合 vagrant up すると途中でパスワードを
聞かれるので、その際には、macのパスワードを入力しすれば大丈夫です!

仮想環境での作業

各ドメイン用のWEBページの格納場所を用意
neco1.local用

操作

neco2.local用

操作

各ドメイン用のテストページを用意
neco1.local用

操作

上記の編集中のテストページファイル(index.html)に記述する内容

neco2.local用

操作

上記の編集中のテストページファイル(index.html)に記述する内容

apache2の設定
1.ヴァーチャルホストの設定ファイルを格納するためのディレクトリを
confディレクトリと同じ階層に用意する。
apacheをインストールする際、ソースからコンパイルした場合の例
(他の方法でインストールした場合confディレクトリの場所は異なります)

操作

2. httpd.confに設定を追記

操作

追記内容

3.ヴァーチャルホストの設定ファイルをわかりやすいようにドメイン名と同じ名称で用意

neco1.local用

操作

上記の設定ファイル(neco1.local.conf)に記述する内容

neco2.local用

操作

上記の設定ファイル(neco2.local.conf)に記述する内容

4. 各ドメインのWEBサイトごとの設定を上記のIncludeで指定したファイルに記述

neco1.local用の設定

操作

上記の設定ファイル(vhttpd.conf)に記述する内容

neco2.local用の設定

操作

上記の設定ファイル(vhttpd.conf)に記述する内容

 

タイトルとURLをコピーしました