Как установить Moodle на CentOS 7. Создайте свою площадку обучения

Обновлено 13.05.2016

Как установить Moodle на CentOS 7

Всем привет сегодня расскажу как установить Moodle на CentOS 7. Поговорим что такое Moodle и как он вам может помочь в повседневной жизни. Полезно будет прочитать эту статью людям которые планируют вести удаленное обучение.

Что такое Moodle

Если говорить совсем просто то это некий каркас или как правильно выражаться CMS, на котором создается площадка для дистанционного обучения, по сути вебинар комнаты, где ученики подсоединяются через интернет, а учитель им начинает вести урок.

Moodle возможность применения

  • Это конечно дистанционка учителя и учения, где они в принципе могут вообще в жизни не увидеться, но каждый получит что нужно.
  • Организации проводящие семинары
  • Институты и различного рода Учебные центры

Возможности Moodle

  •  Выбор удобного расписания для ученика
  • Экономию времени и денег - отпадает необходимость тратить время и деньги на учебные занятия
  • Индивидуализацию обучения
  • Удобный и понятный интерфейс

Как установить Moodle

Установить Moodle можно как на Linux так и на Windows платформу, но правильнее было бы все же использовать Linux. В моем примере это будет CentOS 7. Первым делом вы должны установить CentOS 7. Следующим шагом, вам необходимо в CentOS настроить сеть. После чего, как произведена настройка сети, систему следует обновить, так как уверен что с выхода вашего установочного прошло время и появились исправления, посмотреть процесс обновления можно в статье Как обновить CentOS.

Установка Apache

Первым делом после подготовительного стенда идет установка Apache, делается это командой

yum install httpd -y

установка Apache

сам процесс установки займет пару минут, после чего нужно поставить Apache в автозагрузку вот такой командой:

systemctl enable httpd.service

(Если нужно убрать из автозагрузки то вместо enable пишем disable). Далее следуем запустить Apache
Apache:systemctl start httpd.service

Теперь попробуйте в браузере открыть в адресной строке ip адрес вашего сервера, у вас должна появиться вот такая вот страница, означающая, что Apache работает как нужно. и отвечает на 80 порт.

Проверка Apache

Если у вас не открывается данная страница, то вам нужно настроить firewall службу iptables CentOs 7.

Дополнительные команды Apache

остановить службу Apache

sudo systemctl stop httpd.service

Перезапустить службу Apache:
sudo systemctl restart httpd.service

Проверить статус Apache:
systemctl is-active httpd.service

Либо
systemctl status httpd.service

Если служба не запускается, то можно сделать тест командой, который покажет вам ошибки:
httpd -t

Установка PHP для Moodle

Следующим компонентом у нас будет php со своими модулями.

Устанавливаем php с модулями

sudo yum install php php-common php-mysql php-gd php-intl php-curl php-xmlrpc php-ldap php-apc php-mbstring php-dom php-soap -y

установка php

Узнать версию php

php -v

php версия

Перезапуск Apache

sudo systemctl restart httpd.service

Посмотреть все имеющиеся модули PHP

sudo yum search php-

подробная информация о конкретном модуле

sudo yum info php-pgsql

Вместо "php-pgsql" вводим название нужного модуля.

После установки нам нужно проверить как работает наш php, для этого создадим файл test.php

sudo vi /var/www/html/test.php

В него добавим следующие строки, нажимаем кнопку Insert и пишем

<?php
phpinfo(INFO_GENERAL);
?>

Нажимаем ESC и пишем :wq (Сохраняем и выходим)ю Открываем браузер и пишем в нем http://ваш ip/test.php. Должно открыться вот такое окно с версией php.

test php

Установка Базы данных MySQL (MariaDB)

В CentOS 7 перестали включать пакет MySQL, в место него просят ставить MariaDB. Если вы вместо MariaDB напишите mysql, поставится все равно MariaDB.

yum install mariadb-server mariadb -y

Запускаем службу MariaDB

sudo systemctl start mariadb.service

Устанавливаем автозагрузку MariaDB сервиса:
sudo systemctl enable mariadb.service

Дополнительные команды MariaDB

Остановка службы MariaDB

sudo systemctl stop mariadb.service

Перезапуск сервиса:

sudo systemctl restart mariadb.service

остановка сервиса:

sudo systemctl disable mariadb.service

Проверка статуса

sudo systemctl is-active mariadb.service

или
systemctl status mariadb

Мастер настройки MariaDB

Далее нужно запустить мастер настройки MariaDB

sudo /usr/bin/mysql_secure_installation

На первый вопрос Enter current password for root (enter for none), жмем просто enter пароля нет

Далее будет предложено придумать пароль root для доступа к службе MariaDB, задаем два раза.

На вопрос "Remove anonymous users?" отвечаем y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

настройка MariaDB

Войти в режим работы MySQL

mysql -u root -p

Список существующих БД

Show databases;

Чтобы выйти из режима MySQL (MariaDB) вводим quit. Далее требуется перезагрузить сервер командой reboot.

Следующим этапом будет создание базы данных для Moodle, создать в ней пользователя и дать ему там права. Из под него Moodle будет крутиться.

Запускаем режим работы MySQL

mysql -u root -p

  • moodledb имя базы данных
  • moodleuser имя пользователя
  • yourpassword пароль который вы зададите сами

Создаем базу:
CREATE DATABASE moodledb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Создаем пользователя, указываем ему пароль и даем привилегии на созданную базу:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES, DROP,INDEX,ALTER ON moodledb.* TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
EXIT

Перезагружаем службу (вводим пароль root который задавали ранее)

mysqladmin -p reload

Скачивание и установка Moodle

Перед установкой Moodle, доставим сразу все необходимые модули

yum install setuptool system-config-securitylevel-tui authconfig system-config-network-tui ntsysv -y

Если вы сейчас введете команду setup, то у вас будет возможность через графмческий режим настроить метод аутентификации и firewall

firewall centos

firewall centos-2

Теперь скачаем утилиту wget

yum install wget -y

Далее перейдем в папку закачки Moodle

cd /usr/src/

теперь выясним какая версия Moodle сейчас последняя и стабильная, сделать это можно на официальном сайте http://download.moodle.org/
Как видите на момент написания статьи это 2.9.3

Теперь скачиваем архив
wget https://download.moodle.org/download.php/stable29/moodle-2.9.3.tgz

Архив у вас сохранится в данной папке, посмотреть что он там можно командой ls. Далее нужно его распаковать

tar -zxvf moodle-2.9.3.tgz

распаковка moodle

Теперь вырезаем распакованную папку в каталог /var/www/html/

mv /usr/src/moodle /var/www/html/

Устанавливаем права на папку для службы Apache:

chown -R apache:apache /var/www/html/moodle/

Далее создаем папки для хранения данных Moodle. Она должна быть не доступна из веб и располагаться вне директории /var/www/html/:

mkdir /var/moodle
mkdir /var/moodle/data

Задаем владельца и права на папку:

chown -R apache:apache /var/moodle
chmod -R 755 /var/moodle

Создаем конфиг файл для соединения с БД config.php, основываясь на файле config-dist.php.

Для этого переходим в каталог Moodle:

cd /var/www/html/moodle/

Делаем копию файла config-dist.php:
cp config-dist.php config.php
config.php
Редактируем config.php и ставим свои данные, указываем название своей БД, логина юзера и его пароль, все это мы создавали выше.
$CFG->dbtype = 'mariadb'; // 'pgsql', 'mariadb', 'mysqli', 'mssql', 'sqlsrv' or 'oci'
$CFG->dbname = 'moodle'; // database name, eg moodle
$CFG->dbuser = 'username'; // your database username
$CFG->dbpass = 'password'; // your database password
Редактируем config.php-1
Также настраиваем параметр URL адреса для доступа к Moodle (указываем либо домен, либо IP адрес):
$CFG->wwwroot = 'http://ваш ip/moodle';Указываем путь к каталогу с данными:
$CFG->dataroot = '/var/moodle/data';
Редактируем config.php-2
Если все сделали правильно, то обратившись по адресу в браузере http://ваш ip/moodle у вас откроется мастер настройки
мастер настройки moodle
 Жмем Continue, теперь тут мастер установки проверит наличие установленных модулей, если чего то не будет, то вас попросят доставить
проверка компонентов moodle
Далее установятся нужные компоненты moodle.
начнется установка компонентов moodle
Заполняем поля учетной записи администратора
заполняем поля
Сохраняем настройки
update profile
Задаем часовой пояс
задаем часовой пояс
Указываем название сайта
задаем название сайта
Задаем короткое имя сайта
сохраняем настройки
Попадаем на главную страницу Moodle
главная страница сайта
Если в дальнейшем нужно иметь возможность устанавливать, например, темы из веб-интерфейса, то необходимо дать право записи на папку тем (также можно сделать это для папок плагинов):
chcon -R unconfined_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/moodle/theme
То же для папки типов вопросов (чтобы устанавливать дополнительные типы):
chcon -R unconfined_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/moodle/question/type
Для корректной работы Moodle также необходимо настроить периодический запуск специального файла - cron.php. Способы могут быть различные, например, такой (устанавливает запуск каждые 10 минут):
sudo crontab -eu apache
*/10 * * * * /usr/bin/php /path/to/your/moodle/cli/cron.php > /dev/null
Материал сайта pyatilistnik.org
Автор - Сёмин Иван

5 Responses to Как установить Moodle на CentOS 7. Создайте свою площадку обучения

  1. Razorvashka:

    Спасибо большое!

  2. Иван Семин:

    да всегда пожалуйста, рад помогать людям

  3. Артём:

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

  4. Иван Семин:

    Спасибо, я всегда все пробую сначала на себе, чтобы людям давать качественный контент.

  5. qupkbe:

    Инструкция рабочая, подтверждаю.
    Со своей стороны пару замечаний — чтобы упростить навигацию по файловой системе и избежать использования дурного редактора vi рекомендую установить файл менеджер Midnight Commander (yum -y install mc). Подключаться к серверу лучше через удаленный доступ (Putty), копируя и вставляя в консоль команды из мануала.
    Для установки moodle начиная с версии 3.2 требуется установка PHP более высокой версии, нежели имеющаяся в дистрибутиве. Нужен также и акселератор opcache.
    Также требуется изменить формат базы данных. Для этого перед созданием moodledb нужно внести изменения в /etc/my.cnf.d

    [mariadb]
    innodb_file_format=barracuda
    innodb-file-per-table=ON
    innodb-large-prefix=ON

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *