Pull to refresh

Drush команда для мгновенной установки друпала

Reading time2 min
Views4.6K
Мне частенько требуется поднять «чистый друпал» для тестирования какой-то фичи или нового модуля. Для быстрой установки друпала есть соответствующие драш команды, но ведь еще нужно создавать хост, директорию, рестартить апач. В общем куча мелочей, которые не хочется делать каждый раз. Я написал небольшой скрипт который автоматически создает хост для апача и устанавливает друпал в указанную директорию.


Запуск скрипта осуществляется с помощью Drush команды drush idi — install Drupal instantly.

Думаю приводить исходный код смысла нет. Если кому-то интересно, то можно ознакомиться самостоятельно. Я лишь распишу основные действия, которые выполняются при работе скрипта.

Порядок работы.

1. Создание виртуального хоста апач:
  • создается файл хоста в /etc/apache2/sites-available и симлинк для включения сайта (имя хоста вы вводите сами);
  • добавляется соответствующая запись о хосте в /etc/hosts;
  • создается директория указанная в качестве document root.

2. В директорию, указанную в качестве document root скачиваются файлы друпала (можно выбрать 6 или 7 версию). Используется команда drush dl drupal.
3. Производится установка друпал (создание базы данных и стандартная установка). Используется команда drush site-install.
4. Рестарт апач (опционально) и сайт готов к работе.

Таким образом можно поднять хост с друпалом буквально за 30 секунд, причем это время необходимое для скачки файлов друпала, создания БД и прочих операций. Вам лишь нужно чуть чуть подождать.

Установка и настройка.

Установка крайне проста:
1. Необходимо скачать файлик idi.drush.inc и поместить его в папку .drush в вашем домашнем каталоге. Например /home/user/.drush/idi.drush.inc
2. Нужно почистить кеш drush с помощью команды drush cache-clear drush.
3. Теперь можно запускать команду sudo drush idi

Нюанс.

Возможно кого то это смутит, но скрипт необходимо запускать из под sudo т.к. он размещает хосты в папке /etc/apache2 и модифицирует файл /etc/hosts, это возможно только с рут правами.

Ограничения.

1. Скрипт написан на PHP использует функции exec и т.п. для выполнения shell команд, они должны быть разрешены.
2. У вас должен быть установлен и настроен Drush.
3. Скрипт ориентирован на работу с сервером apache и СУБД mysql, т.к. этот набор зачастую используется на компьютерах для разработки.

Ссылка на проект — DRUSH IDI

Буду рад отзывам!
Tags:
Hubs:
Total votes 13: ↑9 and ↓4+5
Comments27

Articles