Самостоятельное системное администрирование сервера с СЭО 3KL, подготовленного специалистами компании «Открытые технологии»

Алексей Дьяченко, Сергей Гаврилов
2023-10-23 08:59
В рамках гарантийной технической поддержки специалисты компании «Открытые технологии» осуществляют все необходимые операции для развертывания, поддержки, обновления и поддержания работы сервера или виртуальной машины с установленной Средой электронного обучения 3KL. Однако иногда у клиентов может возникнуть потребность осуществлять администрирование самостоятельно. Этот документ содержит основные сведения, необходимые квалифицированному системному администратору для настройки и обслуживания сервера.
Внимание! Данный материал не претендует на полноту. Здесь содержатся только базовые сведения, которые помогут квалифицированному системному администратору оперативно разобраться с устройством сервера. Прежде чем доверить специалисту доступ к серверу, убедитесь, что он обладает следующими компетенциями: администратор коммуникационных сетей на базе протокола IP, администратор Linux, администратор Apache Http Server, администратор MySQL/PostgreSQL.
В рамках гарантийной технической поддержки не предоставляются консультации по самостоятельному администрированию сервера, программной модификации СЭО 3KL и устранению последствий неквалифицированного выполнения этих операций. Воспользуйтесь услугами специалистов компании «Открытые технологии» или самостоятельно действуйте на свой риск.
Выполнение любых инструкций из данной статьи (в том числе, запрос ssh-доступа, самостоятельное получение терминального доступа, выполнение любых консольных команд на сервере,  редактирование/удаление/создание любого файла/папки на сервере, выполнение запроса, изменяющего данные в СУБД) приведет к ограничению вашей гарантийной технической поддержки. В рамках ограниченной гарантийной технической поддержки специалистами компании «Открытые технологии» предоставляются только доступ к базе знаний и самостоятельному скачиванию новых версий, общие консультации по принципам работы СЭО 3KL, при этом сообщения об ошибках рассматриваются, только если клиент самостоятельно воспроизведет проблему на чистом демонстрационном стенде.
Содержание:
1. Общая информация по системе

  1.1. Глоссарий терминов
  1.2. Получение консольного доступа к системе
 
1.3. Расположение основных файлов и папок на сервере
  1.4. Важные команды
 
2. Информация по самостоятельному обновлению СЭО 3KL
  
2.1. Получение дистрибутива
  
2.2. Подготовка к обновлению
  
2.3. Сохранение резервных копий
  2.4. Проверка обновлений ядра системы и плагинов
  2.5. Запуск обновления системы и плагинов
3. Информация по самостоятельной установке СЭО 3KL
 
 
3.1. Получение дистрибутива
 
3.2. Подготовка к установке
    3.2.1. Определение характеристик сервера в соответствии с техническими и системными требованиями
    
3.2.2. Выбор способа размещения сервера для установки СЭО 3KL
      3.2.2.1. Собственный физический сервер на территории организации
     
3.2.2.2. Собственный физический сервер в дата-центер провайдера (Colocation)
      3.2.2.3. Арендованный физический сервер в дата-центре провайдера (Dedicated)
      3.2.2.4. Арендованный виртуальный сервер в дата-центре провайдера (VDS/VPS)
    3.2.3. Подготовка сервера к установке операционной системы
    
3.2.4. Настройка серверного окружения
  3.3. Установка системы

1. Общая информация по системе

1.1. Глоссарий терминов

Термин Определение
Инсталляция СЭО 3KL Один экземпляр набора исполняемых файлов СЭО 3KL (дистрибутив), размещенный в папке веб-сервера, и один набор таблиц базы данных продукта, размещенный в СУБД
Инсталляция Otlamp Отдельная запущенная конфигурация веб-сервера Apache со своими настройками, набором модулей, файлов и скриптов, разработанная компанией «Открытые технологии» и предназначенная для автоматизации установки серверного окружения, необходимого для работы СЭО 3KL, создания виртуальных хостов, резервного копирования и восстановления базы данных СЭО 3KL, а также запуска необходимых задач с помощью планировщика Cron
Инстанс инсталляции Otlamp Профиль конфигурации экземпляра инсталляции Otlamp, запускаемый от имени отдельного пользователя — владельца инсталляции, на отдельном сетевом интерфейсе (или на всех интерфейсах сразу)

 -Вернуться к содержанию-

1.2. Получение консольного доступа к системе

Если у вас действует гарантийная техническая поддержка, и ваша система доступна по сети по протоколу ssh (порт 22), достаточно подать заявку на получение root-доступа через кабинет клиента. К заявке следует приложить ваш публичный rsa-ключ, это поможет безопасно передать доступ, не пересылая конфиденциальные данные через интернет. Воспользуйтесь программой ssh для доступа к серверу.

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

Дополнительная информация:
   • о консоли и работе с ней;
   • о методах сброса пароля на сервере (статья 1, статья 2).

 

-Вернуться к содержанию-

1.3. Расположение основных файлов и папок на сервере

Если СЭО 3KL устанавливала компания «Открытые технологии», пути к файлам системы на сервере будут следующими:

  • /etc - конфигурационные файлы Ubuntu. Здесь хранятся все настройки системы, включая сетевые. Форматы и расположение файлов соответствуют Ubuntu Server 20.04.
  • /etc/opt/otlamp - конфигурационные файлы Apache, пароли от MySQL. Изменение домена, на который откликается веб-сервер, настраивается здесь.
  • /var/opt/otlamp - файлы веб-приложения (СЭО 3KL), файловый контент, дампы базы данных, инкрементные резервные копии (папки .git). Дополнительно новый домен нужно прописать в файле www/local/domains.php.
  • /var/opt/otlamp/[w1]/[код виртуального хоста]/www/htdocs - файлы, отображаемые на веб-сервере.
    [w1] - имя инстанса, совпадает с именем пользователя, от имени которого работают скрипты, и владельца файлов.
    [код виртуального хоста] - как правило имеет вид cXXXX или sdo.
  • /var/opt/otlamp/[w1]/[код виртуального хоста]/www/data - пользовательские файлы, принадлежащие инсталляции Otlamp.
  • /var/log/opt/otlamp - логи веб-сервера.

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

  • /theme/ - для тем;
  • /mod/ - для модулей активности и ресурсов;
  • /blocks/ - для блоков сайдбара;
  • /question/type/ - для типов вопросов;
  • /course/format/ - для форматов курсов;
  • /admin/report/ - для отчетов администратора;
 Подробнее о структуре директорий системы в статье «Архитектура Moodle».

Остальные файлы соответствуют стандартному расположению файлов в Ubuntu Server 20.04.

-Вернуться к содержанию-

1.4. Важные команды

Команда Описание  Примечание
/etc/init.d/otlamp.w1 start Запуск веб-сервера  
/etc/init.d/otlamp.w1 stop Остановка веб-сервера  
/opt/otlamp/bin/otlamp_savevhost Сделать резервные копии всех виртуальных хостов (СЭО) на сервере  
/opt/otlamp/bin/otlamp_showtags w1
[код виртуального хоста]
Запросить список инкрементных резервных копий [Код виртуального хоста] соответствует 
имени папки в /var/opt/otlamp/w1, в которой 
содержится ваша СЭО 3KL
/opt/otlamp/bin/otlamp_restorevhost w1 [код виртуального хоста] [тег инкрементной резервной копии] Восстановить состояние СЭО 3KL из резервной копии  Все данные СЭО 3KL при этом будут уничтожены и заменены их версией из резервной копии
/opt/otlamp/bin/otlamp_fixmode Скрипт для исправления прав доступа к файлам, расположенным на виртуальном хосте Необходимость использовать этот скрипт может возникнуть, например, если администратор добавлял файлы вручную и забыл установить на них нужного владельца и права

-Вернуться к содержанию-

2. Информация по самостоятельному обновлению СЭО 3KL

Версии СЭО 3KL ежемесячно обновляются, в систему добавляются новые функции, плагины, исправляются ошибки. Чтобы в полной мере воспользоваться возможностями системы, рекомендуется регулярно обновлять ее. Вы можете обновить систему самостоятельно или обратиться с заявкой на проведение обновления в службу технической поддержки компании «Открытые технологии».

Внимание! В случае самостоятельного обновления системы компания «Открытые технологии» не сможет нести ответственность за любые ошибки, технические проблемы, нарушения в работе системы и сервера, и будет вынуждена прекратить оказание технической поддержки.

Можно выделить следующие основные шаги при самостоятельном обновлении системы.

-Вернуться к содержанию-

2.1. Получение дистрибутива

Дистрибутив СЭО 3KL можно скачать на сайте учебного центра ООО «Открытые технологии» по адресу https://moodle.opentechnology.ru/ , ссылка на дистрибутив будет находиться в маршруте внедрения, доступ к которому предоставляется в момент активации гарантийной поддержки. Следует перейти в раздел «Дистрибутив», выбрать версию СЭО 3KL и скачать архив.

Доступ к дистрибутивам СЭО 3KL предоставляется только пользователям, получающим сервис «Консультационная техническая поддержка» и авторизованным на сайте через кабинет клиента компании «Открытые технологии».

-Вернуться к содержанию-

2.2. Подготовка к обновлению.

Перед обновлением следует проверить, насколько сервер отвечает требованиям той версии СЭО 3KL, до которой планируется произвести обновление. Для этого на странице «Среда (версии ПО)» (блок «Настройки»: Администрирование->Среда->(версии ПО)) в выпадающем списке поля «Версия Moodle» необходимо выбрать версию: три первые цифры в ее названии должны совпадать с первыми цифрами нужной версии СЭО 3KL (Рис. 2.2.1, поз. 1).

Рис. 2.2.1. Проверка настроек сервера СЭО 3KL.

Таблица «Проверка настроек сервера» будет содержать следующие данные:

  • Название (см. поз. 2 Рис. 2.2.1). В колонке перечислены параметры сервера, по которым проводится проверка: moodle (ядро системы), unicode (стандарт кодирования символов), database (используемая база данных) и т. д.
  • Информация (см. поз. 3 Рис. 2.2.1). Здесь дана краткая характеристика каждого параметра.
    Например mysql (5.7.33-0ubuntu0.16.04.1)— база данных mysql, версия 5.7.33, ОС Ubuntu 16.04.1.
  • Отчет (см. поз. 4 Рис. 2.2.1). Содержит краткий результат проверки и ссылку на документацию Moodle с подробным описанием данного параметра.
  • Статус (см. Рис. 2.2.1, поз. 5). Отображает состояние проведенной проверки. Если систему/серверное окружение необходимо привести в соответствие с требованиями данного параметра, отобразится статус «Проверьте», дополнительно подсвеченный красным или желтым. Если же требования параметра соблюдены, отобразится статус «OK» с зеленой подсветкой. Например, параметр php - «требуется версия 7.3.0, у Вас используется версия 7.2.34.18.16.04.1.1» - «Проверьте».
  • Плагин. Колонка будет заполнена только в том случае, если в системе есть плагины, которые требуют данного компонента системного окружения. Например, компонент php_extension xsl требуется плагину «Книга / Инструмент плагина «Книга» / Импорт / экспорт файла Microsoft Word», поэтому его название отображается в соответствующей строке колонки «Плагин» (Рис. 2.2.2).

Рис. 2.2.2. Проверка настроек сервера СЭО 3KL. Колонка «Плагин».

Следует проверить соответствие сервера техническим требованиям и системному окружению. Подробные технические требования к оборудованию содержатся в соответствующих разделах Регламента предоставления сервисов ООО «Открытые технологии» (Раздел 5. Требования к рабочему месту пользователя, Раздел 6. Требования к Технической площадке, далее — Регламент). Кроме того, в разделе «Системные требования» расширенного анонса того релиза, до которого планируется обновление (например, 3.9.13a), могут содержаться требования, отличные от тех, которые содержатся в Регламенте. В этом случае технические требования релиза пользуются приоритетом, в остальном же действуют требования Регламента.

Если какие-либо версии библиотек и расширений на сервере не соответствуют той версии СЭО 3KL, до которой производится обновление, следует сначала обновить серверное окружение.

При самостоятельном администрировании сервера компания «Открытые технологии» прекращает обновления сервера в рамках технической поддержки.
Внимание! Для корректного обновления системы и серверного окружения вам потребуется полный административный доступ к СЭО 3KL и root-доступ к серверу. Полный административный доступ предусматривает права полного администратора внутри СЭО 3KL, а root-доступ дает полный контроль суперпользователя над сервером, позволяет изменять системные параметры и выполнять любые команды в консоли. Полный административный доступ можно получить на клиентском портале в личном кабинете, создав заявку и выбрав категорию «Гарантийная техподдержка / Запрос админ. доступа к СЭО», а root-доступ - создав заявку и выбрав категорию «Гарантийная техподдержка / Запрос root-доступа к серверу». Использование root-доступа автоматически влечет прекращение гарантийной технической поддержки компании «Открытые технологии».

Длительность обновления зависит от объема данных, параметров сервера и разницы между обновляемыми версиями. Целесообразно зарезервировать целый день на самообновление. Также, важно учитывать, что при неудачном обновлении придется делать восстановление исходного состояния системы из резервной копии, а в отдельных случаях, когда база данных очень большая, процесс восстановления из резервной копии может длиться до нескольких суток, в течение которых система будет недоступна. Обязательно нужно предупредить пользователей системы о предстоящем обновлении и будущей недоступности системы.

При выполнении обновления должно быть обеспечено требование о наличии более 20% свободного дискового пространства на сервере, причем эта пропорция должна соблюдаться на всех этапах процесса: до обновления, в процессе него и после завершения.

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

Если планируется обновление с версии более ранней, чем 3.5, следует воспользоваться таблицей промежуточных версий (Рис. 2.2.3). Необходимо обновляться последовательно, до каждой из отмеченных ключевых версий, в порядке их очередности, и лишь затем — до целевой версии.

Рис. 2.2.3. Таблица промежуточных версий СЭО 3KL. Ступени обновления.
Не следует начинать обновление раньше, чем будут полностью выполнены требования данного пункта. Также рекомендуется сначала выполнить тестовое обновление на резервной копии системы, чтобы удостовериться, что обновленная система работает стабильно.

-Вернуться к содержанию-

2.3. Сохранение резервных копий

До начала обновления следует сделать резервные копии системы, а именно:

1) Исполняемых файлов в [server]*/htdocs/[moodle]*, где вместо [server] будет отдельная конфигурация сервера Apache со своими настройками, а вместо [moodle] — корневая директория сервера с программными файлами СЭО 3KL (содержимое папки htdocs в дистрибутиве)Если вашу систему устанавливала компания «Открытые технологии» (см. п. 1.2), то исполняемые файлы находятся в /var/opt/otlamp/[w1]/[код виртуального хоста]/www/htdocs, где:

  • [w1] - это инстанс инсталляции Otlamp и пользователь linux, обычно на сервере один инстанс w1 с наиболее актуальным серверным окружением, но на серверах с большим количеством мелких инсталляций может быть несколько инстансов (w1, w2, w3), которые нужны для создания разных настроек под нужды различных хостов;
  • [код виртуального хоста] — код хоста, созданного после инициализации инсталляции, рабочие папки которого находятся в директории вида /var/opt/otlamp/w1/domain;
  • /htdocs/ — рабочая папка хоста.

Файлы можно выкачать любыми утилитами по протоколам rsync, ftp, ssh или wget.

2) Пользовательских файлов в [server]*/[moodledata]*, где [moodledata]* — это папка для хранения контента и загруженных пользователями файлов, которая располагается в файловой системе сервера за пределами корневой папки хоста. Если вашу систему устанавливала компания «Открытые технологии» (см. п. 1.2), то пользовательские файлы находятся в /var/opt/otlamp/[w1]/[код виртуального хоста]/www/data.

Файлы можно выкачать по протоколам ftp, WinSP, wget, rsync и др.

3) Базы данных (дампы Postgres или MySQL).

Резервные копии баз данных можно сделать в mysqldump, phpMyAdmin или других программах, в зависимости от типа базы данных.

Пути к этим данным можно уточнить в файле конфигурации config.php :

$CFG->dbname и $CFG-prefix содержат название базы данных и префикс названия таблицы;
$CFG-dataroot - расположение загруженных файлов;
$CFG-wwwroot - код системы.

Если во время обновления системы что-то пойдет не так, восстановление из резервных копий обеспечит восстановление состояния системы до старта обновления. Длительность процесса восстановления зависит от объема данных в СЭО 3КL и может составлять от нескольких минут до нескольких суток.

