ねこ、気になります!!
じゃぁVagrantFileのことでも書いておこうかな
前提
VagrantFileの記述方法
ローカルのディレクトリ仮想環境のディレクトリを共有する
書式
config.vm.synced_folder ローカルのディレクトリ,仮想環境のディレクトリ
ローカルディレクトリ構成
作業ディレクトリ:workDir
共有用ディレクトリ:htdocs
1 2 3 |
htdocs/ workDir/ - VagrantFile |
例
上記のディレクトリ構成だった場合に、htdocsディレクトリを
仮想環境の/pjディレクトリと共有したい場合
1 |
config.vm.synced_folder "../htdocs","/pj" |
共有したディレクトリの仮想環境上の権限を指定する
書式
config.vm.synced_folder ローカルのディレクトリ,仮想環境のディレクトリ,
:mount_options => [“dmode=ディレクトリ権限,fmode=ファイル権限”]
ローカルディレクトリ構成
作業ディレクトリ:workDir
共有用ディレクトリ:htdocs
1 2 3 |
htdocs/ workDir/ - VagrantFile |
例
上記のディレクトリ構成だった場合に、htdocsディレクトリを
共有した仮想環境の/pjディレクトリの権限とファイルの権限を
777に指定したい場合
1 2 |
config.vm.synced_folder "../htdocs","/pj", :mount_options => ["dmode=777,fmode=777"] |
共有したディレクトリの仮想環境上でのユーザとグループを指定する
書式
config.vm.synced_folder ローカルのディレクトリ,仮想環境のディレクトリ,
:owner => “ユーザ”,
:group => “グループ”
ローカルディレクトリ構成
作業ディレクトリ:workDir
共有用ディレクトリ:htdocs
1 2 3 |
htdocs/ workDir/ - VagrantFile |
例
上記のディレクトリ構成だった場合に、htdocsディレクトリを
共有した仮想環境の/pjディレクトリのユーザとグループを
www-dataに指定したい場合
1 2 3 |
config.vm.synced_folder "../htdocs","/pj", :owner => "www-data", :group => "www-data" |
IPアドレスを指定する
書式
config.vm.network “private_network”, ip: “IPアドレス”
例
IPアドレスを192.168.33.50 に指定したい場合
1 |
config.vm.network "private_network", ip: "192.168.33.50" |
ホストネームを指定する
書式
config.vm.hostname = “ホストネーム”
例
ホストネームをlocal.test.jp に指定したい場合
1 |
config.vm.hostname = "local.test.jp" |
VagrantFile設定変更をボックスに反映させる
VagrantFile変更後にターミナル上で下記を実行
1 |
vagrant reload |
ひとつのWebサーバで複数ドメインのサイトを公開する方法(macローカルで仮想環境を使用したテストをしたい場合)
概要
neco1.localとneco2.localという2種類のドメインのサイトを公開する場合。
仮想環境のOSはcentos、WEBサーバはapache2を使用している例です。
(WEBサーバの設定内容はあくまでローカルの仮想環境で複数ドメインの
サイト公開に関するテストをしたいだけなので、それぞれのドメインに
アクセスして、それぞれのドメインに対応したページが正しく表示された
という確認をする為の最小限の設定しか記述しておりません。)
VagrantFileの設定
書式
config.hostsupdater.aliases = [“ドメイン名その1”, “ドメイン名その2”]
例
neco1.localとneco2.localという2種類のドメインを指定したい場合
1 |
config.hostsupdater.aliases = [“neco1.local", “neco2.local"] |
※ 上記の設定を行ってある場合 vagrant up すると途中でパスワードを
聞かれるので、その際には、macのパスワードを入力しすれば大丈夫です!
仮想環境での作業
各ドメイン用のWEBページの格納場所を用意
neco1.local用
操作
1 |
mkdir /var/vhost/neco1.local |
neco2.local用
操作
1 |
mkdir /var/vhost/neco2.local |
各ドメイン用のテストページを用意
neco1.local用
操作
1 2 3 4 |
cd /var/vhost/neco1.local mkdir htdocs cd htdocs vi index.html |
上記の編集中のテストページファイル(index.html)に記述する内容
1 2 3 |
<html> This is neco1.local!!! </html> |
neco2.local用
操作
1 2 3 4 |
cd /var/vhost/neco2.local mkdir htdocs cd htdocs vi index.html |
上記の編集中のテストページファイル(index.html)に記述する内容
1 2 3 |
<html> This is neco2.local!!! </html> |
apache2の設定
1.ヴァーチャルホストの設定ファイルを格納するためのディレクトリを
confディレクトリと同じ階層に用意する。
※ apacheをインストールする際、ソースからコンパイルした場合の例(他の方法でインストールした場合confディレクトリの場所は異なります)
操作
1 2 |
cd /usr/local/apache2 mkdir conf.vhost |
2. httpd.confに設定を追記
操作
1 2 |
cd /usr/local/apache2/conf vi httpd.conf |
追記内容
1 |
Include conf.vhost/*.conf |
3.ヴァーチャルホストの設定ファイルをわかりやすいようにドメイン名と同じ名称で用意
neco1.local用
操作
1 2 |
cd /usr/local/apache2/conf.vhost vi neco1.local.conf |
上記の設定ファイル(neco1.local.conf)に記述する内容
1 2 3 4 |
<VirtualHost *:80> ServerName neco1.local Include /var/vhost/neco1.local/etc/vhttpd.conf </VirtualHost> |
neco2.local用
操作
1 2 |
cd /usr/local/apache2/conf.vhost vi neco2.local.conf |
上記の設定ファイル(neco2.local.conf)に記述する内容
1 2 3 4 |
<VirtualHost *:80> ServerName neco2.local Include /var/vhost/neco2.local/etc/vhttpd.conf </VirtualHost> |
4. 各ドメインのWEBサイトごとの設定を上記のIncludeで指定したファイルに記述
neco1.local用の設定
操作
1 2 3 4 |
cd /var/vhost/neco1.local mkdir etc cd etc vi vhttpd.conf |
上記の設定ファイル(vhttpd.conf)に記述する内容
1 2 3 4 5 6 7 8 9 10 11 |
DocumentRoot /var/vhost/neco1.local/htdocs DirectoryIndex index.php index.html AddDefaultCharset Off <Directory /var/vhost/neco1.local/htdocs> AllowOverride All order allow,deny allow from all </Directory> |
neco2.local用の設定
操作
1 2 3 4 |
cd /var/vhost/neco2.local mkdir etc cd etc vi vhttpd.conf |
上記の設定ファイル(vhttpd.conf)に記述する内容
1 2 3 4 5 6 7 8 9 10 11 |
DocumentRoot /var/vhost/neco2.local/htdocs DirectoryIndex index.php index.html AddDefaultCharset Off <Directory /var/vhost/neco2.local/htdocs> AllowOverride All order allow,deny allow from all </Directory> |