Bedrock — это стартовый шаблон для WordPress с современными инструментами разработки, простым конфигурированием и улучшенной файловой структурой:
- файлы и папки
wp-content/
перемещены вapp/
- управление установкой WordPress и плагинов с помощью менеджера пакетов Composer. Вы и ваша команда будете точно знать о всех зависимостях.
- настройки сайта осуществляются с помощью присвоения значений переменным в одном конфигурационном файле
.env
.
Кроме этого, Bedrock может быть дополнен замечательным плагином Soil и стартовой темой Sage. В статье описан алгоритм развертывания проекта на его основе в Ubuntu 16.04. Туториал по установке Bedrock в Windows здесь.
Требования к установке:
Установка LAMP в Ubuntu
Установка утилиты командной строки tasksel
sudo apt-get install tasksel
Установка LAMP
sudo tasksel install lamp-server
Для проверки установки откройте в любом браузере адрес localhost
. Если отображается страница с заголовком "Apache2 Ubuntu Default Page" — установка LAMP прошла успешно.
Настройка виртуального хоста
В данном примере папка проекта: ~/www/example.local
Любым текстовым редактором создайте в папке sudo vim /etc/apache2/sites-available/
файл
example.local.conf
. Я делаю это так:
sudo vim /etc/apache2/sites-available/example.local.conf
Содержание файла example.local.conf
<VirtualHost *:80>
ServerName example.local
DocumentRoot /home/eustatos/www/example.local/web
<Directory />
Options Indexes FollowSimLinks Includes ExecCGI
AllowOverride All
Require all granted
Allow from all
</Directory>
</VirtualHost>
Активируем сайт нашего проекта
sudo a2ensite example.local
Далее вносим дополнения в файл /etc/hosts
127.0.0.2 example.local
На этом настройка хоста для нашего проекта закончена.
Перед установкой Composer
убедимся, что установлен php
php -v
Если отображается информация о версии php
, то переходим к следующему шагу
Установка менеджера пакетов composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --install-dir=/usr/bin/composer
php -r "unlink('composer-setup.php');"
Для установки composer
глобально выполните
sudo mv composer.phar /usr/bin/composer
Для проверки корректной установки глобально выполните
composer about
При корректной установке глобально будет выведена информация о composer
.
Если установлен php7.0, то необходимо дополнительно выполнить:
sudo apt-get install php-xml
Установкa BedRock
Как было сказано выше, наш проект размещается ~/www/example.local
Способ 1
Скопируйте git-репозиторий с Bedrock:
cd ~/www
git clone git@github.com:roots/bedrock.git example.local && cd example.local
Если SSH-ключ не установлен на локальной машине и github, выполните:
cd ~/www
git clone https://github.com/roots/bedrock.git example.local
Выполните
cd ~/www/example.local
composer install
Способ 2
Рекомендуемый разработчиками
cd ~/www
composer create-project roots/bedrock example.local
Для обоих способов, если composer
установлен локально вместо composer
указываем php {путь}composer.phar
.
Настройка Bedrock
Копируем файл .env.example
в файл .env
DB_NAME=wp_example
DB_USER=wp_example
DB_PASSWORD=password
DB_HOST=localhost
WP_ENV=development
WP_HOME=http://example.local
WP_SITEURL=${WP_HOME}/wp
# Generate your keys here: https://roots.io/salts.html
AUTH_KEY=
SECURE_AUTH_KEY=
LOGGED_IN_KEY=
NONCE_KEY=
AUTH_SALT=
Значения ключей AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, MONCE_KEY, AUTH_SALT можно получить по ссылке
Установить WP-CLI Dotenv command
wp package install aaemnnosttv/wp-cli-dotenv-command:^1.0
После создаем .env
и генерируем ключи
wp dotenv init --template=.env.example --with-salts
При желании можно и остальные параметры изменить таким образом:
wp dotenv set DB_NAME wp_example
wp dotenv set DB_USER wp_example
wp dotenv set DB_PASSWORD password
wp dotenv set DB_HOST localhost
wp dotenv set WP_HOME http://example.local
$ mysql -u root -p
mysql> CREATE USER 'wp_example'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE wp_example CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON wp_example.* TO 'wp_example'@'localhost';
Настройка WordPress
- Откройте удобным браузером http://example.local/wp/wp-admin
- Введите запрашиваемую информацию
- Настройка завершена
Комментарии (3)
nektobit
29.09.2016 19:19А вот по структуре — у меня после установки bedrock использует themes, plugins, uploads по стандартному пути \web\wp\wp-content. Как его заставить использовать папки из app?
eustatos
29.09.2016 19:30Возможно, неверно настроен виртуальный хост.
DocumentRoot /home/eustatos/www/example.local/web
Обратите внимание на
web
.
Возможно, нарушена структура каталогов. Она должна быть следующей
/home/eustatos/www/example.local +-- config +-- vendor L-- web +-- app L-- wp
Возможно, некорректно настроен файл
.env
hudson
А Timber не хотите в качестве шаблонизатора попробовать? Я в общем-то далёк от Wordpress разработки, но в последнее время довелось поднять проект на WP + Composer + Timber. Timber это Twig для вордпресса. Создание тем стало в разы приятнее, появилось некое подобие контроллеров. В общем вполне позитивный опыт.