оригинальная версия версия для слабовидящих контрастная версия выключить изображения включить изображения RSS FEED K2 NEWS
Среда, 05 Март 2025 09:51

Moodle на OrangePi

Одноплатные компьютеры они как маленькие игрушки, с которыми, как только наиграешься — забываешь про них и оправляешь в ящик на долгий срок. Вот и OrangePi также, если к делу какому не привяжешь сразу, то и эту (весьма не дешёвую так то) игрушку, будет ожидать такая же судьба.

Moodle на Orangepi

Что, в качестве практического примера, может развернуть человек, деятельность которого если уж не полностью погружена в обучение, то как минимум очень сильно это самое обучение касается? Правильно — платформу для обучения. Самой популярной в мире для этих задач используется CMS Moodle, вот её мы и развернём на нашем апельсине.

В прошлый раз (здесь) мы разворачивали Nginx и СУБД Mariadb, против неё ничего не имею, но в качестве эксперимента поставлю ещё PostgreSql.

Нам ещё понадобится образ Moodle, но это позже. Первое, надо понимать «где» и «как» Moodle будет загружаться, так как я не хочу заморачиваться с доменами, а на апельсине в будущем планирую разворачивать и другие продукты, то лезть с настройками в /etc/hosts у меня нет абсолютно никакого желания. По этой причине, я создам на «localhost» отдельно папку moodle. Но в боевом режиме, так делать, конечно же не надо. Этот moodle ставится скорее «для себя любимого», нежели с целью дальнейшего переноса на удалённый сервер.

Для начала определимся с тем, что нам дано, а дан нам настроенный на апельсине веб-сервер Nginx с Mariadb, и перейдя по IP-адресу апельсина в браузере должно быть что-то похожее на это:

Теперь цель в том, чтобы по IP/moodle выводилась CMS Moodle (установленная и настроенная для работы). По умолчанию папка с файлами localhost находится по адресу /var/www/html/ соответственно если выполнить следующую команду:

sudo mkdir /var/www/html/moodle

sudo chown $USER /var/www/html/moodle

А далее ещё, что-то вроде такого:

cd /var/www/html/moodle

echo "ТестПривет" > test.htm

И можно проверить: IP/moodle/test.htm

Если вместо привычного «Привет» вы увидите какие-то кракозёбры, не удивляйтесь, кодировки не настроены. Но главное что работает, а вот если ошибка 404 или какая-то другая, значит что-то сделано было не так.

Следующим шагом можно сделать так:

cd ..

rm moodle/test.htm

sudo rm -rf moodle/

Они нам больше не понадобится, а взамен загрузить файлы moodle, на официальном сайте кстати расписано, как устанавливать на Ubuntu через git, здесь:

https://docs.moodle.org/405/en/Installation_on_Ubuntu_using_Git

И в общем-то велосипед изобретать не вижу смысла, ах ну да, там же на английском всё. Ну ладно, тогда по порядку кстати, кроме смены владельца (chown) будет не лишним права на папку прописать, в общем поэтапно… Здесь кстати важно, всякий раз когда работаете с апельсином, начинайте сеанс с команды:

sudo apt update && sudo apt upgrade

Многие брезгуют, а зря. Продолжим:

sudo apt update

Git не всегда установлен по умолчанию, поэтому, далее:

sudo apt install git git-core git-doc

Далее, если Вы ещё не установили php, то:

sudo apt install php php-fpm

На моём апельсине установлена версия 8.1, чтобы посмотреть установленную версию, воспользуйтесь командой:

php -v

Соответственно, далее:

sudo apt install php-gd php-curl php-intl php-xmlrpc php-json php-zip php-soap php-mbstring

В туториале мудл ещё mysql сервер предлагают установить, но ранее в обзоре мы ставили Mariadb (и я всё-таки собираюсь ставить на PostgreSql), но если по какой-то причине Вам MySql более симпатичен, Ваше право можете поставить его.

Далее, как в туториале:

sudo git clone https://github.com/moodle/moodle.git

Ждём загрузку, после:

sudo chown -R $USER:$USER moodle

sudo chmod 0777 moodle

cd moodle

sudo mkdir /var/www/moodledata

sudo chmod 0777 /var/www/moodledata

Теперь откройте в браузере И можно проверить: IP/moodle/

Должно получиться, как-то так:

В туториале moodl’а каталог данных устанавливается по пути var/moodledata, при установке системы в пути по умолчанию, фигурирует каталог www (вообще это логично, поскольку доступ к каталогу var на удалённом сервере иногда могут и не дать вовсе, ограничив пользователя содержимым каталога www), поэтому мы изначально и создавали каталог moodledata в www.

Далее мы переходим к базе данных, как я уже писал, достаточно для работы Mariadb или Mysql, но с недавних пор для меня стало актуальным уметь работать с PostgreSql, поэтому я эту СУБД внедряю, где только возможно и невозможно. Вам моя печаль, вероятно, неведома, поэтому оставьте, например, Mariadb. Если же тоже решили поставить PostgreSql, то её можно установить следующей командой:

sudo apt install postgresql postgresql-contrib

И также расширение, для php:

sudo apt install php-pgsql

Далее

На этом моменте нам придётся вернуться в терминал апельсина и выполнить следующие действия:

sudo su - postgres

psql

в консоли psql:

CREATE USER moodle WITH PASSWORD 'password';
CREATE DATABASE moodle;
GRANT ALL PRIVILEGES ON DATABASE moodle to moodle;
\q

Где пароль Вы указываете свой и постарайтесь его не забыть. Далее:

exit

Возвращаемся в браузер:

Соглашаемся с авторскими правами. Далее идёт проверка всех настроек и есть вероятность того, что у Вас тоже будет вот так:

Нам говорят, что надо изменить значение max_input_vars на не менее 5000. Мы снова отправляемся в терминал orangepi, где вводим:

sudo nano /etc/php/8.1/fpm/php.ini

Обратите внимание, версия php у Вас может отличаться. Меняем:

На:

Сохраняем (Ctrl+S) и выходим из nano (Ctrl+X). Перезапускаем fpm (не забываем про версию):

sudo systemctl restart php8.1-fpm

Сертификат настраивать я в этот раз не буду, не критичное требование, двигаемся дальше. После нас ждёт целая простыня текста, устанавливаемых модулей (и времени, которое потребовалось на их установку).

Нажимаем продолжить, и вот здесь нас ждёт неприятный момент.

Стили «поплыли», к сожалению, прямо сейчас мы ничего с этим не можем поделать, придётся оформлять учётную запись админа именно в таком виде, но дальше, мы это обязательно исправим. После того, как разобрались с профилем администратора, будет предложено назвать сам сайт Moodle, далее указать почту тех-поддержки. И буквально сразу же после этого будет страница, где наверху будет панель «Перейти к основному содержанию», а ниже её вот такая перечень:

Нас отсюда интересует «Администрирование»:

«Сервер»:

«HTTP»:

Использовать «slash arguments» — убираем галочку с "Да". И нажимаем на «Сохранить изменения». На этом моменте установку «Чистого Moodle» (без контента и дизайна) на OrangePi можно считать законченной.

Спонсоры: