Moodle 3.2 на Ubuntu 16.04

Moodle - система управления процессом обучения с открытым исходным кодом, написан на PHP, выпущен под GNU General Public License. Используется для дистанционного обучения, электронного обучения, смешанного обучения и аналогичных целей. Moodle является аббревиатурой от «Modular-object-oriented–dynamic leaning environment» (Модульно-объектно-ориентированно-динамическая обучающая среда), разработан Мартином Дугамасом, чтобы помочь педагогам и преподавателям создавать интерактивные курсы, направленные на взаимодействие и совместное развитие контента.

В этом руководстве: как построить собственный учебный центр с Moodle; установка и настройка Moodle на веб-сервере Nginx, базы данных MySQL и PHP-FPM 7 под операционной системой Ubuntu 16.04 (Xenial Xerus).

В этом руководстве:

Установка Nginx.

Установка и настройка PHP-FPM7.0.

Установка и настройка MySQL.

Загрузка и настройка Moodle.

Настройка SSL и Nginix Virtual Host.

Установка Moodle.

Тестирование.

 

Шаг 1 - Установка Nginx

В этом руководстве, Nginx используется в качестве веб-сервера для Moodle. Nginx доступен в репозитории Ubuntu.

apt-get install -y nginx

Когда установка завершена, запустить Nginx и включить его для автоматического запуска во время загрузки.

systemctl start Nginx
systemctl enable Nginx

Nginx будет запускаться на 80 порту, проверить, что порт открыт с командой ниже и убедиться, что Nginx использует 80 порт.

NetStat -plntu

 

Шаг 2 - Установка и настройка PHP-FPM7

Moodle основан на PHP, поэтому PHP должен быть установлен в системе. В этом руководстве будет использоваться PHP-FPM , потому что используется веб - сервер Nginx. Лучше всего использовать PHP-FPM7.0, он поддерживается версией « Moodle 3.2 stable ».

Для установки PHP-FPM7.0 и всех расширений, необходимых Moodle, выполним одну команду

sudo apt-get install -y graphviz aspell php7.0-fpm php7.0-cli php7.0-pspell php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-ldap php7.0-zip php7.0-json php7.0-opcache php7.0-readline php7.0-mbstring php7.0-soap

Когда установка всех пакетов завершена, перейти в директорию конфигурации PHP и отредактировать php.ini файлы.

cd /etc/php/7.0/

Редактировать FPM php.ini файл .

nano fpm/php.ini

Раскрыть строку ниже, и изменить значение на 0.

cgi.fix_pathinfo = 0

Сохранить php.ini и выйти из редактора.

Отредактировать файл cli php.ini.

nano cli/php.ini

Изменить значение на 0.

cgi.fix_pathinfo = 0

Сохранить файл и выйти.

Затем изменить файл конфигурации PHP-FPM www.conf.

nano fpm/pool.d/www.conf

Раскрыть security limit line и убедиться, что значение .php.

security.limit_extensions = .php

Сохранить файл и выйти из Vim.

Конфигурация PHP-FPM закончена. Теперь можно запустить PHP-FPM и добавить его для автоматического запуска во время загрузки.

systemctl enable php7.0-FPM
systemctl stat php7.0-FPM

По умолчанию, PHP-FPM на ubuntu обеспечит socket файл Nginx-у для подключения, надо убедиться, что есть результаты для socket PHP с помощью NETSTAT команды ниже.

NetStat -LX

 

Шаг 3 - Установка и настройка MySQL

В этом руководстве будет использоваться MySQL в качестве базы данных для Moodle (Moodle поддерживает MySQL и PostgreSQL); последняя версия MySQL , на данный момент 5.7,из репозитория Ubuntu.

Установка MySQL из репозитория Ubuntu с apt командой ниже.

apt-get install -y mysql-server mysql-client

Будет задан вопрос о root password, введите MySQL в требуемый MySQL oot password. Убедиться, чтобы использовался сложный и не слишком короткий пароль.

Введите пароль еще раз и нажмите «Enter».

MySQL был установлен с собственным root password.

Теперь нужно добавить новую конфигурацию для установки Moodle. Отредактировать файл конфигурации MySQL mysqld.cnf.

Перейти к /etc/MySQL/ и отредактировать файл «mysqld.cnf».

cd /etc/mysql/mysql.conf.d/
nano mysqld.conf

Под « [mysqld] линией», вставьте настройки ниже.

default_storage_engine = InnoDB
innodb_file_per_table = 1

innodb_file_format = Barracuda

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

Systemctl restart MySQL
systemctl enable MySQL

Теперь можно проверить MySQL; проверяя порт сервера

NetStat -plntu

 

MySQL был установлен и запущен, если мы видим порт 3306.

Далее нужно создать новую базу данных и нового пользователя базы данных для Moodle. Подключиться к серверу MySQL с помощью команды «mysql» ниже.

mysql -u root -p
ВСТАВЬТЕ СВОЙ
ROOT PASSWORD

Создать новую базу данных с именем « moodledb » и новый пользовательский « moodleuser » с паролем « hakaselabs123 » для установки moodle, а затем предоставить разрешения для пользователя базы данных. Конечно, необходимо использовать другой и безопасный пароль в установке.

Запуск MySQL запросов ниже.

CREATE DATABASE moodledb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'moodleuser' @ 'localhost' IDENTIFIED BY 'hakaselabs123';

GRANT ALL ON PRIVILEGES moodledb * TO 'moodleuser' @ 'localhost' IDENTIFIED BY 'hakaselabs123'.

FLUSH PROVOLEGES;

