I just ran into this problem myself on a client's server. It's possible that the dataroot specified in the config.php file on your new server has a symlink in it. I'm going to fix it for the next releases, but the best workaround is to change the directory specified in the $cfg->dataroot line in config.php so that it doesn't include any symlinks.
The other, less secure workaround is to add the line
$cfg->insecuredataroot = true;]]>
I'm actually experiencing a very similar problem since we migrated to a new server. Users can upload files, but there is a problem trying to download a file once in Mahara. The error message we get is "Access Denied. You do not have access to view this page". Any ideas? I tried to follow the response to this post and while I have access to the server, I'm an instructional technologist not a systems and network admin, so I want to be sure I'm accessing the proper files before I make a change. Any help would be greatly appreciated! Thanks, Lauren
]]>Maybe you could just produce some kind of error message in a future version and/or make it more explicit in the installation notes, though maybe I didn't read them well enough ;)
Btw. I manged the Moodle integration too an hour ago. So Mahara can be installed by most anyone in a few hours, even if things go wrong. All one needs is some reading/asking skills and a little bit of help from here :)
If you want to allow it to work with a symlink, you can set $cfg->insecuredataroot = true; in your config.php.
]]>PHP has some functions to deal with resolving symlinks in paths, like realpath iirc.
Anyway, glad it's working now :)
Never met that before (and in my life I installed dozens of portals). Indeed I had:
$cfg->dataroot = '/data/portails/mahara/mahara_data';
Fixed the path to:
$cfg->dataroot = '/export/data/portails/mahara/mahara_data';
I wouldn't call symbolic links "weird". I mean, in a Unix system you use these all the time and the OS itself also. I thought that php would just use "normal" file access ;)
So indeeed I have this at the root directory:
lrwxrwxrwx 1 root root 12 2009-08-23 23:37 data -> /export/data
]]>
For some reason Mahara thinks that the file you're trying to serve is not inside its dataroot.
Are you using symbolic links or anything else weird like that?