Установка друпал 8 на денвер. Создание Базы данных. Установка русского Drupal

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 8 - это долгожданный релиз от сообщества Drupal, наконец-то Drupal перешел в мир объектно-ориентированного программирования, улучшенное управление настройками, строгое разделение интересов путем внедрения TWIG для шаблонов, и многое другое. В этой статье описывается самый простой способ установки Drupal 8 и его первичной настройки на ваш локальный компьютер.

О том как настроить локальную среду ХАМРР читайте

Установка Drupal 8

Скачайте дистрибутив актуальной версии Друпал 8 с официального сайта: https://www.drupal.org/download . Распакуйте его в корневую папку вашего сайта (например C:\XAMPP\htdocs\eight).

Создайте базу данных, используя PHPMyAdmin. Запомните имя пользователя (администратора) и пароль для базы данных. Они понадобятся при установке.

Откройте браузер и в адресной строке введите URL-адрес вашего нового сайта. Например, localhost/eight.

Установка Друпал 8 начинается с выбора языка. Переводы для языков, отличных от английского, загружаются с сайта переводов Друпал. Если вы работаете на локальной машине без выхода в интернет, то выберите английский язык (English), чтобы избежать проблем с установкой. Либо загрузите файл переводов (например, drupal-8.1.0-beta2.ru.po) с официальной страницы https://localize.drupal.org/translate/languages/ru и поместите его в папку \sites\default\files\translations\ (создайте, если ее не существует)

Выбрав язык нажмите кнопку Save and contunue .

На следующем шаге выберите установочный профиль – Стандарт . Нажмите кнопку Сохранить и продолжить .

Предупреждение о том, что нужно включить PHP OPcode caching.

Для XAMPP установленного на ОС windows 10 /8/7 это решается следующим образом: откройте файл \XAMPP\php, и добавьте в него строку:

zend_extension = "С:\XAMPP\php\ext\php_opcache.dll".

Если XAMPP установлен на другой диск или в другую директорию, то измените строку соответственно. Например «zend_extension = "D:\Local\XAMPP\php\ext\php_opcache.dll"

Сохраните файл php.ini.

Перезагрузите Apache.

Вернитесь к установке Друпал и щелкните по ссылке «повторите попытку ».

Ошибка Настройки xdebug.max_nesting_level установлен в 100 .

Откройте файл php.ini, расположенный в папке \XAMPP\php, и добавьте в него строку:

xdebug.max_nesting_level=256

Сохраните файл php.ini.

Перезагрузите Apache.

Вернитесь к установке Друпал и щелкните по ссылке «попробуйте еще раз».

Конфигурация базы данных

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

Если вы устанавливаете сайт на виртуальный хостинг, то узнайте эти данные у вашего хостинг-провайдера. Обычно их сообщают при покупке хостинга.

Когда установка будет завершена вы увидите главную страницу вашего сайта

