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

Moodle - это учебная платформа с открытым исходным кодом или система управления курсами (CMS) - бесплатный программный пакет с открытым исходным кодом, предназначенный для помощи преподавателям в создании эффективных онлайн-курсов.

В этом руководстве рассматривается процесс установки Moodle 3.2.x на сервере CentOS 7.

Предпосылки

  • Экземпляр сервера CentOS 7 x64 с оперативной памятью не менее 2 ГБ (рекомендуется 4 ГБ или более).
  • Пользователь Sudo .
  • EPEL yum репозиторий.

Шаг 1: Обновите систему

Войдите на свой сервер через SSH, используя пользователя sudo для установки epel, обновления системы и перезапуска, чтобы применить обновления.

sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now

Шаг 2: Установите Apache

sudo yum install httpd -y

В производственном процессе вы должны удалить предварительно установленную страницу приветствия Apache:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Запретить Apache перечислять файлы веб-каталогов для посетителей:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Запустите службу Apache и включите автозапуск при загрузке

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Шаг 3: Установите MariaDB 10.x

Moodle хранит все свои данные в базе данных MySQL. MariaDB - это полная замена MySQL, и мы будем устанавливать последнюю стабильную версию MariaDB 10.1.

3.1 Построить репозиторий MariaDB 10.1 YUM

Чтобы создать репо-файл MariaDB 10.1 YUM, скопируйте приведенный ниже сегмент кода на консольную консоль SSH и нажмите Enterкнопку:

cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2017-01-14 03:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

3.2 Установите MariaDB 10.1 с помощью YUM

sudo yum install MariaDB-server MariaDB-client -y

3.3 Запустите сервис MariaDB и установите его как работающий при запуске системы

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.4 Безопасная установка MariaDB

sudo /usr/bin/mysql_secure_installation

Ответьте на вопросы, как показано ниже, и убедитесь, что вы используете надежный корневой пароль MariaDB вместо примера, показанного ниже:

  • Введите текущий пароль для root (введите no): просто нажмите Enterкнопку
  • Установить пароль root? [Y / N]:Y
  • Новый пароль: your-root-password
  • Повторно введите новый пароль: your-root-password
  • Удалить анонимных пользователей? [Y / N]:Y
  • Запретить root-вход удаленно? [Y / N]:Y
  • Удалить тестовую базу данных и получить к ней доступ? [Y / N]:Y
  • Перезагрузить таблицы привилегий сейчас? [Y / N]:Y

3.5 Создание базы данных MariaDB для Moodle

Войдите в оболочку MySQL как root:

mysql -u root -p

Введите пароль root MariaDB, который вы установили ранее при появлении запроса.

В оболочке MySQL создайте базу moodleданных, пользователя moodleuserбазы данных, пароль пользователя базы данных yourpasswordследующим образом.

Примечание. В целях безопасности вы должны заменить yourpasswordуказанный выше пример пароля своим собственным.

CREATE DATABASE moodle DEFAULT CHARACTER SET UTF8 COLLATE utf8_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Шаг 4: Установите PHP 7.1 и необходимые расширения PHP 7.1

Moodle также требует PHP. Для повышения производительности вы можете установить PHP 7.1 и несколько расширений PHP 7.1 следующим образом:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-soap php71w-gd php71w-xml php71w-intl php71w-mysqlnd php71w-cli php71w-mcrypt php71w-ldap -y

Шаг 5: Установите Moodle 3.2.1

5.1 Подготовьте программные файлы Moodle

На момент написания, последняя стабильная версия Moodle является Moodle 3.2.1. Скачайте и распакуйте Moodle 3.2.1архив следующим образом:

Примечание. URL-адрес последней стабильной версии Moodle всегда можно получить на официальной странице загрузки .

cd
wget https://download.moodle.org/download.php/direct/stable32/moodle-3.2.1.tgz
sudo tar -zxvf moodle-3.2.1.tgz -C /var/www/html
sudo chown -R root:root /var/www/html/moodle

