Установка Moodle на свой сервер
Установка Moodle на свой сервер собирается из привычных частей: веб-сервер, PHP, база данных и отдельный каталог moodledata для файлов, а запускается всё мастером в браузере. Moodle это система дистанционного обучения: курсы, тесты, задания и оценки в одном месте. Если нужен более лёгкий вариант, на том же стеке работает Chamilo.
Ответ за 30 секунд
Для учебного сайта на несколько десятков студентов хватит сервера с 2 ядрами и 4 ГБ памяти, а проще всего взять Moodle из маркетплейса: на 14 октября 2026 его поставили оттуда 48 раз. Не пропустите две вещи: каталог moodledata должен лежать вне корня сайта, а cron должен запускаться каждую минуту, иначе не уходят письма и не выполняются фоновые задачи.
Маркетплейс разворачивает Moodle при создании сервера, останется подключить домен и создать первый курс.
Сколько памяти, диска и какая база нужны Moodle512 МБминимум памяти по документации
5 ГБреалистичный минимум диска
48установок из маркетплейса на 14.10
01 · 1 мин
Для чего нужен Moodle и чем его заменяет Chamilo#
Moodle строит обучение вокруг курсов: преподаватель выкладывает материалы, ставит задания и тесты, а система сама проверяет часть ответов и ведёт журнал оценок. Для компании это адаптация новичков и обязательные инструктажи, для школы или вуза полноценный электронный деканат.
| Moodle | Chamilo | |
|---|---|---|
| Устройство | PHP и база данных, плагины и темы | PHP и база данных, тот же стек |
| Размер | Много возможностей, много настроек | Проще интерфейс, быстрее разобраться |
| Расширения | Большой каталог плагинов и тем | Каталог заметно меньше |
| Подходит | Школа, вуз, учебный центр, крупная компания | Небольшой учебный центр, курсы внутри фирмы |
Вебинары можно проводить прямо из курса: Moodle умеет подключать BigBlueButton, а для коротких созвонов хватит Jitsi Meet по ссылке.
Инструмент · 1 мин
Сколько памяти, диска и какая база нужны Moodle#
| Параметр | Минимум по документации | Рекомендуется |
|---|---|---|
| Процессор | 1 ГГц | Двухъядерный от 2 ГГц |
| Память | 512 МБ | 1 ГБ и больше, для крупного сайта 8 ГБ и больше |
| Диск | Около 200 МБ под код плюс место под файлы | 5 ГБ документация называет реалистичным минимумом |
| База данных | PostgreSQL, MySQL, MariaDB или MSSQL | |
Версию PHP и минимальные версии базы вы найдёте в примечаниях к выпуску нужной ветки на moodledev.io, они меняются от выпуска к выпуску. Установщик показывает экран проверки сервера и сообщает, каких версий и расширений PHP не хватает. Для базы подойдут PostgreSQL или MariaDB; MySQL тоже в списке.
Документация говорит о минимуме, а настоящую нагрузку создают студенты, которые одновременно открывают курсы и сдают тесты. Для старта хватит MSK Ultra 50 (2 ядра, 4 ГБ, 50 ГБ NVMe) за 5 480 ₽ в месяц на 14 октября 2026. Если занятия начинаются у всей группы в одно время, расчёт ниже поднимет конфигурацию.
Какой сервер взять под Moodle
Три ответа, и калькулятор подберёт готовую конфигурацию
03 · 1 мин
Установка Moodle на Ubuntu и Debian по шагам#
- Поставьте веб-сервер, PHP и базу. Команда ниже берёт Apache и MariaDB, расширения PHP добавляйте по подсказкам экрана проверки.
- Создайте базу в кодировке utf8mb4 и отдельного пользователя только для неё.
- Получите код Moodle из git, выбрав стабильную ветку нужной версии.
- Создайте каталог moodledata за пределами корня сайта и отдайте его пользователю веб-сервера.
- Запустите установщик: консольный вариант задаёт вопросы про адрес сайта, базу и учётную запись администратора, а то же самое делает мастер в браузере.
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-curl php-gd \
php-intl php-mbstring php-xml php-zip php-soap git
sudo mysql -e "CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; \
CREATE USER 'moodle'@'localhost' IDENTIFIED BY 'длинный_пароль'; \
GRANT ALL ON moodle.* TO 'moodle'@'localhost';"
sudo git clone --branch MOODLE_501_STABLE --depth 1 https://github.com/moodle/moodle.git /var/www/moodle
sudo mkdir /var/moodledata && sudo chown www-data /var/moodledata
sudo -u www-data php /var/www/moodle/admin/cli/install.php
Для каталога moodledata документация требует доступ на запись со стороны веб-сервера и размещение вне зоны, доступной из интернета: там лежат загруженные файлы, кэш и сессии. Windows Server Moodle тоже поддерживает, но на Linux весь стек и cron настраиваются проще.
Docker для Moodle собирают сторонние авторы, образы различаются версией PHP и расположением данных. Если берёте образ, проверьте три вещи: moodledata и база вынесены в тома, cron запускается отдельной задачей, а версия Moodle соответствует нужной ветке.
04 · 1 мин
HTTPS, cron и письма в установленном Moodle#
Адрес сайта Moodle запоминает в файле config.php как wwwroot, и менять его после выпуска сертификата придётся вручную. Поэтому сначала получите сертификат через Certbot или поставьте перед Moodle Nginx, а затем указывайте адрес с https. Если HTTPS принимает прокси, а Moodle работает за ним по HTTP, добавьте в config.php строку $CFG->sslproxy = true;.
Фоновые задачи Moodle запускает cron, и документация считает его обязательным: без него не уходят письма с форумов, не создаются резервные копии курсов, не рассылаются уведомления. Добавьте для пользователя веб-сервера строку, которая выполняет файл admin/cli/cron.php раз в минуту.
* * * * * /usr/bin/php /var/www/moodle/admin/cli/cron.php > /dev/null
Письма студентам настраиваются в разделе исходящей почты администрирования сайта. Прямая отправка с IP сервера нередко заканчивается спамом, подробности о записях и репутации есть на странице self hosted mail.
Темы и плагины
Тему ставят из архива в разделе плагинов администрирования: загрузите ZIP, и Moodle проверит его и доустановит. Другой путь: положите каталог темы в theme внутри папки Moodle и откройте страницу уведомлений администратора, чтобы завершить установку.
05 · 1 мин
Резервные копии и обновление Moodle#
Сохранять нужно три вещи: дамп базы, каталог moodledata и файл config.php. Встроенное резервное копирование курсов хранит архивы в том же moodledata на том же диске, поэтому оно не заменяет копию на другом сервере. Схемы выгрузки описаны в разборе сервер для бэкапов.
Обновление внутри ветки идёт командой git pull в каталоге Moodle, переход на новую ветку делается переключением на неё в git. После смены кода запускают php admin/cli/upgrade.php, а на время работ включают режим обслуживания командой php admin/cli/maintenance.php --enable. Прогоните эту процедуру на копии сервера до того, как трогать учебный сайт со студентами.
06 · 1 мин
Вопросы об установке Moodle#
Сколько ресурсов нужно Moodle по документации?
Минимум 512 МБ памяти и процессор 1 ГГц, рекомендуется 1 ГБ и больше и двухъядерный процессор от 2 ГГц. Диск: около 200 МБ под код и 5 ГБ как реалистичный минимум под файлы.
Как развернуть Moodle на сервере с нуля?
Поставить веб-сервер, PHP и базу, создать базу в utf8mb4, получить код из git, создать moodledata вне корня сайта и запустить установщик: admin/cli/install.php из консоли или мастер в браузере.
Как установить тему в Moodle?
В администрировании сайта откройте раздел плагинов, загрузите ZIP-архив темы и подтвердите установку. Либо положите каталог темы в папку theme и завершите установку на странице уведомлений.
Зачем Moodle нужен cron и как часто его запускать?
Cron выполняет фоновые задачи: письма форумов, уведомления, резервные копии курсов. Документация считает его обязательным, запускать файл admin/cli/cron.php принято раз в минуту.
Moodle или Chamilo: что выбрать для небольшого учебного центра?
Chamilo проще в освоении и работает на том же стеке PHP и базы. Moodle берут, когда нужны тесты со сложной логикой, плагины и интеграции, у него больше настроек и шире каталог расширений.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Реестр контейнеров Таймвеб Клауд, timeweb.cloud/services/container-registry, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026.
Установите приложение без консоли
Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.
- Docker, n8n, OpenClaw, GitLab, Nextcloud
- Ставится при создании сервера
- Почасовая оплата сервера
- Root-доступ остаётся у вас