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

Добрый день!
За последнее время всё чаще и чаще выбор платформы под проекты клиентов падает на всеми любимый 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.

Средняя зарплата в IT

120 000 ₽/мес.
Средняя зарплата по всем IT-специализациям на основании 3 754 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
Реклама
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее

Комментарии 14

    +2
    Я просто оставлю это здесь: www.aegirproject.org/
      0
      Аегир достаточно сложен в освоении.
        0
        Согласен, но когда вы озонаете необходимость в изучении drush, то вы уже прошли ту границу, за которой освоение Aegir становится оправданным.
        0
        Не знал о таком инструменте. Спасибо!
          0
          А что за история, что есть мануал “How to downgrade to PHP 5.2”?
          0
          Перый пункт можно заменить на
          drush dl --destination=/path/to/mydir
          
            0
            Спасибо за замечание! Так быстрее, конечно)
            0
            Проще через drush make устанавливать, там можно не только модули и темы скачивать, но и всякие библиотеки (тотже фансибокс, скедитор и тд). Поддерживается загрузка файлов из git.
              0
              Возможно вы и правы. Но лично я один раз залил библиотеки (fancybox, ckeditor и т.п.) во внешнюю директорию и просто выполняю одну команду копирования:
              cp -avr /path/to/libraries/ ./sites/all/
              А во всем остальном нам хватает стандартного Drush.
                0
                Ну бывает приходится ставить друпал на разные хостинги, где нет приготовленной папочки.
                  0
                  В таком случае я с вами согласен, удобнее будет drush make
              0
              Хотелось бы почитать, про создание своего собственного установочного профиля для Drupal.
                0
                присоединюсь к просьбе «про создание своего собственного установочного профиля для Drupal»
                  0
                  После ознакомления с модулем Feautres — понял, что нет необходимости в создании своего профиля. Можете создать с помощью Drupal Features свой модуль — «my_base», в который добавить нужные модули, языки, форматы текста, стили изображения и т.п. И включив данный модуль — автоматически всё установится!
                  На мой скромный взгляд стандартный модуль — это даже удобней, чем создание отдельного профиля. Информации про Drupal Features в интернете уйма)

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое