Подпишись и читай
самые интересные
статьи первым!

Moodle системные требования для сервера. Установка Moodle

Дано : Windows Server 2012 R2 (x64) с установленным MS SQL Server
Задача : установить на него полноценный Moodle (PHP) с базой на MS SQL Server (или другой).

Речь идет именно об установке полноценного дистрибутива, а не урезанной версии для разработки.
Самое главное - подготовить сервер для работы PHP приложений, которым собственно и является Moodle. Для этого на сервере должна быть установлена роль веб-сервера (IIS), а также установлено PHP. Предполагается, что система управления базами данных уже имеется в системе или на другом сервере (MS SQL Server, MySQL или другая. В этой статье я буду предполагать использование MSSQL).

Процесс обновления - шаг за шагом, насколько это возможно. Убедитесь, что сервер хостинга, который вы используете, соответствует минимальным требованиям к скрипту. Версия 8 Версии 6 Отвечает ли сервер минимальным требованиям? Стоит рассмотреть возможность изменения поставщика услуг по простой причине! Ваш провайдер услуг находится в спящем режиме, и его трудно понять, когда он просыпается. Обратите внимание, что оправдано, что некоторые из машин делают это по-другому. Мы не перезаписываем файлы! Вы сохранили его в копии сценария.

Мы переходим на страницу платформы и просматриваем процесс установки. Выключите режим обслуживания. Мы проверяем, что все в порядке, также на курсах. Может случиться так, что некоторые из наших стандартных модулей вышли из строя. Нам нужно переустановить их. В целом разработчики вполне реагируют на изменения, и большинство из самых популярных плагинов всегда готовы к новой версии. Наверное, да, хотя всегда возникает незначительный стресс. Резервное копирование может спасти вас от большого стресса, поэтому не говорите прямо перед смертью своей платформы!

Итак, по шагам.

1. Установка роли "Веб-сервер" (IIS 8.5):


Открываем интерфейс добавления ролей в системе и в мастере указываем роль Web Server (IIS):


Продолжение: (если нужна аутентификация при помощи AD (Active Directory, LDAP) выбираем соответствующие компоненты) - AD DS Tools другие, как показано на рисунке:


































Отзывчивый и простой в использовании интерфейс, который можно полностью настроить. Легкая интеграция с мультимедиа, управление файлами, простой, но мощный текстовый редактор. Создание массового курса, легкое резервное копирование и удобство управления пользовательскими ролями и разрешением. Построен в совместных функциях и подробных отчетах и ​​журналах. Многоязычный интерфейс и регулярные обновления безопасности.

  • Безопасная аутентификация и массовая регистрация и отслеживание хода.
  • Сотни плагинов и тем, чтобы добавить дополнительные функции и изменить макет.
Для установки необходимых расширений выполните следующую команду.


Продолжение:


Далее в роли Веб-сервера (IIS) выбираем также нужные компоненты:


Особенно обращаем внимание на то, что выбран CGI (он необходим для работы с PHP ).

Вас спросят, хотите ли вы удалить анонимных пользователей. Вы должны удалить их, прежде чем переходить в производственную среду. Это также предназначено только для тестирования и должно быть удалено перед перемещением в производственную среду. Теперь вам будет предложено перезагрузить таблицы привилегий. Перезагрузка таблиц привилегий гарантирует, что все сделанные изменения до этого вступят в силу немедленно.

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


Устанавливаем все выбранные компоненты.

Чтобы проверить корректность установки IIS, в браузере заходим на localhost и видим приветственное окно IIS:



2. Теперь необходимо установить PHP.

Самый простой путь - сделать это через Web Platform Installer . В IIS - переходим по ссылке Get New Web Platform Installer . После его установки ищем PHP и PHP Manager для IIS, устанавливаем их. Рекомендую именно этот способ.

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

