VagrantBoxを作りっぱなしでほったらかしな仮想環境を維持してきたのですが、今更ながらVirtualHostの設定をしました。
vagrant-hostupdaterのインストール(sudoまたはroot権限が必要かもです)vagrant plugin install vagrant-hostsupdater
Vagrantfileの編集
ファイルの末尾に以下のような記述を追加。
# vagrant-hostupdater
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.hostname = "localdev"
config.hostsupdater.aliases = ["dev", "hoge"]
hostnameとaliasは自由に設定してください。aliasは後でapacheのconfファイルで利用します。ドメイン名といったところでしょうか。
設定が終わったらvagrantを起動するなり再起動するなりしてください。
ターミナルで/private/etc/hostsを見るか、Hostsをインストールしている方はHostsを見ると自動でHostが設定されているのを確認できると思います。
VPSで手馴れている人もいるかと思います。同じ手順です。
/etc/httpd/confのhttpd.confの#NameVirtualHost *:80
の#を外してコメントアウトしてください。
viまたはvimでhttpd.confを開いて/NameVとか打ってenter押してnを数回たたいたとこにあるやつです。
そのままhttpd.confにバーチャルホストの設定をかいてもいいのですが、/etc/httpd/conf.dに設定をまとめることにします。
aliasesにdevとhogeを設定したのでそれぞれ設定ファイルを作成します。
/etc/httpd/conf.d/dev.conf
<VirtualHost *:80>
ServerName dev
ServerAdmin localhost
DocumentRoot /var/www/html/dev
<Directory "/var/www/html/dev">
AllowOverride All
</Directory>
</VirtualHost>
/etc/httpd/conf.d/hoge.conf
<VirtualHost *:80>
ServerName hoge
ServerAdmin localhost
DocumentRoot /var/www/html/hoge
<Directory "/var/www/html/hoge">
AllowOverride All
</Directory>
</VirtualHost>
ログファイルの出力先は省略します。(省略するとデフォルトの出力先になります。)
/var/www/htmlは共有フォルダとかシンボリックリンクとかVagrantの厄介なやつです。各自の環境に合わせてください。
ブラウザでdev/とhoge/それぞれ表示できればOKです。
もっと早くやっておけよと自分を責めました(´・ω・`)
関連書籍