-Вернуться к содержанию-

2.4. Проверка обновлений ядра системы и плагинов

Информация о всех установленных в СЭО 3KL плагинах, их версии, доступности и т.д. содержится в блоке «Настройки»->Администрирование->Плагины->Обзор плагинов. При этом в СЭО 3KL в целях безопасности по умолчанию отключены функции автоматического обновления ядра и плагинов Moodle через интерфейс системы.

 Категорически не рекомендуется пользоваться автоматическим обновлением даже в Community-версии Moodle, во избежание рисков повреждения системы.

Все обновления системы и плагинов в СЭО 3KL доступны клиентам для скачивания только в виде дистрибутивов на сайте и могут быть установлены вручную на сервере. Ручная установка дистрибутивов — безопасный и рекомендуемый способ обновления системы и плагинов.

Если установлены сторонние плагины, следует самостоятельно подготовить сборку. Для этого надо скачать на сайте дистрибутив той версии системы, до которой планируется сделать обновление (например, 3.9.11b), затем перейти на страницу плагинов Moodle Plugins по адресу https://moodle.opentechnology.ru/, выбрать версию, совместимую с версией СЭО 3KL, до которой планируется обновление и скачать архивы полных пакетов плагинов. Допустимо также скачивать код плагинов из других источников. Далее следует разархивировать дистрибутив системы, добавить в нужные места архивы плагинов, заархивировать дистрибутив и использовать его для установки.

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

Если планируется отказаться от какого-либо установленного плагина и не обновлять его в новой версии системы, то необходимо заранее удалить такой плагин. Поскольку в СЭО 3KL установка, обновление и удаление плагинов через интерфейс отключено, все манипуляции следует выполнять в командной строке через консольный доступ к серверу (терминал).

Для полного удаления плагина и связанных данных воспользуйтесь командой php uninstall_plugins.php  --plugins=[название плагина],[название плагина] --run, где:

uninstall_plugins.php — файл с данными для администрирования плагинов, расположенный по  пути htdocs/admin/cli/uninstall_plugins.php,

--plugins=<название плагина> — это список подлежащих удалению плагинов, перечисленных через запятую.

Если не выполнить полное удаление устаревшего плагина до обновления СЭО 3KL, то в новой версии системы может сохраниться ошибка обновления, для исправления которой потребуется квалифицированная помощь администратора баз данных.

-Вернуться к содержанию-

2.5. Запуск обновления системы и плагинов

До начала обновления рекомендуется включить режим технического обслуживания в «Настройки»->Администрирование->Сервер->Режим технического обслуживания, чтобы запретить авторизацию в системе всех пользователей, кроме администраторов.

Внимание! В процессе обновления система значительно более уязвима, чем обычно. Механизмы авторизации и аутентификации не будут работать, и любой анонимный посетитель сайта сможет получить доступ к внутренней информации (данные сервера, версии плагинов и т.д.) на страницах сайта. Во избежание таких рисков рекомендуется дописать в файл config.php строку с данными ключа обновления:
 $CFG->upgradekey = ‘put_some_shared_secret_here’;
 Теперь для доступа к страницам сайта в процессе апгрейда понадобится вводить в строке браузера код ключа.

 Для обновления ядра системы и плагинов следует выполнить следующие действия:

1) Переместить старые исполняемые файлы из директории с файлами, отображаемыми на сервере, в другое место (например, временную директорию). Для перемещения воспользуйтесь консольной командой mv.

Недопустимо копировать новые файлы поверх старых!

2) Распаковать архив дистрибутива новой версии системы в пустую директорию для установочных файлов (где они находились до перемещения). Для извлечения архива в формате .tgz, можно воспользоваться консольной командой tar, архива в формате .zip - командой unzip. В ходе обновления система преобразует структуру базы данных.

 Директория с пользовательскими файлами не должна быть вложенной в директорию с файлами ядра!
При обновлении установленных плагинов следует извлекать архивы новых версий плагинов строго в те же самые директории, в которых находились их старые версии. Недопустимо копировать (перезаписывать) новые версии поверх старых.
Примечание. См. полный список типов плагинов и их расположение здесь.

3) Скопировать перемещенный старый файл config.php обратно в директорию с исполняемыми файлами. Для копирования можно воспользоваться консольной командой cp.

4) Убедиться, что на файл config.php и все директории с исходным кодом системы выставлены права на чтение.

5) Убедиться, что все плагины правильно расположены в поддиректориях внутри директории с исполняемыми файлами (см. п. 1.2).

Далее следует запустить процесс обновления. Это можно сделать одним из двух способов:

  • Через командную строку. Запустите в терминале из корня сайта следующую команду:
      $ sudo -u [w1] /usr/bin/php /var/opt/otlamp/[w1]/[код виртуального хоста]/www/htdocs/admin/cli/upgrade.php
    где/usr/bin/php следует заменить на путь к интерпретатору php той версии, которая соответствует устанавливаемой новой версии СЭО 3KL, а [w1] означает инстанс инсталляции и пользователя, отличного от root, но с правами администратора, и если пользователей несколько, то вместо [w1] соответственно может быть [w2], [w3] и т.д.
    После запуска скрипта начнется обновление. Следуйте инструкциям, появляющимся в терминале, до его успешного завершения. 
  • Через браузер. Отключите режим технического обслуживания и перейдите на url вашего сайта в адресной строке браузера. Подтвердите старт обновления в появившемся окне. Система автоматически идентифицирует новую версию и выполнит обновление базы данных и файловой системы. Могут появляться сообщения с инструкциями. После успешного выполнения скриптом проверки появится страница с плагинами. Следуйте инструкциям по дополнительным настройкам для них. Дождитесь завершения процесса обновления.