Теперь мы переместим все файлы в корневой каталог веб-сервера, используя следующую команду. В файле конфигурации прокрутите страницу вниз, чтобы найти настройки базы данных. После изменения значений он должен выглядеть так. Идите дальше в файл конфигурации, и вы найдете конфигурацию местоположения веб-сайта.

Однако можно сделать такую установку вручную. Для этого делаем следующее:

На странице Downloads сайта windows.php.net скачиваем одну из последних версий PHP.
Для работы IIS с PHP как CGI-приложением нужно брать версию файла инсталлятора вида x86 Non Thread Safe .

После внесения изменений выпишите файл и выйдите из редактора. При доступе к вашему сайту вы увидите аналогичную страницу. В этом интерфейсе вам необходимо указать административные имя пользователя, адрес электронной почты и пароль. Теперь вам будет предложено указать заголовок и краткое название вашего веб-сайта. Введите сообщение, которое вы хотите отобразить на первой странице, выберите часовой пояс и выберите вариант самостоятельной регистрации.

Загрузите установку с сайта поставщика. После того, как вы загрузили архив, содержащий установку, вам необходимо загрузить его на свое дисковое пространство. Вы можете загрузить архив и воспользоваться файловым менеджером панели управления веб-хостинга для извлечения пакета.


Распаковываем в какую-либо папку (это не временная папка, запуск PHP будет из нее), например, C:\Program Files (x86)\PHP\v5.6

Далее после установки PHP и PHP Manager (или одновременно с ними) также через Web Platform Installer устанавливаем :
- Microsoft Driver For PHP for SQL Server in IIS (если нужна будет данная СУБД)
- Windows Cache Extension for PHP (расширение для ускорения работы PHP скриптов)




После установки вышеуказанных компонентов, переходим в IIS и открываем PHP Manager:



Если есть ссылка View recommendations , то переходим по ней.



После этого переходим по ссылке "enable or disable extensions " ("включение или выключение расширений")



Включаем (Enable) следующие расширения php_intl.dll php_ldap.dll , если требуется аутентификация через LDAP).

Теперь попробуем протестировать работу PHP на нашем сервере : для этого создайте в IIS сайт (например, testphp, см. скрин из IIS выше). В папке сайта создадим файл index.php со следующим содержимым:

phpinfo(INFO_GENERAL);
?>

Теперь можно запускать тестовый сайт. Если всё настроено правильно, будет отображена версия PHP и другая информация.

Возможна ошибка:
HTTP Error 500.0 - Internal Server Error
C:\Program Files (x86)\PHP\v5.6\php-cgi.exe - The FastCGI process exited unexpectedly


Причины ошибки могут быть разные. Как вариант, если запуск осуществляется на 64 битной системе, то необходимо установить Visual C++ Redistributable (можно скачать с сайта Microsoft):



Тестовый файл должен выдать информацию о PHP:


3. Продолжаем настраивать PHP.

В свойствах FastCGI (FastCGI Settings) у нужной версии приложения php-cgi.exe меняем параметр Activity TimeOut на 6000 или больше (это время, необходимое на выполнение скрипта, которое рекомендуется увеличить, т.к. при операциях в Moodle, требующих длительных обработок, может случиться таймаут):



Далее открываем файл php.ini (например, через PHP Manager) и раскомментируем строки:
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1

Если планируется синхронизация пользователей с каталогами Active Directory (AD), то дополнительно изменяем параметр memory_limit : вместо 128, указываем число побольше, например:
memory_limit = 768M
Если этого не сделать, то при количестве пользователей более 7 тысяч может перестать работать синхронизация (с LDAP).

4. Конфигурируем MIME Types в IIS

В IIS добавляем MIME Type со следующими параметрами:

File name extension: .php
MIME type: text/html


5. Локальная настройка домена

Т.к. Moodle рекомендуется запускать и настраивать сразу под нужный домен, то пропишем в специальном файле hosts необходимый домен и привяжем его к IP, чтобы иметь возможность запускать Moodle-проект локально, но под правильным доменом.

