moodle не поддерживает конфигурацию с несколькими именами!! Используйте одно dns-имя, а в интранете правильно настройте локальный dns, чтобы при запросе на это имя внутри сети отдавался локальный IP. Ваши костыли для доступо по разным именам приведут рано или поздно к серьёзным проблемам.
При запуске из командной строки поле $_SERVER['HTTP_HOST'] оказывается пустым, так как туда подставляются данные, передаваемые веб-сервером, а при запуске через командную строку веб-сервер не участвует. Но можете попробовать
if (isset($_SERVER['HTTP_HOST'])) { $host = $_SERVER['HTTP_HOST']); } else { $host = 'сюда впишите одно из имён'; }
$CFG->wwwroot ="http://".$host;
unset($host);