5.2 Настройка отдельного каталога данных для Moodle

В целях безопасности этот каталог данных должен находиться вне корневого веб-каталога:

sudo mkdir /var/www/moodledata
sudo chown -R apache:apache /var/www/moodledata
sudo chmod -R 755 /var/www/moodledata

5.3 Настройка виртуального хоста для Moodle

Примечание: Не забудьте заменить значения ServerAdmin, ServerName, ServerAlias, Errorlog, и CustomLogс собственными.

cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/moodle/
ServerName moodle.example.com
ServerAlias www.moodle.example.com
<Directory /var/www/html/moodle/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/moodle.example.com-error_log
CustomLog /var/log/httpd/moodle.example.com-access_log common
</VirtualHost>
EOF

5.4 Установите Moodle из CLI

sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php

При появлении запроса предоставьте необходимую информацию в соответствии с вашими настройками. Сводная информация приведена ниже:

== Choose a language ==
en - English (en)
? - Available language packs
type value, press Enter to use default value (en)
: en
-------------------------------------------------------------------------------
== Data directories permission ==
type value, press Enter to use default value (2777)
: 2777
-------------------------------------------------------------------------------
== Web address ==
type value
: http://203.0.113.1
-------------------------------------------------------------------------------
== Data directory ==
type value, press Enter to use default value (/var/www/html/moodledata)
: /var/www/moodledata
-------------------------------------------------------------------------------
== Choose database driver ==
 mysqli
 mariadb
type value, press Enter to use default value (mysqli)
: mariadb
-------------------------------------------------------------------------------
== Database host ==
type value, press Enter to use default value (localhost)
: localhost
-------------------------------------------------------------------------------
== Database name ==
type value, press Enter to use default value (moodle)
: moodle
-------------------------------------------------------------------------------
== Tables prefix ==
type value, press Enter to use default value (mdl_)
: mdl_
-------------------------------------------------------------------------------
== Database port ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Unix socket ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Database user ==
type value, press Enter to use default value (root)
: moodleuser
-------------------------------------------------------------------------------
== Database password ==
type value
: yourpassword
-------------------------------------------------------------------------------
== Full site name ==
type value
: MY Moodle Site
-------------------------------------------------------------------------------
== Short name for site (eg single word) ==
type value
: moodle
-------------------------------------------------------------------------------
== Admin account username ==
type value, press Enter to use default value (admin)
: admin
-------------------------------------------------------------------------------
== New admin user password ==
type value
: your-admin-password
-------------------------------------------------------------------------------
== New admin user email address ==
type value, press Enter to use default value ()
: admin@example.com
-------------------------------------------------------------------------------
== Upgrade key (leave empty to not set it) ==
type value
:
-------------------------------------------------------------------------------
Have you read these conditions and understood them?
type y (means yes) or n (means no)
: y

5.5 Изменить разрешения для /var/www/html/config.php

После успешной установки Moodle вы должны разрешить apacheпользователю читать конфигурации Moodle, изменив права доступа, /var/www/html/config.phpкак показано ниже:

sudo chmod o+r /var/www/html/moodle/config.php

5.6 Настройка задания cron

Кроме того, в��м нужно настроить работу cron, чтобы Moodle работал правильно:

sudo crontab -u apache -e

Заполните файл cron с помощью:

* * * * *    /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null

Сохранить и выйти:

:wq!

5.7 Перезапустите Apache

Перезапустите Apache, чтобы применить все ваши модификации:

sudo systemctl restart httpd.service

5.8 Измените правила брандмауэра, чтобы разрешить доступ HTTP

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Наконец, укажите ваш веб-браузер, http://203.0.113.1чтобы посетить веб-сайт Moodle. Используйте логин и пароль администратора, которые вы установили ранее для входа в систему.

На этом мы завершаем наш урок. Спасибо за чтение.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше