Прежде чем "катить бочку" на разработчиков системы, ознакомьтесь с основными параметрами конфигурации, хотя бы используя встроенную в Мудл справку или изучив образец файла config-dist.php, в котором написано:
// 4. DATA FILES LOCATION
//=============================================
// Now you need a place where Moodle can save uploaded files. This
// directory should be readable AND WRITEABLE by the web server user
// (usually 'nobody' or 'apache'), but it should not be accessible
// directly via the web.
То есть, каталог moodledata НЕ должен быть доступен через WEB, поэтому и получаете "нельзя тут создавать эту папку, защита не та ", Вы ж её пытаетесь засунуть в htdocs, где сам сайт находится.
То, что вписано по умолчанию - /var/www/localhost/datamoodle, и есть самый верный вариант. Настройте правильно права для него.
dataroot у всех может находиться где-угодно, хоть на другом ЖД, лишь бы Веб-сервер имел туда доступ с правами на чтение и запись. Так что примеры приводить бессмысленно.
Что касается file.php, то это просто скрипт РНР, посредством которого Мудл "отдает" файлы, к каталогам он никакого отношения не имеет.
все заточено под винду и влинуксе не работает - глупость несусветная, уж простите.
Имхо, у большей части пользователей этого форума сайты работают под *никсом (на хостинге, свой сервер) и никаких проблем.
По идее принцип рабооты такой Не такой, и разбираться в нем нет необходимости, если всё правильно настроить.
ЗЫ: Если в config.php написано так - wwwroot - http://mysait/moodle/, то это косяк (Do not include a trailing slash - не ставьте закрывающий слеш). И в dirroot его не должно быть.