Установка Drupal


Содержание

Установка Drupal

Drupal ( друпал ) — система управления содержимым ( CMS ), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL , PostgreSQL и другие).

Drupal является свободным программным обеспечением, распространяемым под лицензией GNU GPL. Это означает, что используя Drupal вы получаете полные исходные тексты, на которых он построен, и можете вносить в них собственные изменения. Вы можете беспрепятственно использовать Drupal в коммерческих проектах, соблюдая условия лицензии GNU GPL, которой защищены исходные тексты Drupal.

Документация поставляется вместе с Drupal и гораздо больше на официальном сайте, нет каких-либо аспектов реализации закрытых от пользователей, поскольку Drupal является свободным п/о. Впрочем, по этой же причине — документация по некоторым частям системы является не всегда полной, если вообще имеется. Побочный эффект открытых проектов — энтузиасты создают то, что им интересно, а написание документации далеко не всегда увлекательное занятие.

Установка CMS Drupal

Для начала установки Drupal требуется зайти в панель управления хостингом, используя ссылку и данные, высланные вам на контактный e-mail при заказе услуги.

Скачиваем дистрибутив CMS Drupal , например здесь http://www.drupal.ru/ .

Распаковываем архив на локальном компьютере или через Менеджер файлов, сразу на хостинге в директорию www/ваш_домен.

Вы должны прийти к такому виду:

Далее создаем/импортируем базу данных в разделе Базы данных

В дальнейшем имя базы и пользователя используется с приставкой в виде вашего логина в панели управления хостингом:

Обращаемся в браузере по имени домена, выбираем тип установки, нажимаем кнопку “Save and Continue”.

Выбираем язык (стандартно английский).

Позже можно скачать и установить локализацию с нужным вам языком.

Вводим данные базы данных, которую создавали в панели управления хостингом.

Данные, которые от вас требуются (на примере нашего пользователя):

Имя базы: vh12345_dru

Имя пользователя БД: vh 12345_ admin

Пароль: пароль, который вы указывали при создании БД

Database host : графа Тип базы в разделе Базы Данных db01.hostline.ru (см. п.4) или

указываем в этом поле mysql.ваш_домен

Порт: не указывается

Префикс устанавливается произвольно, или не указывается.

На завершающем этапе вводим название сайта, логин/пароль к админке сайта, ваш e-mail.

Установка Drupal

Установка CMS Drupal на Ubuntu 16.04

Цикл статей об установке популярных CMS

Drupal — это одна из самых популярных в мире систем управления содержимым (CMS). Она используется также как каркас для веб-приложений (CMF). CMS написана на языке PHP и использует в качестве хранилища данных реляционные базы (поддерживаются MySQL, PostgreSQL и тд). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

Мы будем ставить CMS на VDS под управлением «чистой» ОС Ubuntu Server 16.04.
Так как операционная система «чистая», первым делом нужно инсталлировать LAMP, а именно Apache, MySQL и PHP для Linux.
Это сделать можно двумя способами. Первый — при переустановке ОС на VDS можно выбрать в «рецептах» пакет LAMP:

sudo apt install apache2 apache2-utils

sudo apt install php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-cli php7.0-cgi php7.0-gd php7.0-zip php7.0-xml

sudo apt-get install mysql-server mysql-client

Установка Drupal

create database drupal character set utf8 collate utf8_bin;

grant all privileges on drupal.* to drupal_user@localhost identified by «drupalpassdrupal»;

Установка Drupal на Apache в Ubuntu 14.04

Drupal – это популярная система управления контентом (CMS), которая используется для запуска и поддержки блогов и сайтов любого масштаба. Благодаря надёжной БД, адаптивности платформы и активному сообществу пользователей Drupal остается одной из популярнейших CMS в течение многих лет.

Данное руководство покажет, как установить Drupal на сервер Ubuntu 14.04. для обслуживания сайта будет использоваться веб-сервер Apache, так как именно он рекомендуется командой Drupal.

Требования

Для выполнения инструкций необходим предварительно настроенный сервер Ubuntu 14.04; чтобы узнать, как выполнить начальную настройку сервера Ubuntu 14.04, читайте эту статью.

Также нужно предварительно установить программный стек LAMP. Инструкции по установке этой группы программ – здесь.

После установки Apache, PHP и MySQL нужно внести дополнительные поправки в настройки этих программ.

Создание БД и пользователя MySQL для Drupal

Сначала нужно создать пользователя и БД MySQL для новой установки Drupal.

Запустите сессию MySQL:

Введите root-пароль MySQL.

Пройдя аутентификацию, вы увидите командную строку MySQL. Создайте БД для Drupal (для примера назовём её drupal).

CREATE DATABASE drupal;

Затем создайте пользователя, при помощи которого Drupal сможет подключиться к БД (в руководстве используется условное имя пользователя drupaluser):


CREATE USER drupaluser@localhost IDENTIFIED BY ‘password’;

Примечание: Замените условные данные в командах своими данными.

Итак, теперь БД и пользователь готовы. Осталось передать пользователю права на эту БД. Для корректной работы Drupal нужны довольно широкие права доступа. Ниже приводится хороший пример настройки прав, который позволит программе функционировать должным образом, при этом не подвергая базу данных опасности:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost;

Теперь у пользователя есть все необходимые права для управления БД. Чтобы обновить настройки, используйте:

Закройте интерактивную сессию MySQL:

Это вернёт сессию bash.

Установка модулей и отладка PHP

После этого нужно установить несколько важных модулей PHP. Все они хранятся в стандартных репозиториях Ubuntu.

Установите их, предварительно обновив список пакетов.

sudo apt-get update
sudo apt-get install php5-gd php5-curl libssh2-php

Теперь, согласно рекомендациям разработчиков Drupal, нужно отредактировать настройки PHP. Откройте конфигурационный файл PHP сервера Apache:

sudo nano /etc/php5/apache2/php.ini

Найдите директивы expose_php и allow_url_fopen и измените их значение на Off:

. . .
expose_php = Off
. . .
allow_url_fopen = Off
. . .

Сохраните и закройте файл.

Файлы .htaccess

После этого нужно настроить Apache. во-первых, необходимо включить переопределение настроек. Это позволит системе Drupal трансформировать URL-адреса в удобные для восприятия строки.

Модуль mod_rewrite, отвечающий за переопределение настроек, установлен по умолчанию, но не включен. Чтобы включить его, введите:

sudo a2enmod rewrite

Модуль будет включен после перезапуска Apache. Но прежде чем перезапустить веб-сервер, нужно настроить виртуальные хосты для использования файлов .htaccess. Этот файл содержит правила перезаписи и включен по умолчанию в установку Drupal.

Откройте стандартный виртуальный хост.

sudo nano /etc/apache2/sites-enabled/000-default.conf

Найдите блок VirtualHost и добавьте в него блок кода для root-каталога сайта. Добавьте директиву AllowOverride и установите значение All. Можно также добавить директиву ServerName, указывающую на доменное имя, а также отредактировать ServerAdmin, указав email.

. . .
ServerName example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html

AllowOverride All

. . .

Сохраните и закройте файл.

Теперь нужно перезапустить веб-сервер, чтобы обновить настройки Apache and PHP:

sudo service apache2 restart

Установка файлов Drupal

Теперь система полностью готова к установке Drupal в root-каталог проекта.

На самом деле, нужно изначально распаковать файлы в домашнем каталоге, а затем скопировать их в root-каталог. Таким образом, у вас останется доступ к оригинальным файлам в случае, если что-то пойдет не так.

Откройте страницу загрузки Drupal и найдите последнюю версию в разделе Recommended releases. Кликните правой кнопкой по ссылке tar.gz необходимой версии и скопируйте адрес ссылки.

Вернитесь на сервер, откройте домашний каталог и при помощи wget загрузите файлы:

Примечание: Скорее всего, ваша ссылка будет отличаться от ссылки, приведённой в команде.

После загрузки файла извлеките программу:

tar xzvf drupal*

Перейдите к только что загруженной структуре каталогов и используйте rsync, чтобы скопировать файлы в root-каталог сайта. В данной команде точка указывает на текущий каталог; это позволит скопировать скрытые файлы:

cd drupal*
sudo rsync -avz . /var/www/html

Теперь файлы скопированы, а в домашнем каталоге остались их оригиналы, которые можно использовать в случае необходимости. Откройте root-каталог проекта:

Подготовка Drupal к установке

Установочный веб-скрипт требует внести в каталог Drupal некоторые изменения. Это нужно сделать заранее, чтобы не переключаться между веб-браузером и командной строкой во время установки программы.

Создайте новый каталог files в sites/default:

Затем скопируйте стандартный файл settings, содержащий активные настройки Drupal:

cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php

Нужно временно изменить права доступа к активному файлу settings. Передайте группе-владельцу файла права на запись. После установки это нужно изменить.

chmod 664 /var/www/html/sites/default/settings.php

После этого нужно предать права на файл пользователю веб-сервера (www-data).

sudo chown -R :www-data /var/www/html/*

Теперь сервер настроен и готов к запуску установки.


Установка Drupal

Оставшиеся действия нужно выполнить в браузере. Откройте браузер и перейдите:

На экране появится начальная страница установки Drupal.

В большинстве случаев рекомендуется выбрать установку Standard. Затем нажмите Save and continue. Укажите сведения о базе данных и пользователе.

В данном руководстве используются условные данные drupal, drupaluser и password. Укажите вместо них свои данные, а затем нажмите Save and continue.

Примечание: На данном этапе может вернуться страница настройки БД. Если это произошло, просто обновите страницу.

Программа сообщит, что теперь необходимо изменить права доступа к файлу конфигураций. Это можно будет сделать через пару минут, но сначала нужно указать основную информацию о сайте. Заполните поля соответствующей информацией.

Нажмите Save and Continue. Теперь можно посетить свой сайт, введя домен.

Установка Drupal успешно завершена.

Осталось только изменить права доступа к конфигурационному файлу.

chmod 644 /var/www/html/sites/default/settings.php

Это заблокирует внесение изменений в файл settings.

Устранение неполадок

Если установка Drupal не удалась, проверьте логи ошибок.

sudo tail /var/log/apache2/error.log

В логе будет такая ошибка:

[Wed Nov 15 13:40:10.566144 2014] [:error] [p > sh: 1: /usr/sbin/sendmail: not found

Drupal сообщает о нескольких причинах возникновения этой ошибки, которые можно найти здесь.

Среди самых распространённых способов устранения этой ошибки – редактирование файла /etc/php5/apache2/php.ini. В нём нужно увеличить max_execution_time.

sudo nano /etc/php5/apache2/php.ini
max_execution_time = 300

Также можно попробовать выполнить установку при помощи другого браузера. Настройки cookie браузера могут противоречить настройкам установки.

Вне зависимости от того, как вы исправили ошибку, нужно удалить БД Drupal и файл /var/www/html/sites/default/settings.php, заменить их стандартными копиями, а затем перезапустить установку.

Примечание: Если какие-либо данные или настройки необходимо сохранить, создайте их резервные копии.

Для этого откройте MySQL и введите:

DROP DATABASE drupal;

Затем создайте новую БД согласно инструкциям соответствующего раздела.

Также можно повторно запустить:

cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php

чтобы заменить файл settings.

Также не забудьте временно изменить права на файл:

chmod 664 /var/www/html/sites/default/settings.ph

После этого откройте свой IP (при желании – в другом браузере) и попробуйте выполнить установку снова.

Заключение

Drupal – надёжная основа для любого сайта. Эта гибкая система позволяет настроить внешний вид и функциональность сайта в зависимости от ваших потребностей и нужд пользователей.

В нашем Информатории можно найти ещё много полезных статей и руководств о работе с Drupal.

Все сделал по инструкции, но после запуска друпала и дойдя до шага, где надо вводить имя базы, имя пользователя друпал и его пароль, Друпал сообщает, что неверные логин и пароль. Хотя все верно ввожу и mysql и база и пользователь есть.

Блог Vaden Pro

Установка CMS Drupal начинается со скачивания архива с соответствующим

с официального сайта. Скачивать нужно последнюю актуальную версию ядра с подходящим Вам видом архива (для Windows это zip).

Для сайта надо создать папку на Вашем виртуальном диске сервера (в моем случае это диск X). Папку же надо создать внутри уже существующей папки под названием home. Название этой новой папки будет полностью соответствовать локальному домену имени. По этому домену в будущем будет доступен и сам ресурс (само собой при включенном Денвере). При выборе доменного имени на локальной машине не рекомендуется создавать имя дублирующее название сайта, который может Вам пригодиться, поскольку тогда при включенном локальном сервере Вам будет доступен только сайт c локальной машины. Для перехода на сайт из сети придется ее отключать. Мы же сейчас создадим сайт с именем my-drupal.local.

Теперь пришло время создать корневую папку сайта. В Девер она носит название www. Эту папку надо создать внутри ново созданной папки, которая носит имя домена. В эту папку (www) надо будет распаковать предварительно скачанный архив. В результате там должна появиться следующая структура папок:

Теперь пришло время перезапустить сервер. Для перезапуска используется ярлык Restart. После запуска или перезапуска сервера сайт в ново созданной папке станет доступен по такому адресу http://my-drupal.local/.

После запуска сервера надо будет создать базу данных сайта. Для создания этой базы надо открыть инструмент, который предназначен для работы с базами (он называется phpmyadmin и находится по адресу http://localhost/Tools/phpMyAdmin/). Теперь надо будет перейти в раздел с соответствующим названием – Базы данных.

В этом разделе надо ввести название новой базы в специальное поле под соответствующим названием «Создать базу данных» и теперь нажимаем кнопку «Создать». В результате у нас получилась пустая база данных.

Теперь пришло время открыть браузер, перейти по адресу http://my-drupal.local/. На дисплее отразился диалог начала установки Друпал. Здесь надо выбрать тип установки (выбираем Стандарт) и нажимаем «Save and continue».

На следующем этапе установки выбирается язык сайта. Пока только единственным доступным языком является английский. Его и выбираем.

Следующий шаг – это указание информации о той базе данных, которая была создана в phpmyadmin. В поле Database name вводится имя нашейБД my-drupal, а в поле Database username надо вести root (это корневой пользователь, который в системе создается автоматически во время установки Denwer). После этого снова надо нажать кнопку «Save and continue» и подождать, пока все компоненты Drupal установятся.

Теперь надо заполнить форму. В первом поле вводится название будущего сайта. Потом email адрес интернет ресурса. В третьем поле вводится имя будущего администратора сайта (в большинстве случаев это просто admin). После этого надо еще вести адрес электронной почты и пароль администрирующего лица сайта. Остальные поля в этой форме заполнять не обязательно. Снова нажимаем на кнопку «Save and continue».

Теперь можно перейти на главную страницу нашего ново созданного сайта по ссылке Visit your new site.;


Типичные проблемы при установке Drupal на Denwer

А теперь пара слов о решении типичных проблем при установке Drupal на Denwer, или же как обезопасить себя от возникновения проблем в работе Друпал на локалке в дальнейшем.

Как ни как локальная машина это не полноценный сервер и «думает» она определенно медленнее из-за этого при установке модулей в дальшем может возникнуть проблема «Fatal error: Maximum execution time of 30 seconds exceeded» . Для того, чтобы обойти эти грабли, зараннее советую сразу после установки Друпала в хостовском файле php.ini (C:\WebServers\usr\local\php5\php.ini -путь для Denwer) увеличить время на обработку скрипта: «max_execution_time = 30» Ну, к примеру, до 300 секунд.

Чтобы не возникло проблем с базами данных из-за импорта слишком больших файлов при переводе Drupal на Denwer советую сразу посетить директорию C:\WebServers\usr\local\mysql-5.5 и поменять в файле my.ini строку «max_allowed_packet = 16M» на «max_allowed_packet = 160M»

Также при русификации (подробно о том, как русифицировать Друпал написано тут: Правильная русификация Drupal 7. Знакомимся с Drupal 7.) в дальнейшем может возникнуть проблема с тем, что слишком долго происходит импорт файлов русификатора (перезапись нескольких тысяч строк занимает больше времени, чем отводит нам на это Drupal). Потому вылазит ошибка «Fatal error: Maximum execution time of 240 seconds exceeded in X:\home\. «. Решение проблемы: Идем в папку includes в корневом каталоге сайта и открываем файл locale.inc, где меняем «drupal_set_time_limit(240)» на «drupal_set_time_limit(2400)», этого Вам определенно должно хватить =).

И забегая совсем уж вперед, эта проблема может не исчезнуть, если вы будете осуществлять автоматическую русификацию сайта при помощи модуля Localization Update (о котором я расскажу в одом из следующих уроков). Проблема решается изменением «@set_time_limit(240);» на «@set_time_limit(2400);» в файле l10n_update.locale расположенному в директории sites/all/modules/l10n_update.

На этом все. Сразу хочу отметить, что описанные выше проблемы возникали только при работе с Drupal на локальном хосте, при установке сайтов на обычные хостинги таких проблем не возникало.

Устанавливаем «Drupal»

Все уже познакомились с WordPress. Сегодня я расскажу про CMS/CMF Drupal.

Справка
CMS — Систе́ма управле́ния содержи́мым (конте́нтом) (англ. Content management system, CMS) — информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым).

CMF — Content Management Framework (CMF) — это каркас (фреймворк программной системы) для проектирования систем управления контентом. На их основе создаются системы управления содержимым (CMS), а также веб-приложения вообще.

Drupal совмещает эти две технологии в себе. Так как вход в CMF требует много времени и знаний, Drupal облегчает этот вход и позволяет пользоваться ей как CMS, при этом не спеша углубятся в недра CMF. В конечном итоге, все равно Drupal становится больше CMF, чем CMS. На форуме, есть моя тема про Drupal, рекомендую сначала ее прочитать. Сегодня поговорим, как поставить данную систему на Denver.
У кого Linux, я думаю разберутся сами. Если нет, пишите, я объясню.

1.Скачиваем Drupal
Заходим по ссылке http://drupal.org/project/drupal и скачиваем последнею версию Drupal. Седьмую версию конечно. Шестая хоть и поддерживается еще, но уже считается морально устаревшей.
2.Создаем новый домен в Denver и распакуем туда файлы
Для нашей установки drupal, я выбрал имя examples.loc. Как создавать новый домен на Denver вы все уже знаете. Но напомню. Для этого надо в папке home создать папку examples.loc, а в ней www. Перезапускаем Denver, чтобы применились настройки.
Распаковываем файлы в папку examples.loc/www/.
Должно получится, вот так.

3.Установка Drupal
Заходим по адресу http://examples.loc и вы должны увидеть такую картинку.

Есть два вида установки. Мы выбираем Стандартную(Standard) установку. Разницы в том, что в минимальном(Minimal), меньше модулей будет включено сразу при установки. Иногда полезно. Но не сейчас.
Жмем Save and Continue
На следующем окне, нам предложат выбрать язык установки. Я не стал добавлять язык установки с самого начала. Это лишние. Поэтому выбор будет не велик, а именно только стандартный язык, английский (что мы и видим на скриншоте).

Я в конце расскажу как переводить Drupal. Пока все будет на английском. От этого, сложней не станет.
Опять жмем Save and Continue
Следующий шаг, это настройки Базы данных.
По умолчанию Drupal поддерживает только MySQL, MariaDB, SQLite. Но на оф.сайте Drupal, можно скачать модули и для других БД. Поддерживаются даже очень специфически базы данных.
Создадим новую базу данных и пользователя.
Заходим в phpMyAdmin и создаем базу данных.
Сначала создадим БД для нашего сайта.
Имя БД: examples
Сравнение: utf8_geneal_ci

И создаем пользователя для нашей БД. Как правило, для каждого домена, должен быть создан отдельный пользователь БД. Это мера безопасности и должна войти в привычку. Если вам взломают сайт(а такое бывает), и если у вас один пользователь на все БД, то автоматически у вас будут взломаны все ваши сайты. Для этого и делают на каждый домен, отдельного пользователя. Чтобы минимизировать урон. Из этого вытекает, если ваш хостер не позволяет на каждый домен создавать отдельного пользователя в БД(а такое бывает), то хостера надо слать отдыхать на юг, а самому искать нового хостера.
В общем…

Илон Маск рекомендует:  Формат и синтаксис cookie

Обязательно, пароль генерируйте. Не мучайте себя, не выдумывайте пароль. Сгенерированный пароль будет лучше в любом случае, чем ваш выдуманный.
Запишите пароль.
С привилегиями я как то поговорю в отдельной статье. Сейчас просто сделайте как на скриншоте.
После создания БД и пользователя БД, переходим снова к Drupal и вбиваем уже известные данные.

В ADVANCED OPTIONS, мы ничего не меняем.
Database host — У некоторых хостеров, БД находится не на том же сервере, что и сайт. Поэтому вместо localhost надо вбивать адрес БД, который даст хостер. У нас же, БД находится на той же машине, что и сайт ;-)
Database port — Иногда, хостер меняет порт БД, обычно он 3306(если память не обманывает). Если порт отличается, хостер должен об этом сообщить. У нас же, он стандартный, поэтому оставляем пустым.
Table prefix — данная опция позволяет добавить префикс к нашим таблицам в БД. Это нужно, когда у нас нет возможности создавать доп. БД и мы вынуждены использовать одну БД для всех сайтов. Если туда вписать exmpls, то все все таблицы в БД, будут называться «exmpls_name_table». Но если у вас такой хостер, то бегите от такого хостера сразу. У нормальных хостеров нет проблем с созданием доп. БД.
С настройками закончили и переходим дальше.
Жмем Save and Continue
Если все нормально, мы увидим следующее окно установки. Иначе увидим вот такое окно.

Проверяем данные, что вбили и снова пытаемся нажать Save and Continue
После вы увидите сам процесс установки Drupal. Надо подождать немного.
После вы увидите такое окно.

Site name — Имя и название сайта. Я оставлю как есть. Вы можете поменять.
Site e-mail address — Почтовый адрес сайт. Оставляем такой же. Не важно.
SITE MAINTENANCE ACCOUNT
Username — Логин администратора сайта. Я выбрал root. На рабочем сайте, лучше использовать имя посложней.
E-mail address — Почта администратор сайта. Оставляем как есть. Но на рабочем хостинге, рекомендуется вбивать рабочий почтовый ящик. Используется для восстановления пароля.
Password — пароль, он и в Африке пароль. Рекомендую использовать по сложней.
SERVER SETTINGS
Default country — Выбираем страну.
Default time zone — Выбираем временную зону. У меня это +2 часа. Поэтому я оставляю по умолчанию. Сейчас это не важно, но вообще это очень важно и выбирать следует часовой пояс сервера.
UPDATE NOTIFICATIONS
Check for updates automatically — Проверять автоматически обновление. Отключаем. На рабочем сайте включать обязательно.
Receive e-mail notifications — Получать уведомления по почте. Отключаем, но на рабочем сайте обязательно надо включать.
Вот и все настройки.
Опять жмем Save and Continue и если все хорошо, мы увидим такое окно

Поздравляю, вы только что установили Drupal. Жмем Visit your new site. и переходим на наш сайт.

Пока он невзрачный и на английском. Поэтому надо его сделать русским.
Drupal можно переводить несколькими способами.

      1. Автоматический перевод при установки. Перевод берется из интернета.
      2. Автоматический перевод при установка. Перевод берется из файлов.
    3. Ручной перевод.

Варианты 2 и 3, не годятся. Я про них даже рассказывать не буду (ну если только попросите). Расскажу про вариант 1.

4. Перевод Drupal
Для автоматического перевода нам, надо поставить дополнительный модуль l10n_update.
Скачиваем его и распаковываем его в папку WebServers\home\examples.loc\www\sites\all\modules
Замечу, в Drupal есть две папки modules, первая находится в корне сайта WebServers\home\examples.loc\www\modules
Вторая находится
WebServers\home\examples.loc\www\sites\all\modules
В первом, находятся основные модули Drupal, что идут с ним.
Во втором должны находится все остальные модули, что мы будем устанавливать. Предварительно туда распаковав модуль конечно.
Вот так должно все быть.

Теперь заходим в модули на сайте.

В дебрях модулей находим наш модуль, он в самом конце. Про стандартные модули, я как то в отдельной статье расскажу.

Ставим галочку в ENABLED. И жмем Save Configuration.
Вам скажет, что для этого модуля, надо включить такойто модуль. Вот

Смело жмите Continue.
Если все хорошо, вы вернетесь в раздел модулей и вас уведомит The configuration options have been saved. Значит все хорошо.
На этом еще не все, надо добавить русский язык. Для этого переходим в Configuration
и там находим Languages.

В новом окне, нажимаем Add language

После нужно выбрать нужный язык, в нашем случае Русский и нажать Add language

Как только вы нажмете Add language, Drupal попытается скачать и установить переводы для всех модулей, что сейчас есть в система. Это может занять и минуту и пол часа. Все зависит от интернет соединения.
Теперь у нас есть Русский язык в системе с переводом, но сайт все равно на английском. Просто надо включить Русский язык.

Если вы сделали все правильно, вы должны увидеть русский язык на вашем сайте. Перевод будет автоматически обновляться.
Теперь при установки любого модуля, автоматически будет устанавливаться русский перевод для него. Если конечно он существует.

Вот и все, на этом я сегодня закончу. Напишите, стоит ли мне продолжать тему Drupal.
А также, пишите на форуме, о чем вы хотели прочитать на сайте.

Поделиться

Комментарии Правила дискуссии

  1. Участники дискуссии уважительно относятся друг к другу и к автору блога.
  2. Мат недопустим. Учитесь вести диалог культурно.
  3. Реклама и спам запрещены.

Если вы не соблюдаете эти три простых правила, то ваши комментарии удаляются без предупреждения.

Во всем остальном вам предоставляется полная свобода слова и выражения собственного мнения.

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Как создать сайт используя Drupal. Установка Drupal на локальный сервер. Локализация Drupal. Как русифицировать Drupal при помощи .po файл. Перевод Друпала при помощи архива

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. На страницах своего блога я уже рассматривал процесс установки на локальный сервер CMS WordPress, сегодня я хочу рассмотреть процесс установки и русификации Drupal 7. Drupal это одна из самых сложных в плане освоения систем управления контентом, но если уж вы ее освоите, то в дальнейшем у вас не возникнет желания использовать какую-либо другую CMS. Единственной проблемой у Друпала является выбор хостинга и на самом деле лучше выбирать площадку под Друпал где-нибудь на западе. В отличие от WordPress, который не предназначен ни для чего другого, кроме как ведения блога на Drupal можно делать сайты любой сложности.

В отличие от Joomla, с которой на первых парах очень легко, а затем начинаются сложности с Drupal все наоборот, разобраться с ним дело довольно трудоемкое, но затем, начинаются сплошные плюсы и радости. Drupal это что-то среднее между фреймворком и системой управления содержимым(CMS), поэтому Друпал можно назвать, как CMF Drupal, так и CMS Drupal. Ну что же предлагаю начать рассматривать процесс установки Druapl на локальную машину, в качестве которой я буду использовать Денвер, если вы еще не знаете, что такое Денвер и для чего он нужен, то можете прочитать об этом вот по этой ссылке.

Где скачать Drupal

Ну что же, давайте разберемся, где можно скачать CMF Drupal бесплатно. А затем уже начнем устанавливать Drupal на Denwer. Как и в случае с WordPress, Drupal лучше всего скачать с официального сайта разработчика — http://drupal.org/. Здесь вы сможете всегда найти самую свежую версию CMS Drupal и соответственно скачать её. Так же на данном ресурсе вы сможете найти множество различных модулей и расширений для Друпала. В верхнем меню есть ссылка «Download & Extend» по ней и переходите. После чего вы увидите зеленую кнопку с надписью “Download Drupal7.14”, на данный момент последняя стабильная версия 7.14. Смело нажимайте на эту кнопу и качайте Друпал. Если же вы считаете, что вам удобнее будет работать с Drupal 6, то смело скачивайте шестую версию, на данный момент стабильным релизом является версия 6.26. Процесс установки и русификации практически ничем не отличается.

Установка Drupal на локальный сервер Denwer

Давайте теперь рассмотрим процесс установки Druapl на Denwer. Но прежде чем начать устанавливать Drupal, нужно немного изменить настройки самого Денвера. Даже не Денвера как такового, а настройки PHP сервера, для этого нам нужен файл php.ini, который вы сможете найти по этому пути u:\usr\local\php5\, где u – это виртуальный диск Денвера. Затем откройте файл вашим текстовым редактором(рекомендую Notepad++), так в нем есть нумерация строк). И Где-то на 251 строчке будут параметры, которые необходимо изменить — Resource Limits. Это ресурсы, которые будут затрачиваться на выполнение различных скриптов и операций. Их надо будет увеличить. Изначально этих ресурсов может не хватит для установки Druapl.

Приблизительно такие настройки прописаны изначально в файл php.ini:

Эти параметры необходимо увеличить, особенно важно увеличить max_execution_time. Я изменил вот так:

Ну вот теперь можно приступать к установке.


Как и в случае с WP мы идем по этому пути u:\home\localhost\www\ и в папке www создадим папку, в которую распакуем скаченный архив, я назову ее drupal, как я уже говорил, в название нежелательно использовать пробелы, русские символы заглавные буквы и цифры. И в эту папку копируйте файлы из скаченного архива.

После того, как вы разархивируете Drupal на Denwer, открывайте брауезур и в адресную строку пишите http://localhost/drupal, после чего запуститься скрипт установки Drupal. Для начала вы должны будете выбрать тип установки. Их всего два minimal и standard. Если вы выбирете standard, то в процессе установки необходимо будет сконфигурировать Drupal, при типе установке minimal, этого делать не надо, также если вы выбрали minimal, то не все модули Drupal будут установлены, на самом деле они и не нужны, достаточно двух модулей: вьюха и CCK, но об этом после, сейчас же я выбираю тип установки standard. На следующем шаге нужно выбрать язык для Drupal, выбор небольшой, доступен только английский язык. После того как вы выбрали язык, необходимо настроить базу данных для Drupal.

Как создать базу данных для Drupal. Создание базы данных при помощи phpmyadmin.

Перед тем как продолжить установку Drupal, необходимо создать базу данных. Делается это также, как и в случае с WordPress, для создания базы данных я буду использовать phpmyadmin, эта программа уже есть в сборке Denwera. В базе данных будет храниться весь контент вашего сайта, логины, пароли, учетные записи и многое другое.

Установка Drupal на локальный сервер. Создание базы данных для Drupal

Чтобы запустить phpmyadmin, в адресную строку браузера нужно написать: localhost/tools/phpmyadmin. Создать базу данных при помощи phpmyadmin очень легко, придумываем название для базы данных, в моем случае это new_drupal, выбираем кодировку сравнения, я бы рекомендовал использовать utf8_unicode_ci или utf8_general_ci. После чего нужно будет выбрать кодировку, в которой данные буду хранится на сервере MySQL, обратите внимание, это не означает, что данные будут отдаваться браузеру в этой кодировки, MySQL сервер легко перекодирует данные в различные кодировки и отдает их клиенту(в нашем случае браузеру), как и для сравнения, кодировку для хранения данных я выбрал utf8_unicode_ci. После того как вы назвали базу данных, выбрали кодировку для сравнения и кодировку для хранения данных, можете смело нажимать create. Все, база данных для Drupal создана.

Продолжаем установку Drupal, конфигурация базы данных и настройка сайта на Drupal

После того как мы создали базу данных, ее нужно показать Друпалу. Это можно сделать на следующем шаге после выбора языка. Давайте посмотри как и где прописать настройки базы данных для Drupal. И так, в поле Database name необходимо вписать имя созданной базы данных, в моем случае это new_ drupal, в поле Database Username (если вы устанавливаете Drupal на Денвер) нужно прописать root, когда вы будете выкладывать свой сайт на Drupal на реальный хостинг, то провайдер вам сообщит ваш логин к базе данных, его и нужно будет вписать в это поле. В поле Database host, нужно указать localhost. При желание, вы можете указать свои префиксы таблиц баз данных в поле table prefix, указывать их нужно обязательно с символом нижнего подчеркивания в конце, например, drup_, newsait_ и так далее. Пароль к базе данных на Денвере указывать не надо, если конечно вы не меняли настроек самого Денвера, а точнее MySQL сервера. После чего нажимайте Save and continue, после чего произойдет установка Drupal, а так же стандартных модулей для Drupal идущих в инсталляционном пакете.

Последним шагом установки является настройка самого сайта, на данном шаге необходимо указать имя сайта, e-mail адрес сайта, логин, пароль и e-mail администратора, страну, в которой находится сайт, часовой пояс, а также у вас есть возможность поставить галочки и получать новости Drupal и автоматические обновления Drupal.

Как только скрипт завершит свою работу, у вас появится возможность посмотреть, как выглядит сайт, созданный на Druapl. Просто перейдите по указанной ссылке.

Как перевести Drupal. Локализация Drupal. Где скачать руситфикатор Drupal и как русифицировать Drupal. Где скачать файл с расширением .po для Drupal.

Где-то читал, что вопрос русификации Drupal, это один из самых популярных вопросов среди новичков, этой замечательной во всех отношениях CMS, на самом деле перевести Drupal на русский язык очень легко, но сайтов с советами по локализации Drupal масса и все эти способы немного отличаются друг от друга, в этой публикации я опишу наиболее полную русификацию Друпала, после которой он будет русифицирован на 98%.

Перед тем как начать русификацию Drupal, необходимо скачать файл локализации Drupal, найти вы его можете вот по этой ссылке, тут есть файлы перевода для различных версий Друпала. Для того, чтобы перевести Друпал на русский язык, необходимо зайти в Админ-панель, если вы продолжаете установку, то заходить никуда не надо. И перейти в раздел Modules. Чуть не забыл, данный способо русификации подходит как для Drupal 7, так и для Drupal 6, то есть им вы сможете русифицировать как Drupal 7, так и Drupal 6. Затем жмем save changes.

После чего заходим в раздел Configuration => Languages и жмем по ссылке add language, у вас появится выпадающий список, в котором нужно будет выбрать русский язык. И нажать на кнопке Add language, после чего в таблице снизу появится русский язык, в строке с русским языком необходимо поставить галочку и включить радиопереключатель и сохранить настройки.

Третьим шагом нужно вернутся к разделу Configuration, перейти по ссылке Translate Interface, в появившемся окне выбрать вкладу Import. В поле language file, указать путь к ранее скаченному файлу локализации с расширением .po, в выпадающем списке Import Into выбрать Россию. Все остальное можете не менять и нажимать на кнопку Import. Все, процесс русификации Drupal начался. Таким образом можно русифицировать Drupal при помощи .po файла.

Второй способ русификации Drupal, русификация Drupal при помощи архива.

В предыдущей части публикации я рассмотрел как русифицировать Drupal при помощи файла с расширением .po, теперь давайте посмотрим как можно русифицировать Друпал при помощи архива.

Для начала нужно получить архив с русификацией. Для этого смело переходите по этой ссылке: http://drupaler.ru/translate/languages/ru/export?project=drupal. Перейдя по ссылке вы увидите небольшую форму, по идем все уже должно быть настроено и вам останется нажать на кнопку «Экспорт», но если настроек нет, то обратите внимание на скрин, заполните форму как на картинке и жмите экспорт, после чего выберите папку, в которую хотите сохранить архив, а затем распакуйте архив в корневую директорию сайта, в моему случае это: u:\home\localhost\www\drupal\.

Затем идем в раздел Configuration => Languages, если вы уже русифицировали Drupal выше описанным способом, то переключите все переключатели на английский язык, после чего в строке с русским языком появится ссылка delete, ищите ее в самой правой ячейки. Удаляйте русский язык. После чего нажимайте Add Language и из выпадающего списка выбирайте русский язык, все, процесс русификации Drupal начался.

Drupal 8: Два варианта установки ядра

В Drupal 8.1 управление сторонними зависимостями перешло на Composer, также, интеграция Composer и Drupal получила новый виток в развитии. С тех пор, установка Drupal, так, как предлагает официальный сайт, стала не единственным вариантом.

Вариантов на данный момент уже явно много, но я выделяю всего два:

  • Стандартный — официальный вариант установки ядра из архива скаченного с drupal.org.
  • Composer Drupal Project — установка и управления ядром полностью через composer.

Почему я хочу рассказать об этом? Потому что считаю что новички, да и не только, должны знать об этом. Об этом нигде не указано, по пути загрузки ядра, но об этом, как минимум, нужно знать. Так как внезапно, стандартный вариант хуже стороннего. ?‍

Мой опыт работы с Drupal 8, заставляет меня делать очень неоднозначный вывод. Стандартный вариант установки — непрактичный, имеет недостатки, особенно для новичков, и проблемы с composer. С ним приходиться больше бороться и воевать, а преимуществ, как таковых, нет.

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

Плюсы и минусы вариантов

Стандартный способ

  • Плюсы
    • Официальный и стандартный вариант установки. Для кого-то это может стать очень важным решающим фактором.
    • Не требует никаких дополнительных знаний и подготовки. Достаточно скачать архив, распаковать его в webroot проекта и запустить установку. Если вы пришли в Drupal из других CMS, это будет вам знакомо.
    • Данный вариант установки ядра без проблем и доп. настроек переносится на всевозможные хостинги и VPS. Опять же, стандартное поведение для большинства CMS, если не всех.

Drupal, как минимум с 7-ой версии, позиционируется как CMF решение. То есть, это некая золотая середина между CMS и чистыми фреймворками. Если у Drupal 7 был перевес в сторону CMS, то Drupal 8 ещё сильнее перевешивает в сторону фреймворков. И сторонние зависимости от Symfony ещё сильнее его туда склоняют. Исходя из этого, я выделяю следующие минусы.

  • Минусы
    • Самый фатальный недостаток, который и является следствием всех проблем и остальных минусов — то что composer внедрили после релиза Drupal 8, в Drupal 8.1. Получилось так, что структура проекта уже сформировалась и люди уже держали продакшен сайты на 8-ке. Но данная структура совершенно неудачное решение для такого уровня CMS. Именно поэтому все проблемы с composer на данном варианте и возникают. Конфликты версий, проблемы с зависимостями, потерянные файлы — всё это отсюда, потому что всё в куче.
    • Структура для такого уровня CMS просто напросто неудобная. Drupal 8 нам принес не только новую цифру в версии? и какие-то API и фишки, он также полностью меняет процесс разработки сайтов на Drupal в сравнении с Drupal 7, а структура, при этом, осталась прежней с косметическими изменениями.
    • Drupal 8 полностью крутится вокруг конфигураций. Конфигурации можно смело отнести в разряд кодовой базы. Это самые обычные YAML файлики, но при этом, они содержат кучу важной и приватной информации. Такие файлы ни в коем случае не должны быть доступны из сети по запросу. К сожалению, структура такого подхода делает данный момент максимально уязвимым. Конфиги, как вы ни крутите, будут лежать в пределах вебрута проекта, вся надежда на то, что .htaccess отработает корректно и вы его не потеряете, а если у вас NGINX, то вообще, если сами не проконтролируете, они из коробки будут качаться у вас. Такие файлы хранить в вебруте и ниже по иерархии — не нужно. Но выбора тут у нас нет.
      • ? Вы и сами можете проверить. Попробуйте запросить любой конфиг файл из проекта прямым запросом: http://example.com/sites/default/files/config_XYZ/sync/automated_cron.settings.yml (XYZ замените на ваш хэш, и если у вас конфиги экспортируются не в sites/default/files/config_XYZ, на новый путь). Скачался? Это очень тревожный звоночек. А что если эти XYZ узнаеет третье лицо? А если вы поменяете путь на какой-нибудь sites/default/config/sync, где даже XYZ знать не надо? А это очень популярный способ экспорта конфигов. Конфиги имеют стандартное именование у всех сайтов, и если у вас магазин, например, подогнать название конфига от какой-нибудь платежной системы или друго сервиса, и скомпрометировать ваши API ключи, не составит труда. Очень много если, и ни одной причины держать их открытыми для загрузки, НИ-О-ДНО-Й.
    • Аналогично и с зависимостями Composer. vendor директория находится в вебруте проекта. По умолчанию она хорошо защищена и часть файлов при установке оттуда удаляется. Но сторонние зависимости надо контролировать руками и слепо верить им, или проверять в ручную. Но вы сами то в это верите, что вы будите проводить аудит безопасности всех зависимостей которые у вас скачаются по ходу развития проекта, как вами, так и контриб модулями и т.д. там по цепочке зависимостей? Там могут быть совершенно неочевидные пути к взлому, все это, как минимум, компрометирует инфомрмацию о внутреннем устройстве проекта. И опять же, нет ни одной причины их держать открытыми в веб. Как по мне, это плохая практика. Посмотрите на структуру проекта Symfony или Laravel. А это, на минуточку, одни из топовых фреймворков, у которых управление зависимостями также построено на composer и они активно используют YAML конфигурации. Видите где у них index.php, а где конфиги и vendor? Захотите повторить — получится composer drupal project.
    • Возможно вы используете или собираетесь использовать данный способ как способ избежать взаимодействия с Composer, или свести её к минимуму. Возможно, вы сведете, на старте. Но когда у вас начнутся проблемы и конфликты версий, вы в итоге потратите больше времени на решение проблем и возню с ним. Вы не избежите композера никак.
Илон Маск рекомендует:  Копирование материалов

Composer Drupal Project

  • Плюсы
    • От композера вы не убежите, он вас нагонет. А дальнейшая интеграция Drupal и Composer будет только усиливаться. Если же это неизбежно, проще сразу вести проект полностью на нем. Это решит проблемы в будущем, и текущие проблемы. У вас не будет каши, когда часть модулей стоит с drupal.org руками или ещё как, а другая через композер. Проще все вести в композере, зачем вам такой бардак на проекте? И это я не беру во внимания побочные плюсы самого композера, типа лока версий, автопатчинг, и возможность подключать свои приватные репы для обновления кастом модулей.
    • Структура файлов тут немного отличается от оригинальной. Тут появляется всего один новый уровень в иерархии, и это решает все минусы стандартного подхода. vendor и конфигурации тут находятся за пределами webroot проекта, а следовательно, эти файлы не доступны по прямому запросу, никак, вообще. Если вы сами не напишите контроллер который будет их отдавать. И не важно уже, apache у вас или nginx, потеряли вы .htaccess файли или нет, до них просто физически не добраться. Помните пример на проверку выше? Тут даже примера быть не может, так как данные файлы находятся на уровень выше вебрута. Если бы такое можно было писать, то было бы так: http://example/../config/sync/automated_cron.settings.yml. Но такой возможности нет, а следовательно, вы как в танке.
    • Такая структура также очень приятная если вы захотите сделать приватную файловую систему. Опять же, её можно положить в корень проекта, и она автоматически защищена от прямого запроса. Приватную файловую систему рекомендуется выносить за пределы вебрута, тут это будет за пределами и внутри проекта. На стандартном проекте, с 99.999% вероятностью она будет у вас в пределах вебрута. Так как вынести её за пределы? дело очень веселое и повлечет за собой множество проблем. И опять, придется заботиться как бы файлы оттуда не начали качаться по прямому запросу. А тут создали и забыли. Оно просто работает.
    • Репозиторий проекта максимально чистый. Из-за данной структуры и того, что она решает проблемы с композером, как минимум. Вам не придется держать в репозитории ядро друпала, что придется делать с очень высокой вероятностью на стандартном подходе, так как композер качает ядро на стандартном подходе как повезет. В итоге в вашем репозитории окажутся только кастомные темы, модули, а также файлы что вы положите, окружения, докер файлы и вот это вот всё. Никаких контрибов, ядра и зависимостей там не будет.
  • Минусы
    • Самый страшный минус. ? Из-за того что вебрут находится на уровень ниже, то на хостингах и VPS, с 99% вероятностью потребуется легкая настройка. Как правило, просто в настройках сайта\домена меняется настройка индекс файла с index.php на web/index.php. Делов, не более чем на 5 минут на 1 раз.
    • Это не минус, больше рекомендация. С данным подходом очень желательно начать пользоваться git для деплоя изменений. Иначе из него будет не выжать максимум. Деплоить изменения гитом и композером на такой структуре просто кайф.


Вывод

А теперь небольшой мой вывод: Я считаю что способ установки ядра через композер, в реалиях, друпал 8, должен быть одним единственным, как это сделано у Symfony. Вы у них нигде не скачаете на официальном сайте архив с фреймворком. Но по понятным причинам, такое уже сделать просто невозможно, я надеюсь что на такой шаг решатся с релизом Drupal 9. Тут можно дискутировать очень долго, нравится вам композер или нет, но факт в том, что если вы решили использовать Drupal 8, то композер де-факто становится обязательным, поэтому, лучше начать его использовать с самого старта и для всех задач которые он покрывает, а не выборочно там где у вас безвыходная ситуация.

Например, модуль Swift Mailer используется для отправки html писем, очень полезный и нужный. Попробуйте его установить и завести без композера. По факту то поставить можно, но это займет, скорее всего, часы в первый раз, а затем, любое обновление\изменение композера или модуля — опять семь кругов ада и это даже близко не пара минут даже с опытом. Или Drupal Commerce. В общем, композер вас догонит, как ни крути, да ещё пнет так, что сами не рады будите. Именно поэтому, многие новички могут посмотреть на это, и сказать — «Drupal говно!». К сожалению, они так могут и не понять почему у них столько проблем. И причина тут не в композере, и не в новичках.

Composer — это круто и удобно, но то как он работает и приготовлен в ядре из коробки, вызывает ненависть к нему. Мысль о том, что что-то вы делаете не так, все равно начнет со временем расти у вас в голове, отчасти это проблема ядра, и решение поискать другие варианты установки или ведения проекта на Drupal может быть совершенно неочевидным решением, особенно для новичков. Поэтому этот материал и есть, а также есть composer drupal project.

Я не навязываю вам composer drupal project, но очень настоятельно рекомендую, хотябы просто попробовать. Это совершенно другой экспириенс работы с Drupal, и для меня, он был в позитивную сторону, чего я не скажу про стандартный вариант.

Как сделать сайт на Drupal самостоятельно

Время чтения: 26 минут Нет времени читать? Нет времени?

По данным Web Technology Survey за март 2020 года, Drupal занимает третье место в мире среди наиболее популярных CMS. На этом движке работают 2,2 % всех сайтов в Сети. Среди ресурсов, использующих CMS, доля Drupal достигает 4,3 %. Почему эта система управления контентом заслуживает внимания? Как с ее помощью самостоятельно сделать сайт?

Почему стоит выбрать Drupal

Drupal — система управления контентом, которая распространяется по лицензии GNU GPL. Благодаря этому движок можно бесплатно использовать для реализации любых проектов, включая коммерческие.

Из-за гибкости и многозадачности Drupal часто называют не CMS, а CMF: content management framework или каркасом для систем управления контентом и веб-приложений. Это определяет универсальность «Друпала». На его базе можно реализовать любой проект: создать интернет-магазин, сайт компании, блог, форум или портал. Вот несколько ресурсов, которые работают на Drupal:

Что там Forbes и правительство Франции, даже Playboy.de работает на Drupal.

Drupal развивает сообщество энтузиастов. Волонтеры регулярно обновляют ядро, мгновенно находят уязвимости и выпускают «заплаты», создают специализированные сборки и модули, поддерживают новичков. Это обеспечивает дружественность движка к владельцам и администраторам сайтов.

Чем Drupal лучше «Вордпресса» и «Джумлы»? Это некорректный вопрос. Не оценивайте движки по шкале «хороший – плохой», чтобы не попасть в ловушку субъективности. Выбирайте CMS в соответствии с особенностями проекта и потребностями аудитории.

Главная отличительная черта «Друпала» — гибкость. Чтобы объяснить это, авторы с официального сайта Drupal использовали удачный образ. Они сравнили большинство CMS с игрушечными автомобилями. С ними можно играть в разные игры, но игрушки всегда остаются машинами. А Drupal — это не готовый автомобиль, а конструктор. Из него можно собрать модель легковой машины, грузовика или пожарного авто. Более того, с ним можно сделать еще и самолет или корабль.

Гибкость и функциональность не мешают «Друпалу» оставаться простой CMS, с которой можно работать без специальных технических знаний. Но работать с ней все-таки сложнее, чем с Joomla! или WordPress. Это плата за гибкость: вы взяли в руки не готовую машинку, а конструктор. Сначала придется сложить автомобиль, самолет или корабль, а потом с ним можно будет играть.

Это руководство поможет вам разобраться с деталями конструктора.

Как установить Drupal

Самый простой способ решения этой задачи — выбор хостинга с предустановленным движком или с возможностью устанавливать CMS через панель управления хостингом с помощью автоустановщика скриптов. Также вы можете скачать дистрибутив с официального сайта Drupal и самостоятельно установить его на сервер. Можно выбрать третий путь: установку и настройку движка на локальном сервере и последующий перенос на сервер хостера.

Чтобы установить CMS на хостинг-сервер, действуйте так:

  1. Загрузите дистрибутив Drupal с официального сайта проекта. На вкладке Drupal Core вы найдете базовое ядро движка. А в разделе Distributions можно найти специализированные сборки CMS, например, Drupal для интернет-магазинов, корпоративных сайтов, контент-проектов и даже религиозных общин. Вам нужен конструктор, а не готовая модель машины, поэтому выберите базовое ядро.
  1. Распакуйте архив.
  2. Загрузите содержимое на сервер. Воспользуйтесь любым FTP-клиентом, например, FileZilla. Дистрибутив нужно загрузить в корневую папку. Путь к ней отмечен на иллюстрации желтым маркером.

NB! Шаги 4, 5 и 6 нужны, если при заказе хостинга провайдер не создал базу данных автоматически.

  1. Создайте базу данных. Найдите раздел «Базы данных» в панели управления хостингом. Укажите название базы и нажмите кнопку «Создать».
  1. Создайте нового пользователя базы данных и укажите пароль.
  2. Делегируйте профилю права управления. Воспользуйтесь кнопкой «Добавить», а на открывшейся странице установите флажок напротив поля «Все права». Нажмите кнопку «Внести изменения».
  1. В панели управления хостингом выберите версию PHP 7.1. Это необходимо для корректной работы Drupal 8. Выбрать версию PHP можно в разделе «Программное обеспечение и службы» cPanel.
  1. Запустите менеджер установки CMS. Для этого введите в адресную строку браузера URL сайта. В разделе выбора языка выберите язык.

На следующем этапе укажите стандартный профиль установки. Укажите базу данных, имя пользователя и пароль. Нажмите кнопку Save and continue.

После завершения установки откроется окно настроек конфигурации сайта. Укажите необходимую информацию: электронный адрес администратора, название ресурса, данные технического аккаунта, регион и часовой пояс. Сохраните изменения.

Если все сделано верно, мастер установки перенаправит вас на главную страницу нового сайта. Теперь можно работать с движком.

Как настроить CMS Drupal

На этом этапе вы выберете и установите дизайн-шаблон и тему для административной панели, создадите меню, выберете способ отображения контент-блоков, русифицируете CMS и определите роли пользователей. Начните с русификации сайта.

Русифицируйте Drupal

Перейдите в раздел управления модулями и установите модули в разделе Locale. Они необходимы, чтобы русифицировать CMS. В дальнейшем с их помощью можно сделать мультиязычный ресурс.

Перейдите в раздел Configuration – Regional and language. Выберите меню Language.

Нажмите кнопку Add Language и с помощью выпадающего меню добавьте на сайт русский язык.


Загрузите файл перевода с официального сайта Drupal. В разделе Configuration – Translate Interface выберите вкладку Import. Загрузите на сервер файл перевода.

В разделе Configuration — Regional and language – Language назначьте русский языком по умолчанию. Сохраните изменения.

Теперь меню управления и пользовательский интерфейс сайта русифицированы.

Установите темы для сайта и административной панели

В разделе «Оформление» административной панели находятся дефолтные темы Drupal. Чтобы включить загруженный шаблон, воспользуйтесь опцией «Установить по умолчанию».

Выбрать альтернативный дизайн-шаблон можно на официальном сайте Drupal. По умолчанию темы представлены в порядке популярности. Воспользуйтесь фильтрами, чтобы сортировать их по дополнительным критериям.

NB! Выбирайте тему с адаптивным дизайном. Это нужно, чтобы удовлетворить потребности мобильных пользователей.

Скачайте дистрибутив выбранной темы на компьютер. В разделе «Оформление» административной панели нажмите кнопку «Установить новую тему». Загрузите архив на сайт.

После загрузки установите и активируйте новый шаблон.

Чтобы поменять тему административной панели, в разделе «Оформление» воспользуйтесь соответствующим меню. Выберите подходящий шаблон и сохраните изменения.

Для удобства читателей при работе над руководством используются стандартные темы Drupal.

Настройте логотип

В разделе «Оформление – настройки оформления» выберите меню «Настройки изображения логотипа. Снимите флажок напротив опции «Использовать логотип по умолчанию, поставляемый темой». Укажите путь к файлу логотипа на сервере или загрузите изображение.

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

В разделе «Оформление – Настройки» выберите фавикон сайта. Это изображение, которое браузеры отображают на вкладках рядом с названиями сайтов. Также фавикон может отображаться на страницах поисковой выдачи.

Настройте блоки отображения контента

Отображение контента на сайтах под управлением Drupal организовано с помощью блоков или контейнеров для содержимого. Блоки можно помещать в так называемые регионы, количество и положение которых определяется выбранной темой. Чтобы увидеть число и расположение регионов в вашей теме, в административной панели войдите в раздел «Структура – Блоки». Воспользуйтесь меню «Показать области блоков».

CMS Drupal поддерживает дефолтные и пользовательские блоки контента. Чтобы воспользоваться контейнерами контента по умолчанию, в меню «Структура – Блоки» выберите регион отображения и добавьте в него блок.

Например, представьте, что хотите добавить на сайт информацию о посетителях онлайн. Соответствующий блок уместно разместить в футере сайта. Выберите подходящий регион в футере и нажмите кнопку «Расположить блок». Выберите блок «Сейчас на сайте».

На странице настроек блока выберите язык. На вкладке «Типы материалов» выберите тип страниц, на которых будет отображаться блок. Это могут быть статьи и основные страницы. На вкладке «Страницы» можно указать конкретные URL, на которых будет показан блок. На вкладке «Роли» определите, кто видит публикуемый блок. Например, разрешите просмотр контента администраторам и аутентифицированным пользователям. Сохраните изменения.

Вы можете создать блок самостоятельно. Представьте, что хотите опубликовать в сайдбаре ссылки на полезные ресурсы. Для этого в меню «Структура – Блок» нажмите кнопку «Добавить блок». На странице редактирования укажите название блока и добавьте информацию. Выберите регион отображения блока. Сохраните изменения.

Проверьте корректность отображения элемента.

Установите права пользователей

Каждый посетитель сайта под управлением Drupal получает определенную роль. По умолчанию CMS поддерживает роли администратора, зарегистрированного и анонимного пользователя.

Перейдите в раздел «Пользователи» административной панели. На вкладке «Список» вы найдете перечень зарегистрированных пользователей. На вкладке «Права» доступа можно ознакомиться с доступом к функциям сайта для существующих ролей. На вкладке «Роли» можно редактировать существующие и добавлять новые роли.

Представьте, что вам необходимо добавить пользователя, который будет публиковать статьи. Чтобы зарегистрировать учетную запись, воспользуйтесь кнопкой «Добавить пользователя».

Укажите регистрационные данные, включая электронных адрес и пароль для входа на сайт. Оставьте роль по умолчанию. Поставьте флажок напротив опции «Уведомить пользователя» и зарегистрируйте учетную запись.

Чтобы не предоставлять журналисту все административные права, создайте для него новую роль. Для этого на вкладке «Роли» воспользуйтесь кнопкой «Добавить». Перейдите на вкладку права доступа и отметьте флажком функции, доступ к которым получит пользователь с соответствующей ролью. В частности, разрешите пользователю с ролью «журналист» создавать публикации и редактировать собственные материалы.

Вернитесь на вкладку «Список». Выберите профиль нового пользователя и нажмите кнопку «Изменить».

В разделе «Роли» установите флажок напротив нужной опции и сохраните изменения. Новая роль пользователя отобразится в его профиле на вкладке «Список».

С помощью ролей с разными правами доступа вы можете эффективно контролировать групповую работу над сайтами под управлением Drupal. Также вы можете стимулировать регистрацию пользователей. Для этого можно предоставить дополнительные привилегии аутентифицированным посетителям.

Настройте меню сайта

В административной панели выберите раздел «Структура – Меню». Нажмите кнопку «Редактировать меню» напротив главного меню навигации.

На открывшейся странице можно редактировать существующие ссылки или добавлять новые. Представьте, что вам необходимо добавить в главное меню ссылку на страницу с контактной информацией. Для этого нажмите кнопку «Добавить ссылку».

В поле «Название» укажите, какое название ссылки будут видеть пользователи. В поле «Ссылка» укажите URL страницы. В поле описание добавьте текст, который увидят пользователи при наведении курсора мыши на ссылку в меню. Используйте поле «Вес», чтобы управлять порядком ссылок в меню. Чем выше вес ссылки, тем ниже она будет отображаться в меню.

Вы можете создать произвольное меню. Например, есть возможность сделать новое навигационное меню и опубликовать его в футере сайта. Для этого в разделе консоли «Структура – Меню» нажмите кнопку «Добавить».

Укажите название и описание меню, а также выберите язык. Сохраните изменения. Вы создали меню. Теперь на странице редактирования добавьте в него ссылки.

Чтобы опубликовать меню в футере, перейдите в раздел «Структура – Блоки». Выберите регион и разместите в нем соответствующий блок.

Проверьте корректность отображения блока.

С помощью описанных функций вы выбрали базовые настройки CMS Drupal. Теперь уделите внимание функциональности ресурса. Начните с SEO-дружественности.

Как обеспечить SEO-дружественность сайта на Drupal

Drupal соответствует ключевым требованиям поисковых систем по умолчанию. С помощью технической оптимизации можно повысить видимость ресурса в поиске. Для этого нужно настроить алиасы, обеспечить корректное отображение метаданных, создать карту сайта и внедрить микроразметку.

Настройте алиасы

По умолчанию в CMS Drupal контент организован с помощью нод (англ. node — узел). Нода — это единица контента, которая имеет отдельный URL. Например, нодой может быть статическая страница, публикация в блоге, страница категории.

Движок отображает стандартные для Drupal URL вида vash-site.ru/node/3. Для новых публикаций отличается только цифра в конце сетевого адреса.

Для машин это не представляет никакой проблемы, а вот для людей такие URL не подходят. Настроить ЧПУ можно с помощью алиасов.

Алиасы — это синонимы URL, ведущие на один адрес. Например, адреса vash-site.ru и www.vash-site.ru — это алиасы.

Задать понятный человеку синоним необходимо при создании публикации. Также это можно сделать на странице редактирования существующих материалов. Для этого в разделе «Содержимое» выберите нужный материал и нажмите «Редактировать». Выберите опцию «Настройки адресов» и укажите алиас.

Обратите внимание, с помощью URL можно подчеркнуть разницу между статическими страницами и публикациями. Например, в адрес статей можно добавить элемент article или blog.


В этом случае URL выглядит так (см. иллюстрацию).

В меню «Конфигурация – Поиск и метаданные» включите чистые ссылки.

Эта функция убирает из URL элемент «?q=» (см. иллюстрацию).

После включения чистых ссылок URL становятся понятными для людей.

Создание синонимов можно автоматизировать. Для этого установите модули Token, CTool и Pathauto. Первые два необходимы для корректной работы Pathauto. Чтобы установить модуль, воспользуйтесь соответствующей кнопкой в разделе консоли «Модули».

После установки и активации модулей перейдите в раздел «Конфигурация – Поиск и метаданные». Выберите меню «Синонимы URL». Перейдите на вкладку Patterns.

Создайте паттерн для статей. Чтобы URL статей имел вид vash-site.ru/blog/publication-title, используйте шаблон blog/[node:title]. Для базовых страниц используйте шаблон [node:title].

После настройки шаблонов создайте алиасы для всех существующих страниц. Для этого перейдите на вкладку Bulk generate, укажите типы контента и нажмите кнопку «Обновить».

Проверьте корректность отображения URL. Обратите внимание, по умолчанию Drupal использует в качестве канонического ЧПУ. Поэтому вы можете не опасаться санкций поисковых систем за дубли страниц.

Обратите внимание на важный нюанс: движок подставляет в URL кириллические символы.

Если это вас устраивает, настройте шаблоны соответствующим образом. То есть вместо blog используйте префикс «блог» и так далее. Если хотите URL из латинских символов, при публикации статей в разделе «Настройка адресов» снимите галочку с пункта Generate automatic URL alias. Укажите URL вручную и сохраните изменения.

Обеспечьте отображение метаданных

Это можно сделать с помощью SEO-модулей, например, связки Metatag и Real-time SEO for Drupal. Установите и включите программные надстройки для CMS в разделе консоли «Модули».

После включения модулей на странице редактирования контента появится раздел Metatags. В разделе Basic Tags можно задать правило формирования заголовков страницы. По умолчанию оно имеет вид «Название публикации/название сайта». Это оптимальный вариант, поэтому ничего не меняйте.

По умолчанию модуль Metatag с помощью токена [node:summary] автоматически использует в качестве description текст анонса статьи. Это не лучший вариант, так как функционально предназначение анонса и дескрипшена отличаются.

В разделе «Описание» вручную добавьте краткую информацию о публикации. Она может отображаться в сниппете на странице поисковой выдачи. При необходимости укажите ключевые слова в соответствующем разделе. Эту опцию можно игнорировать, так как поисковые системы не учитывают метатег keywords при ранжировании страниц.

В разделе Advanced tags можно добавить метатеги, управляющие поисковыми роботами. Если вы хотите, чтобы «поисковики» индексировали страницу, игнорируйте раздел.

В разделе Open Graph можно контролировать данные, которые отображаются в сниппете при публикации контента в соцсетях.

Создайте карту сайта

Карта сайта в формате XML-файла помогает поисковым системам корректно индексировать ресурс. Создать ее можно с помощью модуля XML Sitemap.

Установите и включите генератор карты сайта. Чтобы настроить карту, перейдите в раздел консоли «Конфигурация – Поиск и метаданные». Выберите меню «XML Карта сайта».

На вкладке «Настройки» установите частоту обновления карты сайта. Разработчик генератора рекомендует выбрать значение Daily. Обратите внимание, файл sitemap.xml автоматически обновляется после публикации или редактирования контента.

По умолчанию модуль добавляет в карту сайта только главную страницу, а этого недостаточно. Перейдите на вкладку «Содержимое». Поочередно войдите в разделы Article и Basic Page и включите в карту сайта все статьи и страницы.

Илон Маск рекомендует:  Стохастические фракталы

В разделе XML-sitemap включите тип контента в карту сайта. Не меняйте настройки приоритетов. Поисковые системы сами решат, какой контент с какой частотой индексировать.

Перейдите на вкладку Rebuild Links и обновите карту сайта. После этого проверьте доступность и корректность отображения карты сайта. Ее можно найти по адресу vash-site.ru/sitemap.xml.

Внедрите микроразметку

Установите модуль Schema.org Metatag. Он расширяет функциональность модуля Metatag. С помощью Schema.org Metatag можно реализовать микроразметку через формат JSON-LD.

После установки и активации модуля в меню редактирования публикаций на вкладке Metatags появляются варианты разметки Schema.org, которые можно добавить к материалу. Выберите нужный тип разметки, заполните данные и опубликуйте статью.

Например, выберите тип разметки Review. Укажите данные: название обзора, тип объекта, название объекта, канонический URL, дату публикации.

Дополнительные способы внедрения микроразметки ищите в статье о расширенных сниппетах.

В разделе админки «Конфигурация – Разработка – Производительность» включите кэширование сайта для неавторизованных пользователей. Установите время жизни кэша 12 часов. Также отметьте галочками опции «Объединение и сжатие файлов CSS» и «Объединение файлов JavaScript».

Вы повысили SEO-дружественность сайта. Теперь позаботьтесь о безопасности ресурса.

Как обеспечить безопасность ресурса на Drupal

В этом разделе вы найдете информацию о резервном копировании информации и защите от спама.

Настройте резервное копирование сайта

Установите и активируйте модуль Backup and Migrate. Перейдите на страницу настроек надстройки. Ее можно найти в разделе консоли «Конфигурация – разработка».

На вкладке BackUp можно быстро создать и сохранить на жесткий диск ПК резервную копию базы данных. С помощью выпадающего меню можно выбрать дополнительные объекты копирования: общедоступную папку и каталог пользовательских файлов. Копируйте эти объекты, если посетители хранят на сайте какой-то контент.

Используйте вкладку Restore, если необходимо восстановить данные. На вкладке Shedules можно настроить автоматическое создание резервных копий. Для этого нажмите кнопку Add Shedule. Заполните поле «Имя задания», поставьте флажок напротив опции «Включено». Выберите объект копирования и укажите частоту создания резервных копий.

При выборе ориентируйтесь на частоту обновления сайта. Если вы публикуете десятки новых материалов в день, настройте ежедневное копирование базы данных. Если сайт обновляется раз в неделю, копию также можно делать раз в неделю.

Установите модуль CAPTCHA для борьбы со спамом

Скачайте и активируйте модуль CAPTCHA. Перейдите в меню настройки, которое находится в разделе консоли «Конфигурация». С помощью выпадающего меню выберите тип проверки. Добавьте описание и сохраните конфигурацию.

Проверьте корректность работы CAPTCHA. Для этого войдите на сайт в режиме инкогнито, так как по умолчанию для администраторов сайта форма подтверждения не отображается.

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

С помощью CAPTCHA и резервного копирования вы защитили сайт от автоматического спама и потери информации соответственно. Теперь обеспечьте возможность следить за эффективностью ресурса.

Как отслеживать эффективность ресурса на Drupal

Чтобы настроить мониторинг, нужно подключить сайт к сервисам Google Analytics и «Яндекс.Метрика», а также зарегистрировать его в Search Console Google и «Яндекс.Вебмастер».

Подключите ресурс к Google Analytics

Зарегистрируйте ресурс в Google Analytics и получите код отслеживания. Затем установите на сайт модуль GA. После активации перейдите на страницу настроек в разделе консоли «Конфигурация – Система». Укажите идентификатор аккаунта.

На вкладке Roles исключите отслеживание активности администраторов и редакторов сайта. Это сделает статистику более достоверной.


Сохраните настройки и проверьте корректность работы Google Analytics. Для этого выберите раздел Google Analytics «Отчеты – В режиме реального времени – Обзор». Если код работает корректно, вы увидите количество активных пользователей на сайте.

Обратите внимание, после добавления кода Google Analytics можно быстро подтвердить права собственности на сайт в панели инструментов Search Console. Для этого просто выберите соответствующий способ подтверждения.

Чтобы отслеживать эффективность сайта с помощью «Яндекс.Метрики», воспользуйтесь модулем Yandex.Metrics.

Чтобы отслеживать индексирование сайта с помощью «Яндекс.Вебмастер», зарегистрируйте ресурс и подтвердите права на управление. Выберите способ подтверждения с помощью HTML-файла. Скачайте предложенный документ на жесткий диск и с помощью FTP-клиента загрузите его в корневую директорию сайта.

Проверьте, правильно ли вы выбрали место расположения файла. Для этого откройте предложенную в кабинете «Яндекс.Вебмастер» ссылку.

В кабинете вебмастера нажмите кнопку «Проверить». Если все сделано верно, вы увидите сообщение о добавлении сайта в очередь на индексацию.

Вы подключили сайт к системам мониторинга. Теперь можно публиковать контент.

Как управлять контентом с помощью CMS Drupal

В этом разделе вы найдете информацию о таксономии Drupal и публикации контента.

Систематизируйте контент с помощью модуля «Таксономия»

Drupal систематизирует и отображает контент с помощью модуля «Таксономия». Его настройки вы найдете в разделе консоли «Структура – Таксономия».

Категоризация контента осуществляется с помощью словарей и терминов. Словарь — это категория первого уровня. Термины — категории второго и следующих уровней.

По умолчанию CMS Drupal организует контент с помощью словаря Tags. Откройте его, чтобы создать категории для будущих публикаций. Воспользуйтесь кнопкой «Добавить термин», чтобы создать родительскую категорию. Чтобы создать дочернюю категорию, выберите соответствующее значение в меню «Отношения».

Чтобы добавить публикацию в созданную категорию словаря Tags, на этапе редактирования достаточно указать соответствующие метки в редакторе.

Вы можете систематизировать публикации с помощью дефолтного словаря Tags, а также создавать дополнительные словари с наборами терминов.

Создавайте публикации

В отличие от более ранних версий, в Drupal 8 по умолчанию установлен удобный WYSIWYG-редактор CKEditor. Если вы пользуетесь более ранней версией движка, установите и активируйте соответствующий модуль. Чтобы расширить его функциональность, установите и активируйте модуль IMCE. Он упрощает работу с визуальным контентом. Настроить панель инструментов редактора можно в разделе «Конфигурация – Работа с содержимым – Текстовые форматы и редакторы».

Чтобы опубликовать материал, выберите раздел консоли Content. Нажмите кнопку «Добавить материал». По умолчанию Drupal предлагает выбрать тип материала: статью или основную страницу. Используйте тип «Основная страница» для создания статичных страниц, например, разделов сайта «О нас», «Услуги», «Портфолио». Тип «Статья» подходит для создания новостей, заметок, статей.

Представьте, что публикуете статью. В поле Title укажите название материала. Нажмите на кнопку «Редактировать анонс», чтобы добавить произвольный анонс. Эту опцию можно пропустить. В этом случае система создаст анонс автоматически.

Добавьте в поле редактора контент. Вы можете редактировать публикацию в визуальном формате, а также в форматах ограниченного и полного HTML. Укажите метки публикации.

В поле метатегов укажите описание публикации. Опубликуйте материал.

Если вы публикуете статическую страницу, в разделе «Настройки меню» можете запланировать создание ссылки меню. Для этого отметьте соответствующую опцию и укажите название ссылки.

При необходимости можно создавать произвольные типы материалов. Для этого выберите раздел консоли «Структура – Типы материалов».

Вместо заключения, или Когда стоит выбрать Drupal, а не Joomla! или WordPress

Drupal, как Joomla! и WordPress, представляет собой универсальную CMS с открытым кодом. Он не лучше и не хуже упомянутых движков. Вы можете взять «Вордпресс», «Джумлу» или «Друпал» и сделать на их базе практически любой проект: корпоративный сайт, информационный ресурс, интернет-магазин, личный блог. Каковы главные особенности Drupal?

По сравнению с WordPress, он более гибкий. Но это не значит, что Drupal — универсальный конструктор, а WordPress — всего лишь готовая модель одной игрушки. Гибкие настройки «Друпала» по большей части заложены в ядре движка. Чтобы получить те же возможности с «Вордпрессом», придется устанавливать плагины.

Простой пример: в Drupal удобно реализованы настройки ролей. Благодаря этому вы можете легко управлять политиками доступа. Это полезно для форумов, интернет-магазинов, онлайн-сервисов. В WordPress по умолчанию настройки ролей пользователей фиксированные. Но с помощью плагинов типа User Role Editor в этой CMS можно получить гибкие настройки ролей, как и в Drupal.

Еще один пример: в Drupal по умолчанию выполняется кэширование и сжатие контента. В WordPress эти задачи решаются с помощью дополнительных плагинов.

По сравнению с «Джумлой», «Друпал» работает стабильнее. Вот пример: с настройкой редактора JCE в Joomla! мне пришлось долго возиться. Он просто не хотел работать. В Drupal 8 интегрирован функциональный редактор, который практически не требует настроек.

В каком случае Drupal однозначно лучше Joomla! и WordPress? Только в одном: если этот движок вам больше нравится, кажется более удобным и подходящим для реализации вашего проекта.

Кстати, не бойтесь репутации сложной для понимания CMS. Административная консоль Drupal интуитивно понятна, а освоить ее может любой пользователь без технической подготовки. Чтобы создать сайт с базовой функциональностью, вам не придется использовать все возможности «Друпала». Просто сосредоточьтесь на функциях, которые нужны в данный момент. Тогда вы получите надежный, гибкий, стабильный, безопасный и бесплатный движок, на котором можно сделать практически любой проект.

Кстати, создание сайта на «Друпале» вы можете заказать в нашем агентстве. Мы делаем сайты, оптимизированные по поисковые системы и отвечающие всем канонам современного дизайна и юзабилити. Интересуют подробности? Переходите по ссылке.

Drupal. Инструкция по установке системы

Автор: Козлов Эдуард
WEB: http://webkev.com

Для установки друпала и изучения его возможностей создадим на локальном сервере сайт cmsdrupal.ru. В статьях про DLE и e107 подробно описано как это делается. Надеюсь, создавать структуру сайтов на Denwer вы уже научились. При установке Drupal на сервер уточните у хостинг-провайдера структуру папок. И узнайте в какую папку вам необходимо заливать исполняемые php-скрипты.

Закачиваем файлы из инсталляционного архива друпала. По умолчанию там нет русского языка. Русские локализации ядра и модулей придется скачать отдельно. Дистрибутив и локализацию качаем с сайта разработчиков.

Итак, заливаем локализацию в корень сайта и вводим в адресоной строке адрес нашего сайта: cmsdrupal.ru

Запускается мастер установки системы. На первом шаге он предлагает выбрать язык для дальнейшей установки:

Выберем русский язык и нажмем Select language. После этого мастер установки проверит параметры. Кстати говоря, локализация выбирается не для установщика, а для сайта, поэтому установка Drupal будет осуществляться на английском языке. Однако, не думаю, что это вызовет какие-либо проблемы.

Возникла ошибка с конфигурационным файлом. Тут ничего страшного нет. Просто создаем файл settings.php в папке /sites/default/. Этот файл является полной копией файла default.settings.php. После этого нажимаем ссылку try again.

Следующий шаг инсталляции — установка связи с базой данных.

Database name: drupal

Database username: root

Database password: оставляем пустым (для Денвера).

Прежде чем продолжать установку, не забудьте, что базу данных с именем drupal мы создаем из phpMyAdmin до начала установки друпала.

База создана, параметры введены. Продолжаем…

На этом шаге установки нам предлагается сконфигурировать настройки сайта. Кстати, когда будете устанавливать друпал на сервере, то не забудьте выставить права только на чтение (444) на конфигурационные файлы. Если всё-таки этот момент из вашей памяти вылетит, то ничего страшного. Мастер установки вам подскажет. На этой странице зеленым текстом и написано напоминание. Но у нас сайт на локальной машине, поэтому нас это не касается. В поле Site name давайте введем Мой первый сайт на Drupal. В поле ввода адреса e-mail введем только что придуманный адрес: me@cmsdrupal.ru.

Далее идут параметры аккаунта администратора. Введем наши стандартные значения:

Username: admin


E-mail address: me@cmsdrupal.ru

Пароль: admin

Затем устанавливаем параметр времени и включаем Clean URLs: enabled.

Нажимаем Save and continue

Вот мы видим окно окончания установки. А точнее, удачное завершение установки. Главная страница нашего сайта сейчас выглядит так:

Drupal → Установка Drupal 8 с помощью Composer и бубна

Всё чаще стали предлагать работу на Drupal 8, а я ещё толком за него и не брался. Дай думаю для начала создам свой профиль и переведу блог на восьмёрку, благо совсем недавно вышла версия 8.4.

Начать решил по традиции с скрипта автоматической установки. Уже вбив в sh файлик заветное drush dl drupal вспомнил, что для восьмёрки нужен свежий Drush, несовместимый с версией для Drupal 7. Иду на drush.org → Docs → Install и вижу:

Проблема 1: друпал нельзя скачать с помощью Drush

Сайт встречает заметной плашкой:

Drush 9 only supports one install method. It requires that your Drupal 8 site be built with Composer and Drush be listed as a dependency.

Т.е. друпал должен быть установлен с помощью Composer, а Drush добавлен локально в качестве зависимости. Глобальная установка не поддерживается, но есть отдельная утилита drush-launcher, которая по сути просто перенаправляет команды в vendor/bin/drush .

Вспоминаю о Drupal Console:

Проблема 2: CLI утилиты теперь две

Существует альтернатива Drush под названием Drupal Console. Первоначально она задумывалась как код-генератор, но сейчас по факту клон Drush.

Что же выбрать? Мои фоловеры в твиттере предпочитают Drupal Console. Я пожалуй теперь буду тоже. Хотя ничто не мешает установить и то и другое.

И Drupal Console тоже можно установить только локально.

Ладно, двигаюсь дальше. Гуглю «drupal install composer». Вторая же ссылка ведёт на официальную документацию, где и правда советуют ставить друпал с помощью композера. Но:

Проблема 3: установка через Composer возможна тремя различными способами

Для скачивания друпала предлагается на выбор три варианта:

1. composer create-project drupal-composer/drupal-project
2. composer create-project drupal/drupal
3. с помощью утилиты hussainweb/drupal-composer-init

Это была бы не проблема, если бы все три варианта давали один результат, но результат будет разниться.

Основные отличия кроются в организации каталогов. В drupal-composer/drupal-project и hussainweb/drupal-composer-init папка vendor вынесена за пределы web root, что требует дополнительной настройки сервера.

Остановится решил на втором способе (как выяснится позже — ошибочно), чтобы результат был похож на оригинальный дистрибутив друпала. Выполняю в консоли composer create-project drupal/drupal . Друпал скачался, один в один, как в дистрибутиве.

Читаю документацию дальше. Выясняю, что модули и темы теперь надо ставить тоже с помощью композера — composer require drupal/modulename . Необходимость в Drush начинает пропадать.

Подобный подход позволяет забыть о ручном копировании дополнительных библиотек, требующихся для работы некоторых модулей. Композер сам скачает/обновит все зависимости. Раньше таким занимался drush make.

А sandbox модули ставятся так же просто? Нет:

Проблема 4: sandbox модули ставятся через костыль

Друпаловский композер-репозиторий packages.drupal.org ничего не знает о sandbox-ах. Это значит, что для установки каждого sandbox модуля, нужно дополнительно добавлять в composer.json соответствующий git-репозиторий:

Сразу встаёт вопрос — как же обновлять всё это добро? Простое копирование затрёт изменённые файлы композера и возможно положит сайт. Документация однозначного ответа не даёт, описана только процедура обновления модулей: composer update drupal/modulename —with-dependencies , про обновление ядра пусто. Лезу в гугл. Везде советуют composer update drupal/core —with-dependencies . Ок, выполняю и:

Проблема 5: из коробки невозможно обновить Drupal с помощью Composer

Package «drupal/core» listed for update is not installed.

Пакет drupal/core добавлен в composer.json в секцию replace , поэтому его нельзя обновить с помощью композера. Гуглю, попутно бомблю в твиттер. Нахожу статью Troubleshooting Composer и мою проблему. Советуют изменить composer.json и перенести пакет drupal/core из секции replace в секцию require . Но:

Проблема 6: composer не может удалять пакеты из секции replace

В композере нет команды для удаления пакета из секции replace . Поможет только ручная правка composer.json .

Вручную, так вручную. Удаляю «drupal/core»: «^8.4» . Выполняю composer require drupal/core . Всё отлично, ядро теперь можно обновлять. Главное не забыть после обновления файлов запустить update.php или выполнить vendor/bin/drush updb .

Как обновить сразу всё — ядро и модули? На drupal.org не советуют, но по идее composer update . Выполняю и:

Проблема 7: «composer update» обновляет зависимости ядра даже когда этого не надо

composer update обновляет зависимости ядра, даже когда само ядро ещё не обновилось, т.е. оно с ними не оттестировано и теоретически могут возникнуть трудновоспроизводимые проблемы.

Коллеги в твиттере посоветовали композер модуль webflo/drupal-core-strict. Ставим — composer require webflo/drupal-core-strict . Теперь composer update не обновляет пакеты из core/composer.lock , зато обновляет другие зависимости. Возможно не зря советовали не выполнять глобальный update. Как тогда за раз обновить овер сто модулей вопрос открытый.

Проблема 8: файлы вне папки core не обновляются

Файлы index.php , robots.txt и другие, которые не находятся в папке core , не обновляются при вызове composer update drupal/core или даже composer update .

Проблема решается установкой очередного композер-модуля drupal-composer/drupal-scaffold: composer require drupal-composer/drupal-scaffold .

По умолчанию модуль будет выкачивать все файлы из дистрибутива, которые находятся вне папки core , в том числе robots.txt и .htaccess , что нежелательно. Чтобы ограничить список файлов, нужно изменить опцию extra.drupal-scaffold.excludes . У композера есть команда для изменения настроек в секции extra, но:

Проблема 9: composer не умеет сохранять массивы в качестве значения опции

В extra.drupal-scaffold.excludes нужно сохранить массив файлов. Команда composer config этого сделать не может.

Вручную добавляем в секцию extra :

Теперь при обновлении версии ядра друпала, будут обновляться «scaffold» файлы, за исключением .htaccess и robots.txt .

Проблема 10: при обновлении композер не может разрулить конфликты

При попытке выполнить composer update он начнёт выдавать дурацкие сообщения о том, что не может разрулить конфликты зависимостей. Помогает удаление нескольких строчек из конфига:

Теперь всё. Друпал скачан и готов к установке с последующим обновлением (не факт).

На самом деле есть ещё небольшая проблема. У меня почему-то всегда выкачиваются пакеты из секции require-dev . Я перепробовал миллион комбинаций и запретить скачивание никак не получается. Помогает только удаление composer.lock перед вызовом composer require .

Написанное актуально для Drupal 8 Похожие записи

Комментарии

drupal-composer/drupal-project , де-факто, «правильный» вариант.

Получается что проблемы 4, 5 и 6 относятся только к шаблону drupal/drupal который мало кто использует.

Если шаблон drupal-composer/drupal-project не подходит, то можно очень легко сделать свой (займёт

  1. Форкнуть drupal-project
  2. Отредактировать его (например изменить структуру директорий)
  3. Зарегистрировать пакеь на packegist.org
  4. Проверить как это работает composer create-project xandeadx/drupal-project

часть 1

А я полюбил композер, хотя по началу также недоумевал.

— Удобная система зависимостей, которая также умеет качать сторонние зависимости. Без композера это бы приходилось делать руками, так как ложить third-party либы с модулем на орге вроде как запрещено.
— Удобная система патчинга, которая сама патчит при обновлении и предупреждает что патч уже не подходит.
— Для создания нового проекта достаточно перекинуть composer.json от старого. Либо уже посмотреть в сторону drupal-project, я пока всё приглядываюсь и походу скоро решусь взять его. Хотя это и потребует изменения конфигов nginx на сервере, но это походу самый удобный вариант.
— Размер репозитория для D8 очень минимизирован, так как все контрибы, ядро и прочие зависимости подтягиваются композером.
— Возможность удобно подключать свои или чужие репозитории. Например GitHub проект для своих нужд. В composer.json будет всё предельно ясно и видно, откуда тащится, по каким критериям и куда ставится. Также композер поддерживает их в актуальном состоянии, если требуется.
— Композер умеет детектить изменения в момент обновления. Он может заметить что в файлы с кодом вносились изменения и предлагает несколько вариантов на выбор: обновить с заменой, оставить изменения, подготовить патч для изменений. Это очень удобно, хотя полностью перекрывается патчингом. Но если кто-то со стороны начудит, хотя бы не перетрется.
— Композер имеет свои «хуки» где можно писать свои команды или даже код под свои нужды. Можно задать чтобы после апдейта он делал drush updb, или же бекапил БД перед апдейтом.

часть 2

То что ты написал, да, минусы, но они с лихвой перекрываются плюсами которые дает композер. Подобные проблемы, как мне кажется, все же исправят или все перейдут на drupal-project.

Единственный не совсем очевидный момент, особенно для новичков, будет то, что проект лучше изначально полностью собирать через композер. Страница на drupal.org об этом умалчивает. Хотя надо брать пример с симфони, оставить возможность загружать только композером и решать проблемы из-за которых появляются drupal-scaffold. Для тех, кому интересен код, есть git репозитории. Никаких установок модулей драшем, никаких ручных установок с загрузкой по FTP (разве что для кастома), никаких установок из админки. Как по мне, установку модулей надо удалять из админки, и если хотят оставить инструменты, делать модуль с UI под композер.

Композер уже де-факто стандарт в 8-ке. Многие модули уже просто не поставить без него: Commerce, Search API, ImageMagick ещё какие-то популярные также имеют зависимости от либ которые качаются композером и грузятся его автолоадом. Когда человек на 8-ке нарвется на композер, вопрос лишь времени, и чем больше модулей переписывают заново под 8-ку, тем больше становится модулей которые ставятся только композером.

Сейчас улучшения должны пойти быстрее. Drupal 8.4+ поддерживается только Drush 9, там уже нет возможности качать модули, только включать и отключать. На dru.io мы даже специально блочили эту команду для старого драша. Осталось дождаться когда соберутся и потрут установку из админки через wget.

Не без недостатков, но после 2-3 проекта от композера остаются только приятные впечатления.

Полностью поддерживаю слова Niklan и рекомендую использовать https://github.com/drupal-composer/drupal-project во всех новых проектах. А так же переносить существующие под контроль composer.

drupal-composer/drupal-project(© @vaplas) это здорово, пользуйтесь – не пожалеете.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL