habrahabr

Ставим Drupal 7.x + модули + локализацию за несколько минут

  • воскресенье, 1 марта 2015 г. в 02:12:17
http://habrahabr.ru/post/251721/

Добрый день!
За последнее время всё чаще и чаще выбор платформы под проекты клиентов падает на всеми любимый Drupal 7. В связи с этим приходится чуть-ли не каждый день повторять одну и туже серию операций подготовки «почвы» под будущий сайт:
1) Загрузка Drupal 7.x на сервер по FTP
2) Созданием базы данных
3) Установка Drupal через www.domain.ru/install.php
4) Установка всех необходимых модулей по их URL
5) Добавление русского языка и обновление всех переводов

Всё это отнимает значительное количество времени и в итоге было решено упростить данный процесс посредством установки Drupal полностью через командную строку. Для этого воспользуемся таким прекрасным инструментом как Drush.
Drush — средство управления сайтом на Drupal из командной строки.

Процесс установки данного инструмента разбирать не буду, так как информации в сети более чем достаточно, причем под любую ось. Достаточно загуглить что-то наподобие "drush install centos".

После успешной установки Drush — переходим в корневую директорию проекта (что-то типа /var/www/domain.ru/).

1) Сперва нам необходимо загрузить актуальную версию Drupal:

drush dl drupal

После успешной загрузки вы обнаружите новую директорию ./drupal-7.x (вместо x — будет версия сборки). Однако нам нужно, чтобы файлы CMS находились в текущий директории, поэтому выполним еще 3 команды:

mv ./drupal-7.x/* . mv ./drupal-7.x/.htaccess . rm ./drupal-7.x

2) Файлы находятся на своих местах — теперь выполняем установку Drupal командой si (site-install).

drush si [install_profile] --account-name=[admin_login] --account-pass=[admin_pass] --db-su=[root_login] \ --db-su-pw=[root_pass] --db-url=mysql://[mysql_user]:'[mysql_pass]'@'localhost'/[mysql_db] --site-name='[sitename]'

[admin_login],[admin_pass] — логин и пароль будущего администратора сайта (пользователь с id=1).
[root_login], [root_pass] — логин и пароль от пользователя root для работы с базой данных MySQL.
[mysql_user], [mysql_pass],[mysql_db] — данные для прописывания настроек в settings.php для работы с базой данных MySQL.
[install_profile] — установочный профиль Drupal (выбираем между «standrad» или «minimal»).
[sitename] — название будущего сайта (в дальнейшем всегда можно изменить в настройках).

В итоге получается что-то типа:

drush si minimal --account-name=admin --account-pass=123456 --db-su=root \ --db-su-pw=654321 --db-url=mysql://username:'password'@'localhost'/database --site-name='My new site on Drupal 7'

3) Теперь у нас имеется «голый» установленный Drupal с минимальным набором модулей и на английском языке. Далее поставим необходимые нам модули с помощью команды dl (download). Я приведу свою собственную сборку нужных модулей, у вас она может отличаться:
drush dl drush_language, admin_menu,devel,fancybox,token,ctools,filefield_paths,filefield_sources,jquery_update,l10n_update,module_filter,pathauto,views,ckeditor,insert,transliteration -y

Обратите внимание на модули l10n_update и drush_language — их установка обязательна для дальнейшей работы с языковыми настройками через Drush (см. пункт 4). Модуль drush_language необходимо устанавливать один раз на одной машине. После успешной установки всех модулей — включим необходимые нам модули с помощью команды en (enable):

drush en admin_menu,devel,fancybox,token,ctools,filefield_paths,filefield_sources,jquery_update,l10n_update,module_filter,pathauto,views,ckeditor,contact,field_ui,file,list,menu,number,syslog,admin_menu_toolbar,views_ui,insert,transliteration -y

Всё, теперь наша система обросла необходимыми нам модулями. Однако сайт будет на английском языке. К сожалению множество людей в нашей стране еще не обзавелось достаточным знанием английского языка, поэтому покажу как быстро перевести весь движок и все модули на русский.

4) Для автоматического обновления языковых файлов движка и модуля мы будем пользоваться незаменимым модулем l10n_update. А для добавления нового языка через Drush воспользуемся drush_language.
Добавим и включим по-умолчанию русский язык:

drush language-add ru drush language-default ru

После чего нам остается просто обновить все переводы:
drush l10n-update

Вот вроде и всё. Весь процесс установки укладывается в 5 минут и не требует ни одного клика мышкой.

P.S. Если данная статья будет кому-либо полезна — могу в следующей статье рассмотреть создание своего собственного установочного профиля для Drupal.