Новый пользователь и база данных для moodle созданы.

 

Шаг 4 - Загрузка и настройка Moodle

Сейчас необходимо загрузить modle из репозитория GitHub с git и выбрать стабильную версию branch.

Установить git с apt командой ниже.

apt-get install -y git

Перейти к «/ var / www/» директории и скопировать репозиторию moodle.

cd / var / WWW /
git clone https://github.com/moodle/moodle.git

Перейти к директории moodle и списку всех доступных branches.

сd moodle /
git branch -a

Появится длинный список moodle branch , отследить последнюю стабильную версию branch с командой ниже.

git branch --track MOODLE_32_STABLE origin/MOODLE_32_STABLE

Теперь перейти к последней стабильной версии branch с git проверкой.

Git checkout MOODLE_32_STABLE

Теперь в последней стабильной версии branch, можно использовать команду ниже, чтобы проверить версию.

Git status

Появятся результаты ниже.

On branch MOODLE_32_STABLE
Your branch is up-to-date with 'origin/MOODLE_32_STABLE'.
nothing to commit, working directory clean

Затем надо создать новую диреторию для данных Moodle « /var/ moodledata » и изменить owner и permissionsof директории.

mkdir /var/moodledata
chown -R www-data:www-data /var/moodledata
chmod 777 /var/moodledata

Изменить владельца и разрешения директории MOODLE www-data пользователя и группы.

chown -R www-data:www-data /var/www/moodle
chmod 755 /var/www/moodle

 

Предварительная настройка moodle выполнена.

Шаг 5 - Создание сертификата SSL и настройка Nginx Virtual Host

Нужно запустить Moodle с веб-сервером Nginx под соединение HTTPS. Если находитесь на включённом сервере, можно использовать свой собственный файл-сертификат или добавить свой собственный бесплатный сертификат из lets encrypt.

Создать новую директорию SSL и сгенерировать самоподписывающиеся файлы-сертификаты можно с помощью команды openssl ниже.

mkdir -p /etc/nginx/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/moodle.crt -keyout /etc/nginx/ssl/moodle.key

Изменить разрешение private key.

chmod 600 /etc/nginx/ssl/moodle.key

 

Так, есть директория конфигурации Nginx, нужно создать новый virtual host - файл для Moodle в «sites-available » директории.

cd /etc/nginx/
vim sites-available/moodle-hakaselabs

Вставить настройки virtual host Nginx ниже.

# PHP Upstream Handler
upstream php-handler {
server unix:/run/php/php7.0-fpm.sock;
}

#
Nginx redirect HTTP to HTTPS - moodle.hakase-labs.com
server {
listen 80;
server_name moodle.hakase-labs.com;
# enforce https
return 301 https://$server_name$request_uri;
}

#
HTTPS Configuration
server {
server_name moodle.hakase-labs.com;

listen *:443 ssl http2;
listen [::]:443 ssl http2;

# SSL Configuration
ssl on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_session_tickets off;
#ssl_stapling on;
#ssl_stapling_verify on;
resolver_timeout 5s;
ssl_certificate /etc/nginx/ssl/moodle.crt;
ssl_certificate_key /etc/nginx/ssl/moodle.key;

# Root Moodle Data DIrectory
root /var/www/moodle;
rewrite ^/(.*\.php)(/)(.*)$ /$1?file=/$3 last;

location ^~ / {
try_files $uri $uri/ /index.php?q=$request_uri;
index index.php index.html index.htm;

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php-handler;
}
}
}

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

ln -s /etc/nginx/sites-available/moodle-hakaselabs /etc/nginx/sites-enabled/
nginx –t

Перезапустить веб-сервер Nginx.

systemctl restart Nginx

 

Файлы-сертификаты SSL были созданы и Nginix virtual host для Moodle настроен.

Шаг 6 - Установка Moodle

Требуется открыть веб-браузер и ввести в URL сервера в адресной строке и нажать «Enter». В этом руководстве будет использовать свой собственный домен: moodle.hakase-labs.com .

Появится страница установки MOODLE.

Выбрать язык и нажать кнопку «Далее».

Корневая веб директория moodle /var/www/moodle и директория данных moodle /var/moodledata.

Затем нажать «Далее».

Настройка «Database diver», использовать сервер базы данных MySQL ниже и нажать « Далее ».

Введите информацию о базе данных для Moodle.

database host: localhost

database name: moodledb

database user: moodleuser

database password: hakaselabs123

tables prefix: moodle_

database port: 3306

Unix socket: /var/run/mysql/mysqld.sock

Нажать « Далее » , чтобы продолжить.

 

Принять Соглашение об авторских правах. Просто нажать «Продолжить».

 

System Checking(Система проверки) проверяет конфигурацию сервера и все PHP расширения, необходимые moodle.

Убедиться, что все результаты « OK » , а затем нажать « Продолжить » для установки.

 

Можно увидеть, что множество модулей получения установлены, убедиться, что все результаты « success ».

Нажмите «Продолжить» снова.

 

Далее нужно настроить пользователя-администратора и пароль администратора.

Заполнить информацию администратора и нажать « Update profile ».

 

Для «Front Page Setting », ввести в своей странице информацию и нажать «Save changes».

 

Произойдёт перенаправление на пользователя администратора «Dashboard» ниже.

 

Установка Moodle закончена.

Шаг 7 - Тестирование

Проверить домашнюю страницу moodle.

Moodle страница входа - /login.

Dashboard администратора moodle.

Страница настроек пользователя moodle.

Страница Администрации сайта moodle.

 

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

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Go to top