Вступление
Здесь речь пойдет о быстрой установке WordPress с нужным набором плагинов (а не о сборке фронтенда). Если лень читать всю статью, можно сразу перейти к скрипту.
Из-за того, что в последнее время очень часто приходится делать простые и однотипные сайты на WordPress, захотелось как-то избавить себя от лишней рутины и немножко автоматизировать этот процесс.
Как я раньше разворачивал WordPress
В общих чертах это выглядело так:
- Скачивал архив с последней версией WordPress с официального сайта;
- По FTP загружал архив на виртуальный хостинг и распаковывал его через ПУ хостинга;
- Устанавливал WordPress;
- Загружал свою тему;
- Устанавливал все нужные плагины;
- Производил дальнейшую настройку и заполнение контентом.
В целом не так уж много работы, если проделывать это раз или два раза в месяц. Но когда начинаешь делать это чаще — хочется процесс оптимизировать.
Формирование задачи
Недолго думая пришел к выводу, что в идеале хочу получить PHP-скрипт, который при запуске сам всё сделает. А именно:
- Скачает последнюю версию WordPress и запустит процесс установки;
- Скачает последние версии плагинов и установит их;
- Установит мою тему;
- Активирует мою тему;
- Активирует установленные плагины;
- Произведет чистку: удалит дефолтные плагины, темы и демо страницы/записи;
- Произведет базовые настройки WordPress (отключит комментарии, установит параметры ЧПУ и прочее);
- Создаст нужный набор страниц / категорий;
- Произведет базовую настройку плагинов.
То есть пусть машина сделает всё, что может, а остальное сделает человек :)
Ссылаясь на название статьи подчеркну, что здесь мы решим первые 3 пункта из этого списка. Для остальных я как-нибудь напишу отдельную статью.
Поиск готового решения
«Наверняка кто-то уже сделал всё это до меня» — подумал я, и полез в гугл искать более-менее подходящее под мои требования решение.
Я нашел два варианта, заслуживающих внимания. Оставлю ссылки на них здесь, вдруг они подойдут кому-то больше, чем мое итоговое решение.
Волшебная сборка проекта на WordPress при помощи пакетных менеджеров и напильника — статья на Хабре. Вот что-то такое мне и нужно было, автор в самом начале как раз расписал мои боли :) Но это решение мне не подходит, т.к. установка происходит из командной строки. А я работаю с shared-хостингами и не везде можно быстро получить доступ по SSH.
WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure — нечто похожее на предыдущий вариант, но с более широким функционалом. Опять же: композер и командная строка — не подходит.
Итоговое решение задачи
В итоге на гитхабе нашел скрипт tschoffelen/install.php — он скачивает и запускает установку последней версии WP. Я немного доработал его, чтобы он аналогично скачивал и распаковывал последние версии нужных мне плагинов, а затем удалял сам себя (не вручную же его удалять).
Теперь у меня есть репозиторий с вот такой структурой:
/wp-content/themes/*моя_тема*/
install.php
Я закидываю содержимое этого репозитория на хостинг, запускаю install.php. Качается вордпресс и нужные плагины, папка с темой уже на месте. Остается пройти установку WP и вручную (пока вручную :D ) доделать всё остальное.
Скрипт выложил на GitHub: sinyavsky/install.php