vagrantでweb開発をするのに必要なtips

vagrantでweb開発する際のハマりどころがいくつかあります。

まず、vagrantでは/vagrantが共有フォルダの役割を果たして便利なわけですが。

そこに/var/www/htmlのシンボリックリンクをはると、mac側でプログラムを変更しながら、linuxサーバー上での挙動を色々と見れます。
macのお気に入りのエディタで、プログラムを編集して、それをlinuxサーバー上で動かし、随時変更していけるわけです。

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

でOKです。

これで/vagrant内のファイルを192.168.33.10というIPアドレスを使ってアクセスできます。

でめでたく、webサイトのテストができるようになるんですが、一つ問題点があります。
例えば、index.htmlを編集後、ブラウザをリロードしても全く反映されません。

これがわからなくてしばらくハマったのですが、これはvagrantの共有フォルダ/vagrantが外部ハードディスクのような扱いで、httpdがこのフォルダ内の更新を検知できないためです。ブラウザのキャッシュの問題ではないということです。懸命にブラウザのキャッシュを消して見たり、デベロッパーツールからdisable cacheをやったり、command+Rで更新しても、更新ボタンを長押しして「キャッシュのハード読み込みとキャッシュの消去」をしても意味がありません。サーバー側の問題なので。

httpd.confにキャッシュしない設定を追記する。(要再起動)

<Directory /var/www/html >
EnableMMAP Off
EnableSendfile Off
</Directory>

として、systemctl restart httpd
とすることで問題が解決できました。
よかったよかった。