Всё чаще стали предлагать работу на 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.
3. с помощью утилиты

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

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

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

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

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

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

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

composer config repositories.modulename git "https://git.drupal.org/sandbox/username/123456.git" composer require drupal/modulename

Сразу встаёт вопрос - как же обновлять всё это добро? Простое копирование затрёт изменённые файлы композера и возможно положит сайт. Документация однозначного ответа не даёт, описана только процедура обновления модулей : 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 обновляет зависимости ядра, даже когда само ядро ещё не обновилось, т.е. оно с ними не оттестировано и теоретически могут возникнуть трудновоспроизводимые проблемы.

Проблема 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, но:

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

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

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

"drupal-scaffold": { "excludes": [ ".htaccess", "robots.txt" ] }

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

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

При попытке выполнить composer update он начнёт выдавать

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

Ранее мы с вами разобрались как на свой компьютер. После того, как локальный сервер установлен и готов к работе, можно приступать к установке Друпал.

Установка Drupal 7 проходит в два этапа. Первое, что нам необходимо будет сделать – это создать базу данных, и второе – начать непосредственно саму установку данной CMS. Приступим!

Создание Базы данных

Для того, чтобы создать базу данных нам нужно в адресной строке браузера вписать: http://localhost/Tools/phpMyAdmin и в открывшемся окне нажать на вкладку «Базы данных».

Пишем название нашей базы данных (1) и нажимаем кнопку «Создать» (2).

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

И нажимаем кнопку «Добавить пользователя».

Пишем имя пользователя (1), указываем хост – локальный (2) и пароль (3).

Проматываем немного ниже и жмем – «Отметить все» (1) для того, чтобы выставить максимальные привилегии для данного пользователя. И после этого нажимаем кнопку «Добавить пользователя» (2).

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

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

Перейдем на нашем локальном сервере в директорию: C:\WebServers\home\localhost\www\ и создадим папку, в которой будет находиться наш будущий сайт – «drupal7». Следует запомнить, что название папки будет соответствовать локальному доменному имени, по которому будет доступен сайт, т.е. в данном случае, сайт будет доступен по следующему адресу – http://localhost/drupal7.

Теперь разархивируем скачанный ранее релиз и скопируем файлы с него в созданную папку «drupal7». У вас должно получиться следующее:

Давайте перезагрузим Denwer для того, чтобы не было никаких непредвиденных ошибок. После этого открываем браузер, пишем в нем: http://localhost/drupal7 и начинаем установку Drupal.

На открывшейся странице установки выберите «Standard» и нажмите кнопку «Save and continue».

Нам предлагают выбрать язык, по умолчанию есть только английский. Чтобы добавить русский язык, нам нужно кликнуть по ссылке – Learn how to install Drupal in other languages.

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

  1. Скачать перевод со специального сервера переводов
  2. И затем поместить скачанный перевод в папку: /profiles/standard/translations/

Скачиваем перевод, для этого переходим по ссылке – translation server.

На открывшемся сайте переходим на – Translations Homepage.

Скачиваем перевод для нужной нам версии.

Теперь перейдем в /profiles/standard/translations/ и скопируем в эту папку скачанный перевод.

Возвращаемся обратно к установке Друпал и обновляем страницу. Мы видим, что появилась возможность выбора русского языка. Выбираем «Russian (Русский)» и жмем «Save and continue».

Drupal самостоятельно проверяет все ли соответствует его требованиям, и если нет никаких замечаний, то переходит к следующему шагу – Установка БД.

В конфигурации базы данных необходимо вписать параметры базы данных, которую мы создали ранее. В типе базы данных выбираем – «MySQL, MariaDB или аналог» (1), в название базы данных пишем – drupal7 (2), имя пользователя БД у нас совпадает с названием базы данных – drupal7 (3) и указываем пароль к базе данных (4). Дополнительные настройки оставим без изменений. И нажимаем кнопку «Сохранить и продолжить».

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

После установки происходит импорт переводов интерфейса. Дожидаемся окончания и перед нами появляется страница с настройками сайта.

Здесь нужно ввести общую информацию о сайте. Придумываем название сайта (1), указываем e-mail адрес сайта (2), имя пользователя отличное от admin, так как admin лучше не использовать в целях безопасности (3), e-mail адрес для администратора присвоится такой же, как и в настройках сайта выше (4) и пароль как можно сложнее, это повысит безопасность сайта (5).

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

Как только вся нужная информация заполнена, нажимаем «Сохранить и продолжить».

Теперь вы можете перейти на свой сайт кликнув по ссылке – Войти на свой новый сайт.

И в открывшемся окне вы увидите главную страницу сайта.

На этом установка Друпал закончена и можно приступать к дальнейшему изучению движка.

Drupal 8 имеет ряд преимуществ перед Drupal 7. В частности, он имеет встроенные механизмы кэширования, что делает "сайт из коробки" быстрым. Но проблемы при установке могут возникать, особенно на виртуальных хостингах. Приведем некоторые обнаруженные проблемы.

