Moodle 3.2 на Ubuntu 16.04

Moodle - открытый источник обучения управления программным обеспечением, написанным на PHP, выпущенный под GNU General Public License. Он используется для дистанционного обучения, электронного обучения проектов, смешанного обучения и аналогичных целей. Moodle является аббревиатурой «Modular-object-orienteddynamic 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.

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

Необходимо

·                 Сервер Ubuntu 16,04.

·                 Root privileges.

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

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

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 файл с Vim.

Vim fpm / php.ini

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

cgi.fix_pathinfo = 0

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

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

Vim cli / php.ini

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

cgi.fix_pathinfo = 0

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

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

Vim 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 / configuration directory и отредактировать файл «mysqld.cnf» с Vim.

CD /etc/mysql/mysql.conf.d/ 
vim 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.

Cd 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/
nginxt

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

systemctl restart Nginx

 

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

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

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

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

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

 

Настройка URL Moodle, в этом руководстве ' moodle.hakase-labs.com ', корневая веб директория 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.

 

 

 

Авторизуйтесь, чтобы получить возможность оставлять комментарии
Go to top