Wendell has mentioned in several threads that running yunohost in a VM on FreeNAS is a great setup. My question is, what's the point? Why not just have yunohost or some other server OS running on its own machine? I have roughly zero knowledge of servers but I have successfully run an Ubuntu server on a local machine and made an admin page visible to the internet. So, I know nothing but have dug into it enough to be dangerously curious, haha.
You usually don't run servers bare metal any more these days, because you can snapshot appliances too easily. It's just another layer of time savings/security/convenience/redundancy.
FreeNAS is a decent choice, but certainly not the only choice. I personally prefer BSD only in a VM or on small NAS machines. The amount of data storage for everyday private use these days is growing quickly, and many users will outgrow solutions quickly, and will need to upgrade, in which case portability is also practical. FreeNAS, as it's BSD based, will require quite the investment in hardware to run smoothly in comparison to using linux as NAS operating system, but it will be able to handle higher storage capacity and provide a good level of performance and data security with just that initial system and initial file system.
There is nothing wrong though with running an all-linux solution though, that also has some benefits, especially if the memory requirements of FreeNAS are a bit heavy on the budget for home applications.
I've got a couple more questions you can probably answer...If you're running BSD in a VM, what's running the VM?
Would you run a website, on a server running in a VM on FreeNAS? Then one step further, what about backups? Should a user have a NAS completely dedicated to backups? I guess I'm in search of "best practices" in terms of both hardware and software for a n00b who wants to run a webserver, email server, owncloud, and also have backups of everything.
There is a large choice of hypervisors available. Xenserver is open source and high performance, and there are now also GUI management tools in the open source realm, and they're really good, in some aspects even better than the commercial tools by Citrix. For smaller deployments however, kvm/qemu works really great.
A httpd server will run on BSD or GNU/Linux. For web development, usually virtual httpd servers are set up per project, because they cost almost nothing. The system resource requirements of a httpd server, with the usual database and data storage that goes with it, are really low, so you can simply pop a server up for every development project. When httpd servers are deployed, you basically just have to transfer the appliance to a cloud server, where it also runs as a virtual machine. That's very easy and fast. It's not hard to transfer a bare metal server to a cloud appliance either, because both BSD and GNU/Linux are very transparent and portable, but it's definitely faster to transfer the overlay of the virtual appliance that was used for development.
Whether or not you need a NAS or SAN depends on your volume requirements and the degree of redundancy and data security you're after. There are so many solutions these days, some of which are nearly free. A lot of NAS functionality can be provided by your network router for instance. Even commercial routers provide NAS functionality these days, but the usual open source routers all offer NAS functionality (and even httpd functionality if you want). Then there is the option of running data backup and data checksum control on your main desktop machine with expanded storage peripherals or a cloud solution if you're a really small operation. That works great too, the system overhead is pretty small. Then there is the option to have a dedicated NAS, also something for smaller operations. There are commercially available devices, which generally work fine, and there are even very low cost solutions possible by hacking commercial platforms (nothing illegal, they use open source software so they have to live with that), for instance, you can unlock the full potential of the Debian operating system that comes on the cheap WD MyCloud and MyNAS devices. You then basically get WD red HDD's plus a Marvell SoC running Debian for the price of just the WD reds. There are also very cost effective solutions that you can build yourself with small SoC's, which cost nearly nothing to buy and operate. You can use those for NAS and/or a single httpd instance, but they won't run virtual machines of course, that requires beefier hardware.
I personally use a simple Octocore SoC-based NAS in an infinitely recycled rack enclosure at home, except for music, which runs off an unmodified WD MyCloud because I use commercial LAN-enabled audio products, and video, which runs off an unmodified WDTVLiveHub, because it integrates very well with the home theatre hardware. I don't have any office documents on any storage at home, the main storage on my NAS at home (which is now some 7.5 TB) are photos, of which I take a lot. All of my offices are connected to the same VPS, and in the head office, there is a SAN that deals with all storage for all offices. With video production, audio production, graphics design, web development and software development on the one hand, and traditional office documents on the other hand, that's quite a big storage unit. It's a mainstream commercial SAN solution that runs GNU/Linux, and has proven reliable and long term beneficial, but it's not something that is remotely worth it for SOHO applications, because it's expensive to buy and to keep. It's not an up front investment in my opinion. Most companies will probably do just fine starting out with a NAS that's not too expensive but still provides redundancy and data security. The only application I can think of that really would benefit from a SAN is high value video production. Small companies that are into that, and it's a bit of a growing business, so it's not uncommon, should really invest in a serious data storage solution with some oomph to it, and that is a SAN rather than a NAS, because you'll run out of slots on those backplanes before you know it with 4/8k video data.
An Owncloud install through the image or the Debian script, will not provide you with everything you need for data backup and data security. Owncloud can run in a VM on a standard desktop type machine, it's actually designed to run bare metal on a spare machine. I don't really fancy the idea of a desktop machine doing server duty. The hardware is just not made for that. I still think you're always better off making a dedicated low budget server with redundant power and some safety measures. Ideally, that would be a headless low power machine. Those can be had for very little money. Low power Xeons will easily provide you with several httpd appliances without too much investment in hardware, and it's a nice all purpose solution that is made to last and run 24/7. I personally like to have everything as separate as possible without causing unnecessary overhead. I like a separate NAS/SAN, a separate router, a separate virtualization server, etc... because if something breaks, you can probably wing the relating functionality with everything else you have and not lose more than a couple of minutes of production. When you combine functions, if something breaks, you're dead in the water.