Using FreeBSD 12.0 64-bit guest OS on a Windows 10 system.
The following packages were installed with pkg:
I created a shared folder and mounted it with mount_vboxvfs.
The shared folder was set as the root of Apache's documents.
From FreeBSD, I could easily add and edit files that would be served by the web server, Apache.
However, from the host OS side (Windows), there was an issue. I could create new files and those would be served properly. But when I edited a file, it did not update. A web browser displayed the old version. I noticed unusual behavior when trying to diagnose the issue.
Using index.html as an example:
* Editing from the guest OS worked and reloading the page in my browser showed the changes
* Editing from the host OS and reloading the page did *not* show the changes
From the guest OS, I tried:
1. cat index.html: This showed the changes but a page reload still did not show them
2. vi index.html: I could see the changes. I did not make further changes and quit without saving. Reloading the page showed the old version
3. nano index.html: Once again, I could see the new version. I closed without saving but this time, reloading the page *did* show the new version
I repeated this several times. Loading the page with nano (but not making changes or re-saving) always resulted in the web page being updated the next time I hit refresh in the browser. "cat" and "vi" did not affect anything.
So, there seems to be some problem. I suspect it has to do with the guest utilities because of the very strange behavior exhibited in the cat, vi, nano tests.
In addition there are other shortcomings such as truncated large directories and other annoying stuff. For that reason I am generally mounting shared folder through smbfs with the help of /etc/nsmb.conf. That works much better than vboxfs and specifically doesn't exhibit the described behaviour.
Of course smbfs requires SMBv1 enabled on the Windows host side and the folder must be shared appropriately, which might not be for everybody these days.