Долгая установка с ошибкой 502

Drupal 8 устанавливается очень долго на виртуальном хостинге. Часто из-за настроек ограничения потребления ресурсов (процессорного времени и памяти) процесс установки может обрываться - показом ошибки 502 или другой. В следствие этого пользователь получает нерабочий сайт или не все переводы портируются.

Требование PHP 5.5.9

Для корректной работы Drupal 8 нужна версия PHP не ниже 5.5.9. Этот вопрос решается, например, на хостинге Джино выбором версии PHP 5.6 в панели управления. Но при выборе PHP 5.6 могут происходить ошибки на сайтах Drupal 7, поэтому придется иметь два разных аккаунта.

Требование библиотеки кэширования Zend opcache

Во время установки может возникать ошибка "не найден Zend opcache". opcache - это библиотека, которая должна быть установлена на сервере обязательно для работы Drupal 8. На некоторых хостингах её можно включить (обращайтесь в службу поддержки). На других хостингах, где нет доступа к php.ini, Друпал 8 не сможет работать.

Белый сайт после установки

Эта проблема связана с тем, что Drupal 8 не имеет прав записи файлов, поэтому в html-коды страниц не включаются файлы стилей (Друпал 8 подключает их всегда динамически, создавая обработанные css-файлы). На хостинге Джино, например, проблема белого сайта решается исправлением настроек в файле /sites/default/files/.htaccess. Закомментируйте строку:

#Options -Indexes -ExecCGI -Includes -MultiViews

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

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

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

Но хотел бы отметить, что популярность эта, в основном припадает на западную часть интернета. Что же касается рунета — то первые места в рейтингах CMS делят между собой такие всем известные платформы как Joomla и WordPress, что, на мой взгляд, не совсем справедливо по отношению к рассматриваемой нами. И причина этого — проста и банальна – Drupal не совсем удобна и привычна в плане работы и использования обычными пользователями. То есть, когда сайт разрабатывается – он используется непосредственно разработчиком, но по завершении работы, дальнейшее использование переходит непосредственно заказчику и здесь могут быть сложности. Так как юзабилити CMS, несколько не привычно, но хотел бы Вас заверить, что это только на первый взгляд. Вы в скором времени сами убедитесь,то пользовательский интерфейс вполне приемлем и даже и крайне удачно реализован.

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

Теперь, собственно, давайте поговорим о том как установить drupal 8. Для начала, переходим на официальный сайт разработчика по ссылке .

Тем самым мы переходим в раздел загрузок. Нам необходимо, для начала, скачать только ядро, а значит, используем соответствующую кнопку “Download Drupal 8.2.6” (на момент написания текущей статьи последняя актуальная версия 8.2.6).

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

На данном этапе хотел бы заметить, что для работы CMS Drupal необходим веб-сервер, интерпретатор языка PHP, а так же сервер системы управлениями базами данных Mysql. Данные компоненты Вы, конечно же, можете установить отдельно и выполнить их конфигурацию, но для этого нужно обладать соответствующим набором знаний. Или же Вы можете использовать готовые сборки, то есть программные продукты, в которые все выше перечисленные компоненты установлены и настроены для работы. Это могут быть такие программы как OpenServer, Denver, Xampp и т.д, то есть все зависит от Ваших предпочтений. Я привык работать с OpenServer, а значит в каталоге domains, я создал папку dru.loc, в которую и скопировал исходники CMS (в распакованном виде).

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

Теперь все подготовительные работы завершены, и мы можем установить drupal. Для этого обращаемся в браузере к каталогу, в которые предварительно были скопированы исходники движка и выполняем запрос.

При этом первый этап – выбор языка будущего сайта, соответственно интересующая локализация будет загружена во время установки. Выбрав необходимый – кликаем “Save and continue”.

Второй этап – это выбор режима установки – стандарт или же минимальный. Здесь стоит выбрать стандарт, так как он предусматривает начальную настройку после установки системы, что очень полезно.

Следующий этап проверка совместимости Вашей системы на соответствие минимальным системным требованием CMS, полный перечень которых приведен на странице документации .

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

Следующий этап предварительная установка и импорт переводов.

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

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

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

Итак, Друпал 8 установлен что дальше, можете спросить Вы. Далее необходимо приступать к изучению самой CMS, то есть Вы сейчас, на пороге огромнейшего небоскреба, который еще предстоит исследовать. Но так как Вы уже знаете как установить друпал 8 – значит, Вы сделали хоть и небольшой но уверенный шаг и вошли в первую дверь,а значит не останавливайтесь и смело идите вперед.

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

На этом данная статья завершена. Всего Вам доброго и удачного кодирования!!!

