やりたいこと
vagrantで作った仮想マシン(virtulbox)の設定をする。
基本、vagrantfileをいじって設定する。
環境
バージョンを書いてなかったので追記。
virtulbox 6.0.4
vagrant 2.2.4
centOS 7.6.1810
やったこと
ポートフォワード
以下の行のコメントを外す。
config.vm.network "forwarded_port", guest: 80, host: 8880
これでホストOSからも作成したページにアクセス出来るようになる。
(アドレスのlocalhostのあとに8880を追加する。)
共有フォルダの設定
ホストOSとゲストOSでファイルのやり取りをするようなことがあるかもしれないので、共有フォルダを作っておく。
config.vm.synced_folder "./data", "/vagrant"
書いてあるパスの前者がホストOS側、後者がゲストOS側の共有フォルダ。ホストOS側はvagrantfileがあるフォルダが基準になる。
設定後、dataフォルダにファイルを置いたら、無事ゲストOS側のvagrantフォルダに格納された。
試しにホストOS側で適当なテキストファイルを作ってみると、ゲストOSの共有先にも同じファイルが作成された。
これでコーディングはホストOSでやって、起動はゲストOSにしてもらう環境が整った。
起動時の設定
とりあえず仮想マシン起動時にApacheを自動起動シてほしいので、vagrantfileで設定。
一番下の方にあるprovisionを以下のように記載。
config.vm.provision "shell", run: "always", inline: <<-SHELL
sudo service httpd restart
# apt-get update
# apt-get install -y apache2
SHELL
vagrantの設定というより、起動した時に指定したshellを叩いてねって感じ。
ここの設定を使えば他にも自動で起動してほしいサービスなんかも追加できそう。
普通に仮想マシン側の設定を変えてもいいけど、vagrantfileで環境を簡単にコピーできるのがvagrantのいいところだと思っているので、共通の設定はなんでもvagrantfileに書いておこうという方針。
一通りの設定が出来たので、確認。
ホストOSの共有フォルダ直下に以下のファイルを作成。
<?php
phpinfo();
?>
これがルートディレクトから閲覧できるはずなので、[http://ローカルホスト/ファイル名]にアクセスして、phpinfoの画面が出ればOK
細かいところは抜いているけど、これでとりあえず開発環境の土台が出来た。
今度はPHPのフレームワークであるLaravelの導入がしたい。