Moodle 3

Moodle 3.2 на Ubuntu 16.04

П'ятниця, 21 квітня 2017 21:52

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).

У цьому посібнику:

  • Встановлення та налаштування PHP-FPM7.0.
  • Встановлення та налаштування MySQL.
  • Завантаження та налаштування Moodle.
  • Налаштування SSL та Nginix Virtual Host.
  • Сервер Ubuntu 16.04.

Крок 1 - Установка Nginx

У цьому посібнику, Nginx використовується як веб-сервер для Moodle. Nginx доступний в репозиторії Ubuntu і може бути встановлений з apt .

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

systemctl start Nginxsystemctl enable Nginx

Nginx буде запускатися на 80 порту, перевірити, чи порт відкритий з командою нижче і переконатися, що Nginx використовує 80 порт.

Крок 2 - Встановлення та налаштування PHP-FPM7

Moodle заснований на PHP, тому PHP має бутивстановлений у системі. У цьому посібнику буде використовуватися PHP-FPM, тому що використовується веб-сервер Nginx. Найкраще використовувати PHP-FPM7.0, він підтримується версією "Moodle 3.2stable".

Для встановлення PHP-FPM7.0 і всіх розширень, необхідних Moodle, виконаємо одну команду

sudo apt - get install - y graphviz aspell php 7.0 - fpm php 7.0 - cli php 7.0 - pspell php 7.0 - curl php 7.0 - gd php 7.0 - intl php 7.0 - mysql php 7-0. p php 7.0 - zip php 7.0 - json php 7.0 - opcache php 7.0 - readline php 7.0 - mbstring php 7.0 - soap

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

Редагувати файл FPM php.ini з Vim.

Розкрити рядок нижче і змінити значення на 0.

Відредагувати файл cli php.ini.

Розкрити рядок cgi.fix нижче і змінити значення на 0.

Зберегти файл та вийти з Vim.

Потім змінити файл конфігурації PHP-FPM www.conf.

Vim fpm/pool.d/www.conf

Розкрити security limit line і переконатися, що значення .php.

Зберегти файл і вийти з Vim.

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

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

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

Крок 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.

Під «[mysqld]лінією», вставте налаштування нижче.

default_storage_engine = InnoDBinnodb_file_per_table = 1innodb_file_format = Barracuda

Зберегти та вийти, а потім перезапустити та додати MySQL для автоматичного запуску під час завантаження.

Systemctl restart MySQLsystemctl enable MySQL

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

MySQL був встановлений та запущений, якщо ми бачимо порт 3306.

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

Створити нову базу даних з іменем «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 13>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 перевіркою.

GitcheckoutMOODLE_32_STABLE

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

З'являться результати нижче.

On branch MOODLE_32_STABLE Вони branch is up-to-date with 'origin/MOODLE_32_STABLE'. nothing to commit, working directory clean

Потім треба створити нову диреторію для даних Moodle «/var/moodledata» і змінити власника та можливостіз директорії.

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

Змінити власника та дозволи директорії MOODLEwww-dataкористувача та групи.

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

Попереднє налаштування moodle виконане.

Крок 5 - Створення сертифіката SSL та налаштування NginxVirtualHost

Потрібно запустити Moodle із веб-сервером Nginx під з'єднання HTTPS. Якщо ви знаходитесь на сервері, можна використовувати свій власний файл-сертифікат або додати свій власний безкоштовний сертифікат з let ' s encrypt .

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

mkdir - p / etc / nginx / ssl openssl req - new - x 509 - 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 / php 7.0-fpm . sock; >

# Nginx redirect HTTP to HTTPS-moodle. hakase-labs. com 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 http 2; listen [::]:443 ssl http 2;

# SSL Configuration ssl on; ssl _ ciphers " EECDH + AESGCM : EDH + AESGCM : AES 256 + EECDH : AES 256 + EDH : ECDHE - RSA - AES 128 - GCM - SHA 384: ECDHE - RSA- AES 128- GCM - SHA 256: ECDHE - RSA - AES 128- GCM - SHA 128: DHE - RSA - AES 128- GCM - SHA 384: DHE - RSA - AES 128- GCM - SHA 256: DHE - RSA - AES 128- GCM - SHA 128: ECDHE - RSA - AES 128- SHA 384: ECDHE - RSA - AES 128- SHA 128: ECDHE - RSA - AES 128- SHA : ECDHE - RSA - AES 128- SHA : DHE - RSA - AES 128- SHA 128: DHE - RSA - AES 128- SHA 128: DHE - RSA - AES 128- SHA : DHE - RSA - AES 128- SHA : ECDHE - RSA - DES - CBC 3- SHA : EDH - RSA - DES - CBC 3- SHA : AES 128- GCM - SHA 384: AES 128- GCM - SHA 128: AES 128- SHA 128: AES 128- SHA 128: AES 128- SHA : AES 128- SHA : DES - CBC 3- SHA : ВИСОКИЙ :! aNULL :! eNULL :! ЕКСПОРТ :! ДЕС :! MD 5:! PSK :! RC 4"; ssl _ протоколи TLSv 1 TLSv 1.1 TLSv 1.2; ssl _ віддають перевагу _ серверним _ шифрам увімкнено ; ssl _ сеанс _ спільний кеш : SSL :10 м ; додайте _ заголовок Stric - 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 _ зшивання _ перевірка увімкнено ; розв’язувач _ час очікування 5 с ; ssl _ сертифікат / etc / nginx / ssl / moodle . crt ; ssl _ сертифікат _ ключ / etc / nginx / ключ ssl/moodle;

# Кореневий каталог даних Moodle root / var / www / moodle ; переписати ^/(.*\. php )(/)(.*)$ /$1? файл =/$3 останній ;

/ try _ files $ uri $ uri // індекс. php? q =$ запит _ uri; індекс індекс . індекс php. html індекс. htm ;

\. php $ включають фрагменти / fastcgi - php . conf ; fastcgi _ pass php - обробник; > > >

Збережіть файл і вийдіть з Vim, а потім активуйте віртуальний шланг і перевірте конфігурацію файлу Nginx, переконайтеся, що немає ніяких помилок.

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

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

Файли-сертифікати SSL були створені і настроєно Nginix virtual host для Moodle.

Крок 6 - Установка Moodle

Відобразиться сторінка установки MOODLE.

Вибрати мову та натиснути кнопку «Далі».

Налаштування URL Moodle, у цьому посібнику 'moodle.hakase-labs.com', коренева веб-директорія moodle '/ var /www/moodle' і директорія даних moodle'/var/moodledata'.

Потім натиснути "Далі".

Налаштування «Databasediver», використовувати сервер бази даних 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».

Натисніть «Продовжити» знову.

Далі потрібно налаштувати користувача-адміністратора та пароль адміністратора.

Заповніть інформацію адміністратора та натисніть «Updateprofile».

Для«FrontPageSetting», ввести в своїй сторінці інформацію та натиснути «Savechanges».

Відбудеться перенаправлення на користувача адміністратора «Dashboard» нижче.

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

Крок 7 - Тестування

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

Moodle сторінка входу -/login.