Виртуальные сервера или один основной могут быть настроены во многих местах и это долго описывать
проще всего сделайте так
1. В папке /etc/apache2 файл apache2.conf заменяем на оригинальный и его не трогаем
2. Папки sites-available и sites-enabled должны быть пустыми
3. В папке sites-enabled создаем файл moodle(см пример) или создаем этот файл в sites-available а в sites-enabled помещает ссылку на него
4. В файле /etc/apache2/ports.conf раскоментирована только одна директива
Listen 80 (все остальное можно закоментировать)
5. Убеждаемся, что в коневой директории сервера /var/www нет файла .htaccess (он может не отображаться при определенных настройках ftp клиента)
6. В config.php установлен ServerName http://адрес IP роутера
7. На роутере настраиваем отображение порта 80 на локальный адрес веб сервера
8.Для нас важны два значения. Так как у вас наверняка нет DNS имени дальше идет речь только о IP адресах.
192.168.0.10 - это пример адреса локального сетевого адаптера вашего сервера в локалке.
84.60.50.18 - это пример адреса вашего TP-Link 8840T роутера в сети Интернет
При такой настройке настройке сайт должен работать в интернете.
9.Потом создаем аналогичный файл moodle-local для работы сайта в локальной сети
и меняем в нем ServerName 84.60.50.18 на ServerName 192.168.0.10
(по идее должно заработать, но не факт потому что в config.php установлен ServerName http://адрес IP роутера,
но этот параметр влиять не должен)
Сайт должен открываться по набранным в браузере адресам
http://84.60.50.18 и
http://192.168.0.1010. Если у вас появится имя DNS, то оставляем один файл и меняем ServerName DNS имя
и настраиваем DNS сервер в локалке
Пример (очень простой) для корневой папки /var/www/moodle
Содержимое файла moodle
<VirtualHost 192.168.0.10:80>
ServerName 84.60.50.18
ServerSignature off
DocumentRoot /var/www/moodle
<Directory />
Options IncludesNoExec
AllowOverride All
DirectoryIndex index.php index.html index.htm
Order allow,deny
allow from all
</Directory>
<Directory /var/www/moodle>
Options IncludesNoExec
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.php index.html index.htm
Order allow,deny
allow from all
</Directory>
LogLevel warn
ErrorLog /var/log/apache2/moodle-error.log
CustomLog /var/log/apache2/moodle-access.log combined
</VirtualHost>