Зарождался друпал в далёком 1999 году, а активно развиваться начал уже с 2001 года. В настоящее время последней версией системы является восьмая. На начало 2015 года восьмая ветка ещё проходит бета тестирование, но уже вполне пригодна для разработки сайтов. Седьмая версия весьма стабильна, но мы не будем ориентироваться на неё, а пойдём в ногу со временем. Итак, Drupal 8. Восьмая версия имеет значительные отличия от 6 и 7 версий. Как в административном интерфейсе, так и в написании модулей. Многие вещи уже есть в ядре. Некоторые из них вошли ещё в седьмую версию системы, какие-то решили включить лишь в восьмой версии. В настоящее время на восьмёрке работает уже порядка 4500 сайтов. На той же семёрке немногим более миллиона. Ещё 150 тысяч на шестёрке и 1.170.000 на более старых версиях движка. Полная статистика здесь https://www.drupal.org/project/usage/drupal Drupal уникален тем, что на его основе можно собрать фактически любой сайт. Например визитку, интернет магазин, каталог, доска объявлений, блог или даже социальную сеть. Скажу честно-неподготовленному пользователю, даже с серьёзным опытом программирования или опытом работы с другими CMS, разобраться в друпале будет сложно. У него достаточно высокий порог вхождения. Но, думаю вы не испугаетесь. На этом всё. Больше не будем углубляться в теорию, а посмотрим как же это всё работает. В ключевых моментах я дам точные определения различных сущностей и объясню для чего они предназначены и как их можно использовать в реальных задачах. Начнём с установки системы на сервер. Это может быть как локальный сервер, так и сервер в интернете. Скажу сразу-друпал достаточно требователен к ресурсам сервера, в частности к оперативной памяти. Для Drupal 8 нужно минимум 128Mb ОЗУ . Но, чем больше-тем лучше. Я буду вести разработку на VPS под управлением Debian 7. Друпал так же вполне работает под Windows. Вы уже должны знать, как создать домен и базу данных, в нашем случае это будет MySQL. Скачиваем последнюю версию друпала тут https://www.drupal.org/project/drupal Я скачиваю 8.0.0-beta7 Вы можете скачать в zip архив и распаковать на локальной машине. Если используете сервер-лучше качать в tar.gz и распаковывать(командой tar xvzf archive.tar.gz) уже на сервере, используя протокол SSH. Будьте внимательны - в папке с сайтами(обычно /var/www) должна быть папка сайта и в ней листинг файлов друпала Я создал БД с именем dr8_test, а так же пользователя dr8_user Открывайте сайт в браузере. Если вы всё сделали верно - то попадёте на адрес core/install.php Хочу обратить ваше внимание-что в восьмёрке стандартная тема свёрстана адаптивно и отлично адаптируется под любые разрешения экранов.
Систему можно сразу ставить на русском языке. В шестой и даже седьмой версиях локализация проводилась вручную или с помощью специальных модулей. Я выберу русский язык. Я сразу же столкнулся с ошибкой "The translations directory does not exist.". Установщик сразу подсказывает как её решить "Create the directory sites/default/files/translations .". Важно! При работе с сайтом вы можете загружать файлы в директорию sites/default/files. Модули нужно складывать в sites/default/all/modules и темы в sites/all/themes. Создаём папку translations в директории sites/default/files. Папки files в sites/default тоже нет - создадим и её. Папки files и translations должны иметь права 777. Если создали папку-то выбираем стандартный профиль и продолжаем установку:
Я получил ещё 2 ошибки "The Файл настроек does not exist." и "The Services file does not exist."
Для решения первой проблемы нужно создать копию файла sites/default/default.settings.php и назвать её settings.php. Дать права 777. Если вы работаете на сервере и у вас под рукой консоль - можете использовать данные команды, находясь в корне сайта: Вторая проблема решается аналогично, только с файлом services.yml. Я так же приведу листинг команд. Обе ошибки ушли и на следующем шаге необходимо ввести данные для доступа к БД. Дополнительные настройки оставляем по-умолчанию. Некоторые хостинги имеют хост базы данных отличный от localhost, так что не забывайте об этом.
Пошел процесс установки. Устанавливаются модули ядра.
Что стоит знать о модулях. Модуль - это некий функциональный блок, который выполняет ту или иную функцию. Например позволяет комментировать материалы, даёт возможность оценить материал по пятибальной шкале, транслитерирует адреса, подгружает блоки аяксом и огромное количество другого функционала. Модули могут зависеть друг от друга. Например 1 модуль может требовать для включения ещё 5 других модулей, некоторые из которых могут требовать другие модули. Придётся их все скачать и включить. Все модули и темы хранятся на официальном сайте http://www.drupal.org . Они все бесплатны. Модули не имеют обратной совместимости. То есть модуль, написанный для 8 версии движка, будет работать только с ядром восьмой версии. Для семёрки нужен модуль, написанный под 7 версию. С шестёркой аналогичная ситуация. Тоже самое касается и тем. Исключение составляют лишь библиотеки, но только благодаря тому, что это сторонние скрипты и пишутся не под друпал. Если вы скачали модуль и положили его в папку sites/all/modules - то модуль ещё не будет работать, его ещё надо включить, но об этом позже. Ненужный модуль нужно выключить, потом удалить и лишь после этого можно физически удалить папку с модулем. Ну вот все модули установились и друпал выдал сообщение "Все необходимые изменения в sites/default и sites/default/settings.php были выполнены, но вы должны удалить разрешение на запись в них в целях безопасности." Отнестись к этому нужно со всей серьёзностью. Файлам sites/default/settings.php и sites/default/services.yml выставляем права 444, то есть только чтение. На завершающей странице задаём название сайта, а так же логин и пароль администратора. Далее идёт завершение установки и можно лицезреть установленный сайт.
На этом установка сайта завершена.

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

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

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

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: