Выбор серверного окружения или как не нужно ставить Moodle
Выбор серверного окружения или как не нужно ставить Moodle
статья Алексея Дьяченко
Поскольку среда дистанционного обучения Moodle является довольно популярной, на специализированных форумах регулярно всплывают обсуждения наиболее подходящего серверного окружения.
Moodle базируется на кросс-платформенных технологиях (LAMP), поэтому приложив время, силы и знания, можно заставить Moodle работать где угодно, от Moemo до Windows. В то же время, ни одна из платформ не является «серебрянной пулей».
Moodle — это профессиональный программный продукт Enterprise-уровня. По сложности, его можно сравнить с корпоративной ERP/CRM-системой. Разработчики сделали его дружественным к пользователю и удобным в администрировании настолько, насколько это возможно. И эта внешняя простота провоцирует дилетантский подход к внедрению: кажется, если специалист успешно справляется с установкой MS Office, администрированием сайта на Joomla или эрудирован в IT-технологиях, он без труда за час справится с установкой 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 с рекомендованной им технологией.
Всё перечисленное справедливо не только для 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. Даже сборщики шкафов и сантехники приносят с собой набор привычных и удобных им инструментов. Поэтому, закончить хочу пословицей: «В умелых руках и палка стреляет». И ни одна платформа не подходит для промышленного внедрения, если специалист делает это впервые.