Напоминаю, что файл hosts находится по следующему пути:
C:\Windows\System32\drivers\etc\hosts

Открываем его и под всеми комментариями добавляем: IP-адрес + пробел + имя нужного домена
Примерное содержимое файла:



6. Скачивание и установка дистрибутива Moodle.

Заходим на официальный сайт системы и скачиваем архив последней версии Moodle (или той, которая Вам необходима). Ни в коем случае не скачивайте специальный дистрибутив для Windows (он только для локальной установки и разработки), ищем именно архив проекта Moodle:



Распаковываем всё содержимое скаченного архива в конечную папку (которую затем будет привязывать к IIS), например, в каталоге C:\inetpub\php\moodle (можно удалить лишние информационные файлы, вроде readme).
Также, для хранения данных системы Moodle необходимо создать дополнительную папку. Она должна быть не доступна из веб и располагаться вне основной директории (например, C:\inetpub\php\moodledata )

Для папки moodle задаем следующие права:
Пользователь IUSR - права на чтение по-умолчанию
Пользователь IIS_IUSRS - права на чтение по-умолчанию


Для папки moodledata задаем следующие права:
Пользователь IUSR - modify
Пользователь IIS_IUSRS - modify
Пользователь CronUser - modify (можно задать позже, см. статью )


Если в дальнейшем нужно иметь возможность устанавливать, например, темы из веб-интерфейса, то необходимо дать право записи (modify) на папку тем (также можно сделать это для папок плагинов): moodle\theme, также для папки типов вопросов (чтобы устанавливать дополнительные типы): moodle\question\type

9. Настройка корректных путей

Для этого на уровне сайта в IIS переходим в настройки IIS-модуля URL Rewrite 2.0 (он должен быть предварительно установлен) и создадим следующее правило:

Matches the Pattern - Regular Expressions - ^([^\?]+?\.php)(\/.+)$
Action - Rewrite - {R:1}\?file={R:2}
Append query string - enabled
Stop processing of subsequent rules - enabled


После создания этого правила, перейдите в настройки Moodle (Администрирование - Сервер - HTTP) и включите параметр «slash arguments»:



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

Также, если планируется синхронизация с AD, может потребоваться настройка LDAP (читайте в будущих статьях).

Итоги
Коротко о железе, на котором проходила подобная установка: Intel Xeon 2.13GHz, 16GB RAM, под PHP-папки использовался SSD диск. За полтора года боевого использования система Moodle в подобном исполнении показала себя достаточно хорошо.

См. также

Moodle – это популярная открытая система управления обучением (LMS). Moodle позволяет создавать обучающие ресурсы, такие как онлайн-курсы, материалы для чтения и форумы для учащихся. Эта программа обладает большим количеством функций для обеспечения эффективного онлайн-обучения и может масштабироваться от небольшой группы до сотен тысяч студентов.

Также Moodle позволяет управлять доступом к материалам на основе ролей учащихся.

Данное руководство поможет установить Moodle на сервер Ubuntu 16.04, настроить зависимости, выбрать тему и создать первый курс.

Требования

  • Сервер Ubuntu 16.04 (Moodle требует минимум 512MB памяти, но рекомендуемый объем сервера – 1GB).
  • 200MB дискового пространства для кода Moodle + пространство для хранения контента.
  • Пользователь с доступом к sudo.
  • Настроенный брандмауэр (инструкции по настройке – ).
  • Стек LAMP (установить его поможет ). Обязательно запишите/запомните root-пароль MySQL.

1: Установка Moodle и зависимостей

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

Обновите индекс пакетов:

sudo apt-get update

Установите зависимости:

sudo apt-get install aspell graphviz php7.0-curl php7.0-gd php7.0-intl php7.0-ldap php7.0-mysql php7.0-pspell php7.0-xml php7.0-xmlrpc php7.0-zip

Перезапустите Apache, чтобы загрузить новые модули.

sudo systemctl restart apache2

Теперь можно загрузить и установить Moodle. Для загрузки пакетов приложения с официального сервера используйте curl.

Следующая команда загрузит сжатый пакет с последней стабильной версией Moodle в файл moodle.tgz. Флаг –L включает поддержку редиректа.

curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz

Распакуйте полученный архив и поместите файлы в каталог document root веб-сервера.

sudo tar -xvzf moodle.tgz -C /var/www/html

Убедитесь, что каталог moodle помещен в document root:

ls /var/www/html
index.html moodle

Просмотрите содержимое каталога moodle:

ls /var/www/html/moodle

Вы увидите список файлов приложения Moodle:

admin composer.json grade message README.txt
auth composer.lock group mnet report
availability config-dist.php Gruntfile.js mod repository
backup config.php help_ajax.php my rss
badges CONTRIBUTING.txt help.php notes search
behat.yml.dist COPYING.txt index.php npm-shrinkwrap.json tag
blocks course install package.json tags.txt
blog dataformat install.php phpunit.xml.dist theme
brokenfile.php draftfile.php INSTALL.txt pix TRADEMARK.txt
cache enrol iplookup plagiarism user
calendar error lang pluginfile.php userpix
cohort file.php lib portfolio version.php
comment files local PULL_REQUEST_TEMPLATE.txt webservice
competency filter login question
completion githash.php media rating

Теперь нужно создать каталог, в котором Moodle сможет хранить все обучающие ресурсы, хранящиеся на сервере вне базы данных. Этот каталог должен находиться вне корневого каталога веб-сервера, чтобы к нему нельзя было получить прямой доступ из браузера.

sudo mkdir /var/moodledata

Пользователь веб-сервера www-data должен иметь доступ к этому каталогу:

sudo chown -R www-data /var/moodledata

Затем измените права на каталог, чтобы только владелец имел полные права.

2: Настройка базы данных для Moodle

Теперь нужно создать БД MySQL, в которой Moodle сможет хранить данные, и пользователя для доступа к этой БД.

Но сначала нужно внести несколько поправок в конфигурацию MySQL и настроить поддержку Moodle. Откройте файл:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Добавьте выделенные красным строки в раздел Basic Settings:

...

#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
## Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
...

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

sudo systemctl restart mysql

Создайте БД для Moodle. Запустите интерфейс командной строки MySQL.

mysql -u root -p

По запросу введите root-пароль MySQL.

Вы увидите командную строку:

Чтобы создать БД, введите:

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Создайте пользователя для взаимодействия с БД Moodle.

create user "moodler"@"localhost" IDENTIFIED BY "moodlerpassword";

Примечание : Вместо moodler укажите имя пользователя БД, а вместо moodlerpassword – его пароль.

Передайте новому пользователю права на изменение БД, чтобы он мог создавать таблицы и изменять привилегии.

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO "moodler"@"localhost" IDENTIFIED BY "moodlerpassword";

Закройте командную строку MqSQL.

3: Настройка Moodle в браузере

Чтобы завершить настройку приложения Moodle, откройте сайт в веб-браузере и предоставьте ему дополнительные сведения о конфигурации. Чтобы веб-сервер мог сохранить конфигурацию, необходимо временно изменить права на корневой каталог Moodle.

Важно! После запуска следующей команды доступ к корневому каталогу сможет получить любой пользователь. Если вы не хотите этого, просто не меняйте права. Веб-интерфейс поможет вам вручную отредактировать конфигурационный файл.

Если вы всё-таки решили временно изменить права на корневой каталог Moodle, обязательно заблокируйте доступ к каталогу после настройки.

sudo chmod -R 777 /var/www/html/moodle

http://your_server_ip/moodle

На экране появится страница установки:

Installation
Choose a language
Please choose a language for the installation. […]

