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, автоматическое резервное копирование и многое другое). Список доступных модулей можно найти на этом сайте.