Мне частенько требуется поднять «чистый друпал» для тестирования какой-то фичи или нового модуля. Для быстрой установки друпала есть соответствующие драш команды, но ведь еще нужно создавать хост, директорию, рестартить апач. В общем куча мелочей, которые не хочется делать каждый раз. Я написал небольшой скрипт который автоматически создает хост для апача и устанавливает друпал в указанную директорию.
Запуск скрипта осуществляется с помощью 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
Буду рад отзывам!
Автор: IlyinEugene