I would have said the same regarding /tmp as Matt.
Regarding where to place the data directory: do you mean with
[root]/data
the same as
/data ?
As you mentioned you already tried it with a folder in [root]/data I suspect that it's not the same. But Elgg needs the full path to the data directory and therefore it won't work to enter /data/ in the input field for the data directory when [root] stands for a filepath that is part of the full path. You would need to provide this part of the path to the data directory, too.
I'm not sure about the [root]/public_html/data/ location to be used as data directory. Normally the public_html folder would the document root folder of your domain. But maybe Bluehost uses some unconventional configuration on their servers that would make for example [root]/public_html/corballis/ to the document root. Nonetheless, [root]/public_html/data/ seems not the right place to create the data directory to me as you should create it outside the document root tree in any case.
If you fail to get it working I would suggest to ask Bluehost where you are able to create a directory outside the document root directory of your domain. They should know best - at least better than anyone here who is not informed about any specific Bluehost server settings. If you create the directory via a administration backend of your webspace where [root] is used as a placeholder you could ask the hoster support what [root] is a placeholder for to be able to enter the correct full path to the data directory in Elgg. Also, I would ask them if they use the open_basedir directive in their server configuration. If this is the case - and the path to the data directory is not included in the list of allowed directories of this directive, the access to this data directory will fail.
Thankls for the replies everyone. Your suggestions set me off down the right path (please excuse the pun). I am posting here in case anyone else with a Bluehost account encounters the same issue as me. The issue is that the full path to your installation is not revealed in the Advanced Settings or in the Simple Scripts information. The actual path to an installation takes the form:
/home#/username/public_html/domainname/
... if, like me, your domain is an addon domain name, where:
You can find the absolute path by going to your main cPanel page and scrolling to the bottom left, then clicking on expand stats. (there are also instructions here)
So, in my case I had to expand [root] to the right value and then ensure I had a /data/ directory as follows: [root]/public_html/data/ (because it is an add on domain - if it's your main domain then it would be [root]/data/). Oh, and I had to ensure I had 775 set as the access permissions.
I hope all of the above makes some kind of sense.
It all seems to be working now, but if that solution doesn't turn out to be right, I'll update here.
Quite why they do a default of /tmp/ when that would be inaccessible to me as a user is beyond me (inaccessible because it would be: home#/data/ and I can never access that directly myself.
Glad you go it working, however chances are public_html is accessible to anyone with an internet connection - you should not have your data directory there.
Try /home/[username]/elggdata/ or something
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by Raül Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.