Yggdrasil
McAtze
DearTanker
No it all depends on your host, server environment and many other things that I wish I knew.
I have install it on XAMPP on a windows machine running windows 10 and the latest version of XAMPP and accessing it through localhost and locahost/subfolder without any problems.
I have also install it on a virtual server on godaddy running centos 6 an CPANEL WHM on domain under the root of the main domain, sub folder and sub domain like so: domain.com, domain,com/forum, forum.domain.com
So no it doesn't need to be on a domains root folder.
Even though this is still a BETA release most problems have arise from the different types of server environments and PHP configurations.
With that said and like it is stated on the documentation and installation page this is a BETA release of Flarum not intended to be use on a live site is only for testing and if you want to use it for a live site USE IT AT YOUR OWN RISK.
Any issues at this point will not be solve immediately so you just have to wait and be patient.
Now because Flarum uses different packages/libraries like laravel and others, many of these libraries require certain PHP settings/modules/extensions to be either turn on or off.
As far as I know with the first beta in order to create the avatar when uploading an image you need to have ImageMagick install on your server and imagick for your PHP installation.
Also you need to have mcrypt which should already be on your PHP installation but if not install it or enable it through the PHP INI file.
Also make sure to have PDO and pdo_mysql installed and enable on your PHP INI file
The following extensions are also required to be installed and enable in your PHP INI file.
mbstring, openssl, json, gd, dom, fileinfo, tokenizer
Not all server environments are equal and not all share hosts will allow you to overwrite these settings or give you access to the PHP INI file.
So hopefully you're able to set your own environment and have access to install an enable these settings.
If you're still experiencing problems make sure your PHP configuration has the setting display_errors enable. To see whats going on with your server and why is it having a problem. That way you can give more information on whats going on.