В случае появления ошибки ‘Fatal error: Maximum execution time of 30 seconds exceeded’ следует увеличить значение параметра max_execution_time = 160 в файле php.ini, чтобы дать скриптам больше времени на обработку языковых обновлений.

 По завершении обновления следует войти в систему и протестировать ее:

  • проверить все или несколько курсов - как они открываются и функционируют;
  • проверить пользователей, все ли на месте;
  • проверить сохранность файлов, загруженных пользователями - как открываются, отображаются и т. д.;
  • проверить корректность отображения темы оформления и ее элементов;
  • проверить основной функционал системы: создание курсов; авторизацию пользователей, выполнение задач планировщиком cron; рассылку email-сообщений.
  • создать резервную копию системы сразу после обновления.

-Вернуться к содержанию-

3. Информация по самостоятельной установке СЭО 3KL

Под самостоятельной установкой понимается комплекс мероприятий по развертыванию, обновлению и техническому обслуживанию программного продукта СЭО 3KL, проведенных клиентом самостоятельно, после приобретения лицензии. Компания «Открытые технологии» рекомендует воспользоваться услугой установки СЭО 3KL силами специалистов компании. Эта услуга предоставляется бесплатно и включена в Базовую гарантийную техническую поддержку системы и всех ее модулей. В случае же самостоятельной установки, будет предоставляться ограниченная техническая поддержка (доступ к дистрибутивам, базе знаний, общее консультирование без допуска к системе, выборочная проверка инцидентов после подтверждения их воспроизводства на тестовых стендах, и т.д.), а полное гарантийное обслуживание/обработка Заявок будут доступны только после процедуры аттестации инсталляции СЭО 3KL, либо в рамках Расширенной технической поддержки, за нормо-часы.

-Вернуться к содержанию-

3.1. Получение дистрибутива

Дистрибутив СЭО 3KL нужной вам версии можно скачать на сайте учебного центра ООО «Открытые технологии» по адресу https://moodle.opentechnology.ru/, ссылка на дистрибутив будет находиться в маршруте внедрения, доступ к которому предоставляется в момент активации гарантийной поддержки. Следует перейти в раздел «Дистрибутив», выбрать версию СЭО 3KL и скачать архив.

Доступ к дистрибутивам СЭО 3KL предоставляется только пользователям, получающим сервис «Консультационная техническая поддержка» и авторизованным на сайте через кабинет клиента компании «Открытые технологии».

-Вернуться к содержанию-

3.2. Подготовка к установке

Подготовка к установке СЭО 3KL подразделяется на четыре этапа: определение характеристик сервера в соответствии с техническими и системными требованиями, выбор размещения сервера для установки СЭО 3KL, подготовка сервера к установке операционной системы, настройка серверного окружения.

-Вернуться к содержанию-

3.2.1. Определение характеристик сервера в соответствии с техническими и системными требованиями

Техническая площадка, на которой планируется разместить СЭО 3KL, должна соответствовать техническим и системным требованиям, изложенным в Разделе 6 Регламента предоставления сервисов ООО «Открытые технологии» (в той редакции, которая действовала по состоянию на дату выхода устанавливаемой версии СЭО 3KL). Например, для версии СЭО 3KL 3.9.14a действуют следующие требования:

  • Потребность в оперативной памяти определяется в гигабайтах и рассчитывается по формуле: 2 + (количество конкурентных пользователей / 25) гигабайт. Минимально-рекомендуемый объем составляет 8 (Восемь) гигабайт.
  • Потребность в количестве ядер центрального процессора рассчитывается по формуле: 2 + (количество конкурентных пользователей / 50) шт. Минимально-рекомендуемое количество составляет 4 (Четыре) вычислительных ядра.
  • Потребность в объеме постоянной (дисковой) памяти в гигабайтах рассчитывается по формуле: 30 + объем учебных материалов * 3 * 1.3 гигабайт. Минимальный рекомендуемый объем постоянной памяти составляет 50 гигабайт.
Рекомендуется применять носители информации, обеспечивающие избыточность, повышение надежности и производительности. Скорость обращения системы к дискам и задержка обращения оказывает значительное влияние на производительность системы.
Если в Расширенном анонсе к устанавливаемой версии СЭО 3KL, который был опубликован в Базе знаний, указаны иные требования к серверу, действуют требования анонса.

-Вернуться к содержанию-

3.2.2. Выбор способа размещения сервера для установки СЭО 3KL

Можно выделить четыре варианта размещения сервера для установки СЭО 3KL: собственный физический сервер на территории организации, собственный физический сервер в дата-центре провайдера, арендованный физический сервер в дата-центре провайдера и арендованный виртуальный сервер в дата-центре провайдера.

3.2.2.1. Собственный физический сервер на территории организации

Для него требуется отдельное помещение (серверная), единовременные капиталовложения (достаточно большие) в закупку и монтаж оборудования, текущие расходы на обслуживание и замену комплектующих, настройку и поддержание работы сети, а также посменное дежурство системных администраторов. В часы работы пользователей с СЭО 3KL системный администратор должен находиться на рабочем месте и в случае возникновения технических проблем и неисправностей - уметь оперативно восстановить работоспособность системы. Если предполагается работа с системой в выходные дни и нерабочие часы, а системные администраторы выполняют свои должностные обязанности исключительно в рабочее время, то данный вариант размещения сервера не подойдет.

В случае размещения СЭО 3KL на собственном физическом сервере должны соблюдаться требования п. 6.6 Регламента предоставления сервисов ООО «Открытые технологии»: оборудование должно быть предназначено для непрерывной бесперебойной работы, оснащено надежными и зарезервированными источниками питания и системой охлаждения. Запрещается выключение системы путем отключения питания, без корректного завершения всех приложений и сервисов, сохранения данных, синхронизации дисков и корректного завершения работы операционной системы. В случае прекращения подачи питания, система должна корректно завершать свою работу по сигналу от источника бесперебойного питания, ресурса которого должно быть достаточно для данной процедуры. Рекомендуется организовать круглосуточное дежурство квалифицированных специалистов, отвечающих за бесперебойное функционирование оборудования. Помещение, в котором размещено оборудование, должно поддерживать специальный климатический режим, отвечать требованиям физической, информационной, пожарной и электробезопасности.

-Вернуться к содержанию-

3.2.2.2. Собственный физический сервер в дата-центре провайдера (Colocation)

Аренда места в дата-центре хостинг-провайдера для размещения сервера может стать более рациональным решением, чем содержание собственной серверной комнаты с обеспечением всех необходимых технических условий. Например, если серверного оборудования очень мало (одна-две физические машины), целесообразно воспользоваться для его размещения готовой инфраструктурой дата-центра. Аренда по тарифам провайдера как правило обходится дешевле, чем содержание собственной серверной, при этом отсутствует необходимость самостоятельно обеспечивать бесперебойное питание и нести круглосуточное дежурство. С другой стороны, арендатору все равно предстоят капиталовложения в закупку и транспортировку оборудования и текущие расходы на ремонт и замену комплектующих. Также важно учитывать, что не все дата-центры предоставляют доступ к оборудованию в режиме 24/7.

-Вернуться к содержанию-

3.2.2.3. Арендованный физический сервер в дата-центре провайдера (Dedicated)

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

-Вернуться к содержанию-

3.2.2.4. Арендованный виртуальный сервер в дата-центре провайдера (VDS/VPS)

Это сервер, созданный с помощью технологий виртуализации и средств операционной системы, которые разделяют ресурсы физического сервера на изолированные виртуальные машины, при этом каждая становится полноценной операционной системой с собственной памятью, процессами, пользователями. Виртуальные серверы VDS/VPS дают такие же возможности, как и физический сервер, обеспечивая гибкость в настройке операционной системы. В подавляющем большинстве случаев виртуальный сервер - оптимальный вариант для установки СЭО 3KL. Предоставляется готовая инфраструктура, отсутствует физический износ и необходимость следить за аппаратными ресурсами и обновлениями серверного окружения. Можно менять настройки, работать с файлами системы, устанавливать и настраивать любое программное обеспечение (версию PHP, сервер баз данных и т.д.). Провайдер обеспечивает выполнение всех работ, требующих физического присутствия рядом с сервером, и арендатору остается только удаленное системное администрирование операционной системы и СЭО 3KL.

В рамках Базовой гарантийной технической поддержки участие собственных системных администраторов для арендованного виртуального сервера не потребуется вовсе: специалисты компании «Открытые технологии» в полном объеме произведут необходимое системное администрирование.

Если оценивать стоимость текущих расходов на аренду, виртуальный сервер - наименее затратный вариант.

-Вернуться к содержанию-

3.2.3. Подготовка сервера к установке операционной системы

После того, как сервер выбран (физический или виртуальный), необходимо подготовить его к установке операционной системы:

  • Определить сетевые настройки, в т.ч. получить ip-адрес. В случае если планируется локальная установка СЭО 3KL внутри локальной сети, требуется внутренний (локальный) ip-адрес, предназначенный для применения в локальных сетях. В случае если планируется публичное размещение сайта в интернете, требуется выделить внешний (публичный) ip-адрес напрямую на сервер. К нему будет привязано доменное имя, которое позволит внешним пользователям обращаться к системе. Основное взаимодействие с системой идет через порты 80 и 443, их нельзя блокировать.
  • Произвести разбивку диска. Разбивку диска на разделы следует осуществлять по одной из схем: простой, с выделением раздела для резервных копий, или детальной. Желательно при этом использовать менеджер логических томов (Logical Volume Manager, LVM) для операционных систем на базе Linux, который позволяет использовать разные области одного жесткого диска или области с разных жестких дисков как один логический том. Использование LVM позволяет оперативно изменять размер логического тома, добавлять и удалять новые диски.  Для оптимального использования ресурсов и производительности рекомендуется применять следующую детальную схему:
    • Корневой раздел (30Гб + 20% резерв).
    • Раздел для статических данных (планируемый объем полезных данных + 20% резерв). 
    • Раздел для инкрементных резервных копий (объем полезных данных, помноженный на 2, + 20% резерв).
    • Раздел для СУБД (планируемый объем базы данных + 20% резерв). Рекомендуется использовать быстрые SSD-диски.
      Планируемый объем базы данных определяется индивидуально. Если невозможно или затруднительно определить планируемый объем базы данных, рекомендуется стандартный, наиболее часто встречающийся объем для небольших и средних баз данных, - до 1Гб.
    • Раздел для временных файлов (объем полезных данных + 20%). Рекомендуется использовать быстрые SSD-диски.
      Для лучшего восстановления данных из резервных копий, в качестве минимального стартового рекомендуется объем, равный объему самого большого курса в системе, + 20%.
    • Своп, равный объему оперативной памяти.
  • Установить на сервер операционную систему (ОС) Ubuntu Server 20.04 LTS 64bit.
  • Подключить сервер к сети «Интернет» через роутер по стабильному каналу передачи данных. Потребность в пропускной способности в мегабитах в секунду рассчитывается по формуле: 5 + (количество конкурентных пользователей /10) мегабит в секунду. Требуемая минимальная пропускная способность подключения составляет 10 мегабит в секунду.
На сервере следует размещать только СЭО 3KL. Во избежание проблем с производительностью и безопасностью не рекомендуется размещать в пределах одной технической площадки с СЭО 3KL какие-либо другие веб-сайты и сервисы. В случае администрирования таких СЭО 3KL компанией «Открытые технологии» на них  не будет распространяться гарантийная техподдержка. В случае же их самостоятельного администрирования наличие сторонних сервисов на одном физическом сервере или виртуальной машине с СЭО 3KL несет повышенный риск технических конфликтов, проблем с производительностью, затруднит администрирование и поиск неисправностей. Если имеется необходимость в размещении нескольких веб-приложений или сайтов на одном сервере вместе с СЭО 3KL, рекомендуется воспользоваться средствами виртуализации, чтобы разграничить сервисы по виртуальным машинам. 

-Вернуться к содержанию-

3.2.4. Настройка серверного окружения

Перед установкой СЭО 3KL следует провести подготовку установленной операционной системы на сервере:

1) Убедиться, что на сервере приняты необходимые меры безопасности, на все системные учетные записи установлены несловарные пароли длиной более 16 символов, содержащие как строчные, так и прописные буквы, а также цифры и специальные символы.

2) Настроить автоматическое резервное копирование по расписанию, систему мониторинга сервера и систему автоматического обнаружения вторжений и блокировки атакующих ip-адресов.

3) Определить структуру директорий и файлов, в которых будут храниться установочные, пользовательские файлы и база данных СЭО 3KL. Их расположение будет иным, чем приведено выше в п. 1.2 для случаев, когда СЭО 3KL устанавливается компанией «Открытые технологии» (т.е. предстоит самостоятельно определить и прописать пути к файлам системы на сервере). Можно использовать похожие наименования папок и пути, либо придумать собственные:

  • Для хранения исполняемых файлов СЭО 3KL можно использовать путь вида /www/[htdocs], где [htdocs] - это корневая веб-директория системы. Если вы используете дистрибутив СЭО 3KL от компании «Открытые технологии», достаточно будет распаковать ранее загруженный на сервер архив дистрибутива в директорию /www/[hostname], где [hostname] - это веб-директория хоста. Для извлечения архива в формате .tgz, можно воспользоваться консольной командой tar, архива в формате .zip - командой unzip. В зависимости от версии СЭО 3KL, будут извлечены папки /htdocs, /data и /cli.
    Допустимо переименовать папку /[htdocs] и использовать любое другое название (например, /moodle и т.п.), либо переместить содержимое папки /htdocs в корневую директорию хоста.
  • Для хранения пользовательских файлов (загруженные и временные файлы, кэши, данные о сессиях и т.д.) можно использовать путь вида /www/[data], где директория [data] должна располагаться вне корневой веб-папки сайта или папки с исполняемыми файлами. Если путь этой директории будет доступен через интернет, возникнет уязвимость, а сама система не установится. Воспользуйтесь консольной командой mkdir для создания директории и установите командой chmod 0777 права на запись в нее для всех пользователей. Допустимо переименовать папку [data] и использовать любое другое название (например, /moodledata и т.п.).

4) Подготовить и настроить серверное (системное) окружение в соответствии с требованиями п. 6.8 Регламента предоставления сервисов ООО «Открытые технологии». Например, для версии 3.9.14a действуют следующие требования:

  • Требуемая локаль по умолчанию — ru_RU.UTF-8.
  • Интерпретатор PHP 7.2, с расширениями: mysqlnd, bcmath, dom, gd, json, pdo_dblib, pgsql, shmop, sqlite3, tokenizer, xmlwriter, opcache, openssl, calendar, exif, gettext, ldap, pdo_mysql, phar, simplexml, sysvmsg, wddx, xsl, pdo, ctype, fileinfo, iconv, mbstring, pdo_pgsql, posix, soap, sysvsem, xmlreader, zip, xml, curl, ftp, intl, mysqli, pdo_sqlite, readline, sockets, sysvshm, xmlrpc, zlib, spl, pcre, hash; и настройками: memory_limit не менее 256 мегабайт, file_uploads включен, max_execution_time не менее 600 секунд, opcache.enable включен.
  • Веб-сервер Apache 2.4 или Nginx.
  • СУБД MySQL 5.6 и выше. Рекомендуемой является именно MySQL, также допустимо использовать MariaDB и для очень больших систем PostgreSQL. Не рекомендуется MSSQL, поскольку система менее всего протестирована на этой СУБД, высока вероятность в будущем столкнуться с неподдающимися исправлению ошибками. Для создания базы данных в MySQL можно воспользоваться приложением phpMyAdmin, которое предоставляет веб-интерфейс для администрирования СУБД MySQL. Требуется указать следующие данные:
    • dbhost - название хоста сервера базы данных (localhost, если база данных и веб-сервер на одном и том же хосте);
    • dbname - название базы данных (любое название, например, moodle);
    • dbuser - пользователь базы данных (любое название, например, moodleuser, - не используйте название суперпользователя root);
    • dbpass - пароль для пользователя базы данных.
  • Скрипт Unoconv, позволяющий конвертировать документы различных форматов.
  • КриптоПро CSP, КриптоПро ЭЦП SDK (необходимо для функции интеграции с ЕСИА).
  • Планировщик Cron установлен.
  • Время должно быть синхронизировано с интернет-службами NTP. 