Всем Привет! Сегодня знаменательный день — я открываю новый раздел, посвященный бесплатной CMS Drupal! По традиции первая статья посвящена установке Drupal . Кроме этого, затрону вопрос русификации Drupal. Как сказал один великий человек — ПОЕХАЛИ!!!

Установка русского Drupal

И так, установка Drupal производится в четыре шага, и не важно с локальным или удаленным хостинг вы работаете:

  • создание на сервере новой базы данных;
  • скачивание дистрибутива Друпал 7 и файла русификации;
  • установка Друпал.

А теперь о каждом шаге подробнее.

Шаг №1. Создание БД.

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

Платные хостинги для создания баз данных предоставляют отдельную панель управления. Обычно она очень простая в использовании, поэтому создание новой БД не займет много времени. Главное запомните имя новой БД, логин пользователя и пароль к ней — вся эта информация пригодится для установки Друпал. Если вы заказали хостинг, рассчитанный только на один сайт, то БД скорее всего заранее создана, и информацию о ней вам предоставит техническая поддержка.

Бывает, что для работы с базами данных на хостинге предоставляется phpMyAdmin. Изучению phpMyAdmin на моем блоге посвящена .

Что касается , то в нем создание БД производится через стартовую страницу http://localhost/denwer/.

Поле «Пароль администратора MySQL» оставляем пустым, заполняем только Имя БД, логин пользователя и пароль.

Шаг №2. Скачивание файлов дистрибутива и файла локализации.

На втором шаге следует скачать дистрибутив Друпал с официального сайта drupal.org . Загружаем последнюю версию продукта, на момент написания статьи — это 7.15.

Так как устанавливать будем сразу русский Drupal, то нам еще понадобится файл локализации. Скачать его можно с localize.drupal.org , только следите за тем, чтобы он соответствовал ранее загруженной версии Drupal.

Шаг №3. Загрузка файлов на сервер.

Для работы с удаленным сервером понадобится ftp клиент. Лично я использую . Данный ftp клиент бесплатный, многофункциональный, простой и надежный. Как много эпитетов, но все он заслужил по праву!

Распаковываем архив с дистрибутивом Drupal. Полученные файлы и папки загружаем на сервер в корневой каталог нашего будущего сайта. Файлов много, поэтому загрузка их на сервер займет некоторое время. Благодаря надежности FileZilla, вы потеряете только время, но никак не файлы.

В случае с Денвером, корневой каталог для сайта создается в ручную: в папке /home/ создаем каталог с именем будущего локального сайта (скажем, denwer.ru), в новой папке /home/denwer.ru/ создаем директорию www — это и будет корневой каталог сайта. Именно в папку /home/denwer.ru/www перекидываем файлы Друпала.

Не забываем про файл локализации, его следует загрузить отдельно на сервер в каталог /profiles/standart/translations/.

Шаг №4. Установка Drupal

Когда все приготовления закончены и выполнены три первых шага, можно приступать непосредственно к установке Drupal. Открываем браузер и в адресной строке вводим URL создаваемого сайта. Нажав Enter, попадаем в программу инсталляции.

1. Выбор профиля (choose profile) . Отмечаем первый пункт Standard и жмем «Save and continue».

2. Выбор языка (choose language). Выбираем Русский и жмем «Save and continue». Теперь все оставшиеся шаги инсталляции Drupal будут на родном русском языке.

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

4. Установка БД. В данном разделе следует задать имя заранее созданной БД, логин пользователя и пароль.

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

6. Настройка сайта.

Вводим название сайта и email. Согласно рекомендации, желательно чтобы адрес электронной почты содержал домен вашего сайта.

Учетная запись обслуживания сайта.

  • Имя пользователя — вводим логин администратора.
  • E-mail адрес — адрес электронной почты администратора.
  • Пароль — обязательно следите за индикатором надежности. Если это не локальный сайт, а реальный интернет ресурс, то пароль должен быть как можно надежнее.

Выбираем страну и часовой пояс.

7. Завершено. Проходит завершение переводов, и установка окончена. Остается только нажать «Посетить ваш новый сайт».

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

Русификация английского Drupal

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

1. Заходим в раздел «Modules», отмечаем галочкой модуль «Locale» и сохраняем изменения, нажав кнопку «Save configuration» в самом низу страницы. Это активирует модуль, отвечающий за выбор языка.

2. Далее открываем раздел «Configuration» и заходим в «Translate interface». Справа сверху имеется четыре закладки, нам нужна третья слева — «IMPORT». В пункте «Language file» нажимаем Обзор и выбираем файл локализации с расширением.po со своего компьютера. В пункте «Import into» выбираем Russian (Русский). Нажимаем кнопку «Import», и язык загрузится автоматически.

3. Остается сделать русский языком по умолчанию. Возвращается в раздел «Configuration», но на этот раз заходим в «Languages». В столбце Default ставим галочку во второй графе, соответствующей русскому языку, и нажимаем «Save configuration».

О чудо! Админка Друпал становится полностью на русском языке!