Чтобы настроить Moodle, выполните следующее:

  1. Выберите язык установки и нажмите Next.
  2. В новом экране укажите /var/moodledata в Data Directory и нажмите Next.
  3. На странице Choose Database Driver в Database driver выберите Improved MySQL (native mysqli). Нажмите Next.
  4. На странице Database setting укажите имя и пароль пользователя БД MySQL, которую вы создали для Moodle. Остальные поля можно оставить по умолчанию. Нажмите Next.
  5. Примите лицензионное соглашение и нажмите Continue.
  6. Страница Server Checks сообщит вам о возможных проблемах и ошибках. Если все зависимости установлены и не возникло никаких ошибок, на странице будет сообщение «Your server environment meets all minimum requirements». Нажмите Continue
  7. Moodle установит несколько дополнительных компонентов; в случае успешной установки он выведет сообщение «Success». Прокрутите экран вниз и нажмите Continue.
  8. После этого появится страница, на которой можно настроить учетную запись администратора Moodle. В поле Username укажите имя администратора. В поле Choose an authentication method оставьте значение по умолчанию. В New password введите пароль администратора. В поле Email укажите адрес электронной почты. Нажмите Update profile, чтобы продолжить.
  9. На странице Front Page Settings заполните поля Full site name и Short name for site, задайте местоположение и при необходимости разрешите саморегистрацию пользователей по электронной почте. Нажмите Save changes.

После этого на экране появится панель инструментов новой установки Moodle для администратора.

Примечание : Настройка завершена. Теперь вы можете снова ограничить доступ к корневому каталогу Moodle. Для этого введите:

sudo chmod -R 0755 /var/www/html/moodle

По умолчанию Moodle создаёт в каталоге /var/moodledata файлы, право на изменение которых есть у любого пользователя. Чтобы повысить безопасность Moodle, нужно изменить стандартные права на файлы Moodle.

Откройте конфигурацию:

sudo nano /var/www/html/moodle/config.php

Найдите строку:

$CFG->directorypermissions = 0777;

Замените её следующей строкой:

$CFG->directorypermissions = 0770;

Сохраните и закройте файл.

Затем нужно изменить права на сам каталог /var/moodledata, поскольку во время установки приложение Moodle создало несколько файлов с открытым доступом.

sudo chmod -R 0770 /var/moodledata

4: Пользовательская настройка Moodle и создание курса

Теперь нужно зарегистрировать свой сайт Moodle. При этом вы будете добавлены в список рассылки Moodle и сможете своевременно получать информацию об уязвимостях или новых релизах.

Теперь попробуйте изменить тему сайта Moodle. Выберите Site Administration, откройте вкладку Appearance и выберите Theme selector. На экране появится страница настроек, разделённая на поля Device type, Current theme и Information. В последнем указана текущая тема устройства Default, в данном случае это Boost.

Чтобы изменить тему, нажмите Change theme. На экране появится страница, на которой представлены другие доступные темы. Чтобы выбрать тему, нажмите кнопку Use theme рядом с именем темы. Для разных устройств (телефонов, планшетов) можно выбрать разные темы.

Теперь попробуйте создать первый курс Moodle. В меню навигации выберите Site home и нажмите Add a new course.

На экране появится форма, где нужно указать название курса, категорию, даты и т.п.

Введите информацию о своем курсе, включая имя, краткое имя, описание и другие сведения. Затем прокрутите страницу вниз и нажмите Save and display.

Первый курс Moodle готов. Вы можете добавить уроки и занятия к курсу, используя интерфейс Moodle.

Но прежде чем позволить другим пользователям подписываться на новый курс, вы должны убедиться, что установка Moodle готова к производству. Для начала рекомендуется создать сертификат TSL/SSL для веб-сервера Apache, который зашифрует трафик между сервером и клиентом.

Также можно настроить резервное копирование данных MySQL и каталога /var/moodledata/.



Включайся в дискуссию
Читайте также
Определение места отбывания наказания осужденного
Осужденному это надо знать
Блатной жаргон, по фене Как относятся к наркоторговцам в тюрьме