Использование Aegir для развертывания сайтов Drupal на сервере Debian

Aegir – это система хостинга для сайтов Drupal, основанная на Drush и средствах развертывания Drupal. Aegir позволяет размещать сайты Drupal, а также эффективно разворачивать и легко управлять ими. Веб-интерфейс этой системы хостинга позволяет создавать новые или загружать уже существующие сайты. Эта система используется во многих компаниях, которые работают с Drupal.

Требования

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

  • Базовые навыки управления системой Linux;
  • Root-доступ;
  • Время для экспериментов.

Кроме того, понадобится свежий сервер Debian 7 и 1 Гб оперативной памяти как минимум.

Примечание: Конечно, при помощи данного руководства Aegir можно установить и на другие системы, например, в Ubuntu. Существуют способы установить Aegir даже без доступа root, но это требует продвинутых навыков работы с Linux.

Установка Aegir

Aegir можно установить при помощи системы пакетов apt, но сначала нужно подготовить систему, чтобы установка прошла без каких-либо ошибок.

Обновите пакеты и систему:

aptitude update
aptitude safe-upgrade

Войдя на сервер как root, добавьте репозиторий проекта в систему при помощи команды:

echo "deb http://debian.aegirproject.org stable main" >> /etc/apt/sources.list.d/aegir-stable.list

Пакет Aegir является самоподписанным, потому нужно добавить в систему его ключ:

wget -q http://debian.aegirproject.org/key.asc -O- | sudo apt-key add -
aptitude update

Для установки Aegir требуется FQDN (Fully Qualified Domain Name, полное доменное имя).  В целом, имя хоста можно получить при помощи команд hostname -f и uname –a, и оно должно преобразовываться в IP-адрес сервера.

К примеру, чтобы установить домен aegir.example.com как FQDN сервера, его нужно поместить в файл /etc/hostname:

echo 'aegir.example.com' > /etc/hostname

Также нужно добавить этот домен в файл /etc/hosts, который в итоге будет иметь следующий вид:

127.0.0.1 aegir.example.com localhost
222.222.222.222 aegir.example.com localhost

Примечание: Не забудьте заменить второй IP-адрес внешним IP-адресом сервера сервера!

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

Теперь можно приступать к установке Aegir; для этого просто запустите приведенную ниже команду. Обратите внимание: в процессе установки нужно указать root-пароль mysql и URL фронтэнда Aegir (например, доменное имя, используемое для доступа к управлению Aegir).

aptitude install -y aegir2

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

Система aegir установлена и готова к использованию! Теперь нужно разобраться, как работает Aegir.

Основы работы с Aegir

Как видите, главный сайт управления выглядит как Drupal 6. Это и есть Drupal 6, поскольку, как говорилось ранее, система Aegir основана на Drupal и Drush. Aegir состоит из трех основных элементов – сервера, сайта и платформы, которые представлены в виде узлов, или нод (англ. node). Один сайт, как и одна платформа, равен одной ноде. Рассмотрим элементы Aegir подробнее.

Сервер – система Aegir способна запускать сайты на нескольких отдельных серверах. Например, файлы сайта можно разместить одном сервере вместе с файлами Aegir, а базу данных MySQL – на другом сервере.

Платформа – это место для хранения файлов сайта. Одна платформа может обрабатывать столько сайтов, сколько вы хотите – для этого она использует функцию мульти-сайтов Drupal. То есть, одно ядро Drupal плюс файлы определенного сайта помещаются в папки sites/web1.com or sites/web2.com.

Теперь можно приступать к развертыванию первого сайта!

Создание нового сайта

Для начала нужно создать платформу, которая будет основой сайта. Также нужно указать, что именно должна использовать платформа; для этого используется так называемый makefile. Этот файл содержит информацию о версии Drupal, модулях, и т.д. Для его создания используется очень простая команда; нужно сменить пользователя root на aegir, создать makefile и заполнить его данными.

su aegir
cd /var/aegir/platforms
mkdir makefiles && cd makefiles
touch d7.make

Теперь поместите следующий код в файл d7.make; этот файл объявляет загрузку ядра Drupal 7 и модули.

api = 2
core = 7.x
projects[] = drupal
projects[] = views
projects[] = pathauto
projects[] = wysiwyg
projects[] = token
projects[] = admin_menu

Теперь создайте платформу. Для этого можно использовать навигационную панель в верхней части экрана (Content management->Create content->Platform) или открыть форму для создания платформы (yourweb.com/node/add/platform). Рекомендуется использовать одно имя для папки и платформы. Например:

Name: hosting-d7
Path: /var/aegir/platforms/hosting-d7 (должно быть заполнено автоматически)
Makefile: /var/aegir/platforms/makefiles/d7.make
Drush make opton: Normal - Discards SCM files

Сохранив форму, подождите несколько минут, пока задача в Queue (справа) будет выделена зеленым.

Теперь можно создать сайт. Это тоже очень просто (Content management->Create content->Site в навигации или yourweb.com/node/add/site). Выберите профиль установки Standard.

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

Управление сайтом

После установки сайта можно ознакомиться с функциями Aegir.

Резервное копирование (Backup) – ручная система резервного копирования; автоматический бэкап можно настроить при помощи этого модуля.

Клонирование (Clone) – очень удобная функция для тестирования создает отдельный клон сайта, в котором можно безопасно проверить работу всех его новых функций.

Миграции (Migrate) – используется, как правило, для обновления модулей, ядра сайта, и т.п.

Отключение (Disable) – отключает сайты без какого-либо влияния на файлы (можно использовать для предотвращения атак или отключения пользователя, который не заплатил за хостинг).

С помощью модулей можно расширить Aegir и получить еще больше функций (аутентификация HTTP, поддержка Git, интеграция Piwik, автоматическое резервное копирование и многое другое). Список доступных модулей можно найти на этом сайте.

Tags: , , , , , ,

Добавить комментарий