Выбор серверного окружения или как не нужно ставить Moodle

в 14:17, , рубрики: lamp, moodle, Учебный процесс в IT

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

Я занимаюсь внедрением Moodle больше 12 лет, столько, сколько существует сама СДО Moodle. За это время я сталкивался с десятками инсталляций, а моя команда сделала их сотни. На разных платформах от Moemo до Windows. Поэтому, могу с уверенностью сказать, приложив время, силы и знания, может заставить Moodle работать где угодно. В то же время, ни одна из платформ не является «серебрянной пулей».

Moodle — это профессиональный программный продукт Enterprise-уровня. По сложности, его можно сравнить с корпоративной ERP/CRM-системой. Разработчики сделали его дружественным к пользователю и удобным в администрировании настолько, насколько это возможно. И эта внешняя простота провоцирует дилетантский подход к внедрению: кажется, если специалист успешно справляется с установкой MS Office, администрированием сайта на Joomla или эрудирован в IT-технологиях, он без труда за час справится с установкой Moodle, а, затем, сможет вернуться к основным обязанностям.

Приведу 4 распространенных антипаттерна инсталляции Moodle:

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

Первые трудности появляются уже при настройке внешнего доступа из интернет, поэтому форумы пестрят вопросами вида «почему у меня открывается ссылка 127.0.0.1/moodle, а у других — нет? Где вписать новый адрес elearning.world-school-of-everything.narod.ru, чтобы заработало?».

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

Справедливости-ради, следует отметить, что начинающие Linux-администраторы, устанавливающие Moodle командой apt-get install moodle или копированием дистрибутива в /var/www системного веб-сервера находятся примерно там же.

Веб-мастера могут сделать обобщение, что раз Moodle написан на PHP и использует SQL-базу данных, то это — обычный CMS-движок, как Joomla, а значит, его можно по FTP закачать на хостинг за 100 рублей в месяц и нажать кнопку «установить» в интерфейсе администратора. Оставим за кадром, что даже CMS-движкам важных сайтов стоит уделить побольше внимания, компетентности и системных ресурсов. Это обобщение аналогично выводу, что рейсовый автобус — это тот же мотороллер, и его тоже можно парковать в сарае, заправлять смесью бензина и масла, эксплуатировать без обслуживания пока не сломается, а потом ремонтировать во-дворе с помощью набора отвёрток и гаечных ключей: технологии похожи, но разный масштаб, сложность системы, нагрузка и уровень ответственности.

Здесь, в лучшем случае, веб-мастер получит «белую страницу» еще на этапе установки — это сработает защита хостинг-провайдера от превышения системных лимитов. Если бы провайдеры за 100 рублей раздавали всем неограниченные ресурсы — они давно бы разорились на железе. Если ресурсов на установку хватит, пользователи «познакомятся» с защитой хостера чуть-позже: когда начнут наполнять систему материалами, возрастёт нагрузка или начнут использоваться специфичные функции, такие как импорт/экспорт курсов.

Большинство провайдеров стараются по-умолчанию установить побольше библиотек и возможностей, но для полноценного функционирования Moodle их всё-равно не хватает. Помимо медленной и нестабильной работы СДО, могут возникнуть проблемы с исполнением фоновых задач, рассылкой уведомлений, синхронизациями, сетевым взаимодействием, импортом/экспортом, проверкой текстов на орфографию, проверкой вложений на вирусы, работой с формулами, отображением «тяжелого» контента и ряд других трудностей.

Эрудиты — это самый трудный случай. Из них иногда получаются очень хорошие профессионалы, но для этого нужно много времени, терпения и, часто, несколько загубленных проектов и критических сбоев с потерей всего контента. На обсуждаемом этапе они вдохновенно убеждают руководство в целесообразности развёртывания системы на FreeBSD/Mac OSX Server/блейд-сервере/MS SQLServer/чём-угодно-еще и требуют этого от подрядчика, умело оперируя профессиональной терминологией и цитируя авторитетов. Практические же их навыки часто ограничиваются умением заказать виртуальную машину с предустановленной FreeBSD, а бьющий кодировку страниц веб-сервер или иерогливы, вместо дней недели объясняются дефектами самой Moodle, а не неумением эрудита настроить локаль под FreeBSD.

Всё перечисленное справедливо не только для Moodle, но и для любой другой СДО, ERP/CRM-системы или профессионального интернет-магазина (Magento etc.). Не может быть «простой и лёгкой СДО» потому что сама предметная область сложна и многообразна. Лёгкая СДО в этом смысле похожа на ловушку с широким входом и узким выходом: очень скоро, любой организации станет в ней тесно и некомфортно. Смена уже внедрённого решения во много раз сложнее первоначального внедрения.

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

Наша компанда выбрала для себя Ubuntu Linux Server, как на стабильную, легко и регулярно обновляемую и удобную в администрировании систему. Её бесплатность является немаловажным фактором, так как влияет на общую стоимость внедрения.

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

Для нас оказалась очень полезна возможность автоматизации операций написанием скриптов и созданием deb-пакетов. Доступность в Linux бесплатных, но профессиональных инструментов мониторинга, резервного копирования и массового администрирования, систем виртуализации делает эту платформу особенно привлекательной.

Из всех операционных систем и дистрибутивов, которые я видел, Ubuntu Linux Server обладает наибольшей готовностью к развёртываю Moodle, хотя и там требуется установить и настроить десятки дополнительных пакетов. Но применение типовой платфомы позволяет всё это легко автоматизировать. А проблему недостатка на рынке специалистов, свободно ориентирующихся в Linux мы решаем очень просто: Ubuntu Linux является стандартом для всех рабочих мест наших технических специалистов. Любой разработчик, стажер или инженер техподдержки, даже если он не связан с администрированием серверов, невольно привыкает к платформе и тестирует все разработки сразу в том же окружении, что и на сервере.

У других команд специалистов вполне может быть другой опыт: масса успешных проектов на Window, FreeBSD или Max OS X Server. Даже сборщики шкафов и сантехники приносят с собой набор привычных и удобных им инструментов. Поэтому, закончить хочу пословицей: «В умелых руках и палка стреляет». И ни одна платформа не подходит для промышленного внедрения, если специалист делает это впервые.

Автор: alexdjachenko

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js