Диплом: Система управления контентом сайта szn-ksk.yanao.ru

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
43
Рисунок 15 Окно настройки плагина AllVideos
После этого, как указано в документации к плагину, можно в материал
вставлять специальный тег {youtube}{/youtube}. Между отрывающим и
закрывающим тегом необходимо вставить идентификатор ролика youtube.
Например, так {youtube}vq8o6im-gM4{/youtube}. Идентификатор ролика можно
взять в адресной строке браузера, скопировав значение переменной watch?v=.
Следуя ранее приведенным действия можно устанавливать любые
расширения. Расширения могут быть установлены исключительно для панели
управления Joomla или исключительно для сайта. Крупные компоненты
зачастую имеют как видимые на сайте блоки, так и в панели управления.
44
ГЛАВА 3. ПОДГОТОВКА СИСТЕМЫ
ОТКАЗОУСТОЙЧИВОСТИ CMS
3.1. Резервное копирование и восстановление
Исходя из цели выпускной квалификационной работы, была поставлена
задача разработать систему резервного копирования и восстановления сайта, на
случай возникновения аварийных ситуаций в его работе. Система резервного
копирования и восстановления данных, является задачей номер один для любой
информационной системы. В CMS Joomla нет предустановленных средств
резервного копирования. Есть сторонние расширения, которые предоставляют
данный функционал, но в основном они платные или имеют ограниченный
функционал.
Зачем же нужно резервное копирование? Прежде всего, для
поддержания бесперебойной работы информационной системы в частности
нашего сайта. На сегодняшний день очень много случаев взлома сайтов и
других угроз в сети. Один из самых простых способов восстановить работу
сайта в случае атаки и отказа сайта – это запуск резервного сайта, отключение
основного. Если вы директор компании, предоставляющий услуги по
разработке и сопровождению сайта, для вас случаи выхода из строя сайта могут
оказаться фатальными и уничтожить ваш бизнес. В нашем случае сайт
Управления по труду и социальной защите населения Администрации
муниципального образования Красноселькупский район является основным и
обеспечивает целое направления деятельности учреждения. Внутри учреждения
принято негласное соглашение об уровне сервиса (SLA), в котором сообщается
о работе сайта в режиме 24/7. Так же в соглашении необходимо указать время
устранения нештатной ситуации и восстановления работы сайта. Попробуем
оценить данное время.
Для восстановления работы сайта нам необходимо восстановить его из
резервной копии, но это случай когда в результате атаки пострадала только
CMS. Иногда атака может быть произведена и на три необходимых для работы
45
Joomla компонента – это Web сервер Apache, СУБД MySQL или сервер
приложений php. Для восстановления работы любой из этих компонент
потребуется установка нового сервера с полным набором компонент. В главе 1
уже описана установка и настройка каждого из компонент. Если оценивать
время установки нового сервера с полным набором компонент с последующим
восстановлением сайта из резервной копии, то это может занимать до 20 часов.
Для более быстрого восстановления, необходимо использую готовый сервер с
рабочей копией сайта некоторой давности. Для восстановления такого сервера
потребуется всего лишь произвести процедуру восстановления из копии.
Займет это значительно меньше времени, чем установка нового сервера. Для
еще более быстрой процедуры восстановления работоспособности сайта
попробуем написать скрипт, который будет производить все действия
автоматически. Скорость такого восстановления, будет зависеть от
производительности системы, и не будет занимать более 15 минут.
Процедура резервного копирования для сайта предполагает создание
копии файлов CMS и создание дампа памяти базы данных Joomla. Резервное
копирование должно производится, ежедневно. При соблюдении такого
требования, мы не рискуем потерять значительный объем данных. Для
автоматического создания копий можно воспользоваться планировщиком
заданий в операционных системах windows или утилитой cron в linux подобных
операционных системах. Так как мы используем на сервере операционную
систему Ubuntu server, нам необходимо разработать скрипт и запланировать его
выполнение в cron. В приложении 1 приведен примерный вариант скрипта
резервного копирования. Для того, что бы данный скрипт запускался каждый
день примерно в 3 часа ночи, необходимо выполнить команду sudo nano
/etc/crontab и в открывшемся файле дописать в конце следующую строчку:
0 3 * * * root /home/igor/skripts/arhive-site.sh
Данная команда говорит демону cron запускаться когда на часах будет 0
минут, 3 часа, будет запущена команда /home/igor/skripts/arhive-site.sh
46
запускаемая пользователем root. При этом в каталоге /home/igor/skripts/ должен
обязательно быть файл arhive-site.sh с правами на запуск.
Для восстановления сайта из архивной копии необходимо выполнить
скрипт recovery-site.sh. Текст данного скрипта приведен в приложении 2.
Произведя замеры работы скрипта, можно оценить сроки устранения
неисправности на сайте и восстановления его из резервной копи. При текущем
объеме данных сайт szn-ksk.yanao.ru можно восстановить из резервной копии в
ручном режиме, без использования скрипта за пять минут. При этом
необходимо ежедневно производить резервное копирование, что предполагает
отключение web сервера Apache. В результате чего пользователи могут
наблюдать ошибки при загрузке сайта. В случае использования скрипта
восстановления сайта, времени затрачивается на его восстановления в пять раз
меньше, всего одна минута. В результате его использования время
недоступности сайта снижается до одной минуты. К тому же, запланировано
резервное копирование на три часа ночи и вероятность того, что кто-то из
пользователей заметит ошибку на сайте практически, равна нулю.
Итак, мы получили полностью работоспособный сайт. При этом
предусмотрели возможность его аварийного восстановления. Можно говорить,
что в такой конфигурации предоставляется сервис – сайт, работающий в
режиме 24/7 с перебоями в работе не более одной минуты в сутки, срок
восстановления работы сайта не более пяти минут. Пять минут, это время,
выбранное с запасом и предназначено для физического выключения
атакованного сервера, включение резервного и запуск скрипта восстановления
данных. При этом необходим еще сервер для хранения архивных копий.
Загружать и скачивать с него резервные копии можно командой scp.
Команда имеет не сложный синтаксис, сначала указывается источник
копирования затем приемник копирования. Ключ –R означает копировать
рекурсивно все вложенные папки и файлы. Например, так
scp –R /home/igor/backup/* igor@FILE-SERVER:/backup/
47
Если необходимо автоматизировать резервное копирование, данную
команду можно дописать в конец скрипта arhive-site.sh. Но в таком случае
команда будет запрашивать ввод пароля пользователя igor и остановится. Для
безопасного копирования без использования пароля генерирую ключи
шифрования. Для этого нам нужно на сервере с сайтом сгенерировать ключи и
открытый ключ отправить на сервер с резервными копиями.
Генерируем ключи командой: ssh-keygen -t rsa. Лучше эту команду
выполнить из под пользователя root и в таком случае открытый ключ будет в
каталоге /root/.ssh/id_rsa.pub. Переносим данный файл в каталог сервера с
копиями файлов /home/igor/.ssh/. После этого копирование резервных копий на
удаленный сервир будет происходить без запроса пароля.
Добавив еще одну строку в скрипт arhive-site.sh:
rm –Rf /home/igor/backup/*
мы получим ежедневные копии нашего сайта на удаленном компьютере.
В итоге мы получили скрипт файл, который автоматически запускается
в три часа ночи и создает резервную копию нашего сайта на удаленном
компьютере. Наличие копий позволит обезопасить сайт от значительного
количества угроз и проблем технического характера. Так же содержимое
резервной копии без труда позволит перенести наш сайт на хостинг сторонней
фирмы.
Следующей задачей выпускной квалификационной работы является
выяснение целесообразности такого переноса. Требуется выяснить,
способствует ли использования хостинга экономию денежных средств.
48
3.2. Возможности хостинг панелей
Еще один момент касаемо расходов по созданию и поддержанию работы
сайта, это расходы на покупку и содержание физического сервера. Так,
необходимо ежегодно оплачивать регистрацию доменного имени, оплачивать
потребляемую сервером электроэнергию и приобретать запчасти в случае
поломки сервера. Для проведения анализа, что экономней, содержать
собственный сервер или использовать готовые решения сторонних фирм в виде
хостинг панелей, проанализируем имеющиеся на рынке хостинг панели.
Хостинг (англ. hosting) – услуга по предоставлению ресурсов для
размещения информации на сервере, постоянно находящемся в сети (обычно
Интернет). Зачастую хостинг входит в пакет по обслуживанию сайта и
подразумевает как минимум услугу размещения файлов сайта на сервере, на
котором запущено ПО, необходимое для обработки запросов к этим файлам
(веб-сервер). Как правило, в обслуживание уже входит предоставление места
для почтовой корреспонденции, баз данных, DNS, файлового хранилища на
специально выделенном файл-сервере, а также поддержка функционирования
соответствующих сервисов. [11]
В нашем случае самым оптимальным вариантом будет использование
виртуального хостинга.
Виртуальный хостинг (англ. shared hosting) – вид хостинга, при котором
множество веб-сайтов расположено на одном веб-сервере. Это самый
экономичный вид хостинга, подходящий для небольших проектов.
Обычно каждый веб-сайт расположен на своём собственном разделе
веб-сервера, но они все вместе пользуются одним и тем же программным
обеспечением. [11]
Оценивая нагрузку на сайт, придем к выводу что посещаемость нашего
сайта очень низкая, не более 10 человек в день. Даже с учетом увеличения
нагрузки на сайт можно сделать вывод, что мощностей использования даже
самого малого количества ресурсов виртуального хостинга нам хватит.
49
Рассмотрим панель управления контентом – ISPmanager (Рисунок 16).
Рисунок 16 Хостинг панель ISPmanager
Данная панель более всего подойдет новичкам, потому, что в ней проще
всего разобраться. Отличительной стороной ISPmanager является продуманный
интерфейс, чем-то напоминающий привычный интерфейс Windows. Так же эта
панель имеет качественный перевод на несколько языков. Здесь есть
встроенные справочные видеоролики по работе с основными функциями,
описана работа практически со всеми разделами и функциями панели.
Это - продукт для индивидуального использования с возможностью гибкой
настройки сервера для четко определенных задач.
Преимущества:
Удобная установка дополнительного ПО — в частности, интеграция
отказоустойчивого кеширующего веб-сервера nginx;
Интуитивно понятный интерфейс;
Удобные мастера настройки системных служб;
Неограниченное количество пользователей и доменов;
Качественная локализация и справочная система;
50
Возможность кастомизации, настройки бренда.
К недостаткам можно отнести некоторые проблемы с импортом
пользователей между серверами, и зависимость работы панели от веб-сервера.
Рассмотрим следующую панель управления хостингом – DirectAdmin
(Рисунок 17).
Рисунок 17 Хостинг панель DirectAdmin
Из рисунка сразу видно – в данной панели ничего лишнего, есть только
то, что необходимо для управления работой сайтов на сервере. Пользователю
доступны все необходимые функции управления доменами, почтой, FTP-
аккаунтами и базами данных. Все инструменты отображаются в виде строковых
меню, разбитых на разделы. Навигация в панели интуитивно понятная, все
опции можно легко и быстро отыскать. Предназначена хостинг панель
DirectAdmin больше всего для продвинутых пользователей, знающих основы
работы linux систем.
51
Преимущества:
Скорость работы - DirectAdmin написан на С++ и работает как
отдельный демон;
Независимость от web сервера apache;
Отличная реализация резервного копирования и переноса
пользователей;
Заточенность под конкретные задачи — хостинг веб-сайтов;
Неограниченное количество пользователей и доменов.
Администраторы оценят такие преимущества, как простота установки
панели на сервер, возможность гибкой настройки ПО (компиляция из исходных
кодов с помощью служебных скриптов — custombuild), возможность
интеграции в панель плагинов, например таких как Installatron -
автоустановщик скриптов.
Как недостаток, можно отметить сложность русификации данной
панели, и отсутствие встроенной документации. На просторах Интернета есть
справочный ресурс на русском языке: site-helper.ru по хостинг панели
DirectAdmin.
В последнее время большой популярностью пользуется панель
управления CPanel (Рисунок 18). Данная панель от других отличается самим
подходом к управлению хостингом. DirectAdmin и ISPmanager – это
специализированные решения для хостинга, CPanel же обладает большим,
можно сказать даже, излишним функционалом, следовательно, наблюдается
некоторое неудобство использования. Существует большое количество
дополнений и плагинов к данной панели.
52
Рисунок 18 Хостинг панель CPanel
Подход «все в одном», являющийся идеологией cPanel. Данное решение
имеет множество поклонников. Можно сказать, что данная панель охватывает
около 40% рынка виртуального хостинга.
Преимущества:
Возможность быстрой установки ряда скриптов;
Удобные редактор кода и файл-менеджер;
Хорошая реализация бекапирования данных и миграции
пользователей;
Хорошая скорость работы;
Качественная русификация и мультиязычность.
Ощутимых преимуществ, в сравнении с описанными выше панелями не
наблюдается.
Из недостатков можно отметить ограниченное управление DNS,
сложность в обновлении, и связанные с этим риски.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран