Moodle – популярная система управления обучением с открытым исходным кодом (LMS), написанная на PHP. Она был создан, чтобы помочь педагогам легко создавать качественные онлайн-курсы. В этой статье мы покажем вам, как установить Moodle на CentOS 7.
Требования к Moodle
Чтобы запустить Moodle на вашем сервере CentOS 7, вам необходимо предварительно установить следующие требования:
- Веб-сервер: Apache> = 2.0, скомпилированный с модулем mod_rewrite, или Nginx
- PHP> = PHP 7.0 или выше рекомендуется с включенными расширениями PHP: intl, Zip, XMLRPC, Soap и opcache
- MySQL 5.5.31 или новее, MariaDB 5.5.31 или новее или PostgreSQL 9.3 или более поздней версии, установленный на вашем виртуальном сервере CentOS
- CentOS 7 VPS с включенным доступом root.
1. Вход через SSH
Войдите в свой CentOS 7 VPS через ssh как пользователь root
ssh roo@IP_Address -p Port_number
2. Обновите все пакеты
После входа на сервер выполните следующую команду, чтобы убедиться, что все установленные пакеты обновлены
yum clean all yum update
3. Установите стек LAMP
Как упоминается в разделе требований статьи, для запуска Moodle на сервере требуется стек LAMP (Apache, MySQL / MariaDB и PHP). Мы начнем с установки веб-сервера Apache
yum -y install httpd
Запустите веб-сервер Apache и включите его для запуска при загрузке сервера.
systemctl enable httpd
PHP-версия 7.1 недоступна в репозиториях CentOS 7 по умолчанию, поэтому мы будем использовать репозиторий Remi.
Для установки и включения репозиториев EPEL и Remi выполняются следующие команды:
yum install epel-release rpm -Uhv https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php71
Установите PHP 7.1 и все необходимые модули PHP, используя следующую команду:
yum install php php-common php-intl php-zip php-soap php-xmlrpc php-opcache php-mbstring php-gd php-curl php-mysql php-xml
Во время установки менеджер пакета yum предложит вам установить ключ подписи Reming GPG. Примите ключ, набрав «y», и менеджер пакетов установит все необходимые расширения PHP.
Чтобы завершить установку LAMP, установите сервер базы данных MariaDB, используя следующую команду:
yum -y install mariadb mariadb-server
Запустите службу MariaDB и настройте ее на перезагрузку
systemctl start mariadb systemctl enable mariadb
Запустите установочный скрипт mysql_secure_installation, предоставленный MariaDB, для повышения безопасности сервера базы данных и установки пароля root. Вы можете использовать следующие параметры:
Set root password? [Y/n] Y Remove anonymous users? [Y/n] 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
4. Установите Moodle на CentOS 7
Moodle недоступен в официальных репозиториях CentOS 7, поэтому нам нужно будет скачать последнюю стабильную версию с официальной страницы сайта по адресу https://download.moodle.org/releases/latest/ и извлечь архив Moodle в каталог на сервер, выполнив следующие команды:
cd /opt wget https://download.moodle.org/download.php/direct/stable35/moodle-latest-35.tgz -O moodle-latest.tgz tar -xvzf moodle-latest.tgz mv /opt/moodle/ /var/www/html/moodle/
Это создаст новый каталог с именем «moodle», содержащий необходимые файлы и каталоги.
Измените право собственности на каталог /var/www/html/:
chown -R apache:apache /var/www/html/
5. Настройте Apache для обслуживания Moodle
Создайте новый файл конфигурации Apache и добавьте следующее содержимое ниже в файл /etc/httpd/conf.d/moodle.conf с помощью vi или вашего любимого текстового редактора:
# vi /etc/httpd/conf.d/moodle.conf
Добавьте следующие строки:
<VirtualHost *:80>
ServerAdmin admin@your-domain.ru
DocumentRoot /var/www/html/moodle
ServerName your-domain.ru
ServerAlias www.your-domain.ru
Alias /moodle “/var/www/html/moodle/”
<Directory /var/www/html/moodle/>
Options +FollowSymlinks
AllowOverride All
</Directory>
ErrorLog /var/log/httpd/moodle-error_log
CustomLog /var/log/httpd/moodle-access_log common
</VirtualHost>
Сохраните изменения и перезапустите веб-сервер Apache, чтобы изменения вступили в силу:
systemctl restart httpd
6. Создайте базу данных MariaDB для Moodle
Войдите в MariaDB с учетной записью root:
# mysql -u root -p
Теперь мы создадим базу данных MariaDB для Moodle, используя следующий запрос:
mysql> CREATE DATABASE moodledb;
Добавьте отдельного пользователя для Moodle, который будет взаимодействовать с базой данных:
mysql> GRANT ALL PRIVILEGES ON moodledb.* to 'moodle'@'localhost' IDENTIFIED BY '5tr0ng_Pa55w0rd';
Выполните следующую команду, чтобы применить установленные нами привилегии:
mysql> FLUSH PRIVILEGES;
Теперь мы можем выйти из сеанса MariaDB:
mysql> quit
Измените файл конфигурации MariaDB (/etc/my.cnf.d/server.cnf) и добавьте следующие строки:
[client] default-character-set = utf8mb4 [mysqld] innodb_file_format = Barracuda innodb_file_per_table = 1 innodb_large_prefix character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci skip-character-set-client-handshake [mysql] default-character-set = utf8mb4
Перезапустите службу MariaDB, чтобы изменения вступили в силу.
service mariadb restart
Теперь вы можете открыть веб-браузер и получить доступ к приложению Moodle по адресу http://your-domain.ru.
Здесь вы можете завершить настройку, выполнив следующие шаги:
- Выберите язык для установки Moodle.
- Подтвердите адрес веб-сайта, каталог Moodle и каталог данных.
- Выберите драйвер базы данных (улучшенный MySQL или MariaDB).
- Введите настройки базы данных: localhost или 127.0.0.1 в качестве хоста базы данных, затем введите имя базы данных, имя пользователя, пароль, порт базы данных (3306), и как только вы заполнили форму, нажмите «Далее».
- Измените файл конфигурации /var/www/html/moodle/config.php и замените ‘mysqli’ на ‘mariadb’.
- Moodle будет проверять, чтобы ваш сервер соответствовал требованиям Moodle. Если все в порядке, нажмите «Далее».
- Введите имя пользователя, пароль и адрес электронной почты для учетной записи пользователя администратора.
- Полная регистрация на Moodle.net.moodle
Вот и все, теперь вы должны успешно установить Moodle на свой сервер CentOS 7.