Если в Расширенном анонсе устанавливаемой версии СЭО 3KL, который был опубликован в Базе знаний, указаны иные требования к системному окружению, действуют требования, указанные в таком анонсе.

После настройки окружения сервер будет готов к запуску установщика СЭО 3KL для создания таблиц базы данных и конфигурирования сайта.

-Вернуться к содержанию- 

3.3. Установка системы

Загрузите архив дистрибутива на сервер. Это можно сделать разными способами: через панель управления вашего хостинга, если таковая имеется (ISPmanager, CPanel  и т.д.), по FTP/SFTP или SSH. Для загрузки дистрибутива на сервер через командную строку терминала по SSH можно использовать консольную команду 

scp [russianmoodle.3.9.13c.release.tar.gz] [user]@[hostname]:.

где
[russianmoodle.3.9.13c.release.tar.gz] - это файл дистрибутива,
[user] - имя пользователя вашего сервера,
[hostname] - веб-адрес вашего сервера или его IP-адрес.

Команду следует запускать из директории с архивом дистрибутива.

Установить СЭО 3KL можно двумя способами:

1) Установка запуском мастера инсталляции в командной строке терминала. При запуске из корневой папки сайта, консольная команда будет иметь вид
/usr/bin/php /htdocs/admin/cli/install.php , где

/usr/bin/php - это путь к интерпретатору php (измените на свой путь, если устанавливаемой версии СЭО 3KL соответствует другая cli-версия php, чем установленная на вашем сервере по умолчанию),
/htdocs/admin/cli/install.php - это относительный путь к файлу с установочным скриптом (измените на свой).

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

Запустится программа установки системы через командную строку. По мере установки в терминале будут появляться сообщения с предложениями выбрать язык установки, определить веб-адрес, прописать путь к каталогу пользовательских данных (data, или moodledata), выбрать драйвер, сервер, название, порт, пользователя и пароль базы данных, принять условия пользования авторскими права и др. Пропишите необходимые данные и завершите установку. 

2) Установка запуском мастера инсталляции через веб-интерфейс в браузере. После распаковки дистрибутива СЭО 3KL в корневую папку сайта перейдите  на  URL главной страницы вашей системы, чтобы запустить скрипт установки. Предварительно установите на папку с исполняемыми файлами права чтения командой chmod -R 0755.

 В появившемся окне выберите язык установки (русский). Укажите веб-адрес, пути к каталогу с исполняемыми файлами и каталогу с пользовательскими файлами (Рис. 3.3.1).

Рис. 3.3.1. Шаги установки СЭО 3KL. Подтверждение путей.  

 Выберите драйвер базы данных (Рис. 3.3.2), укажите сервер (localhost), название базы данных, пользователя и пароль (Рис. 3.3.3).

Рис. 3.3.2. Шаги установки СЭО 3KL. Выбор базы данных.

Рис. 3.3.3. Шаги установки СЭО 3KL. Настройки базы данных.

После принятия лицензионного соглашения будет проведена проверка соответствия техническим и системным требованиям, продолжится установка и откроется страница настроек (Рис. 3.3.4). В разделе общих настроек следует указать логин администратора, пароль, ФИО, email, а также опционально дополнительные сведения (Рис. 3.3.5).

Рис. 3.3.4. Шаги установки СЭО 3KL. Страница настроек.

Рис. 3.3.5. Шаги установки СЭО 3KL. Страница настроек. Раздел настройки.

 Укажите название сайта, описание  для главной страницы, локацию и другие сведения (Рис. 3.3.6) и зарегистрируйте ваш сайт (Рис. 3.3.7).

Рис. 3.3.6.  Шаги установки СЭО 3KL. Настройки главной страницы.

Рис. 3.3.7. Шаги установки СЭО 3KL. Регистрация сайта.

По завершении установки появится главная страница сайта СЭО 3KLс предложением создать новый курс. Требуется ввести серийный номер программного продукта, полученный от компании «Открытые технологии» после приобретения лицензии в соответствии с выбранным тарифным планом, и сделать завершающие настройки:

  • Прописать один или несколько SMTP-серверов для отправки электронной почты в Настройки->Администрирование->Сервер->Электронная почта->Настройка исходящей почты. 
  • Указать контакты службы поддержки (имя, email, страница) в Настройки->Администрирование->Сервер->Контакты службы поддержки.
  • Прописать системные пути (к PHP CLI, утилите du, исполняемому файлу aspell, dot и др.) в Настройки->Администрирование->Сервер->Системные пути.
  • Если используются прокси-сервера/файервол, указать их данные в Настройки->Администрирование->Сервер->HTTP.
  • По необходимости отредактировать часовой пояс и местонахождение ip-адреса в Настройки->
  • Администрирование->Местонахождение->Настройки местонахождения. 
  • Настроить периодичность запуска  скрипта планировщика cron в файле [htdocs]/admin/cli/cron.php, где [htdocs] - это директория с исполняемыми файлами СЭО 3KL. Рекомендуемое расписание планировщика cron для выполнения задач на сервере - ежеминутно.
  • Настроить периодическое резервное копирование системы, сделать настройки безопасности и проверить работу исходящей и входящей электронной почты.
  • Настроить внешний вид главной страницы (шапка страницы, подвал страницы, цветовая схема, боковые фоны и т.д.) в Настройки->Администрирование->Внешний вид->Темы->СЭО 3KL->Стандартный профиль.

-Вернуться к содержанию-

Теги: администрирование, система
Рейтинг ответа: 0 (0 оценок)

Комментарии запрещены