Установка и настройка Drupal

Матеріал з Wiki.Zina
Версія від 09:32, 18 квітня 2017, створена >Zina (→cron)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

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

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

Этих проблем легко избежать использовав скрипты ядра друпала. Добавить задачу крон юзеру от которого работает webserver обслуживающий соединения к вашему сайту. nginx или www-data Зависит от дистрибутива linux или воли админа.

sudo crontab -u nginx -e

На нашем сервере 77.120.120.73 apache работает с php от имени основной учетной записи домена. Например /var/www/xiaomix/data/www/xiaomix.com.ua будет работать от прользователя xiaomix. Для того чтобы прописать задачу нужно зайти в панель от имени xiaomix (использовать пароль тот же что на ftp) в разделе cron нажать добавить. Пропишем задачу cron Drupal 8

0 * * * * /usr/bin/env PATH="/opt/php-7.0.11/bin:$PATH" /var/www/zina/data/www/tnu.zina.com.ua/core/scripts/drupal.sh --root /var/www/zina/data/www/tnu.zina.com.ua http://tnu.zina.com.ua/cron/aBejZFwN94gDEraZB45kh06rNlaX7f17eEvutaHlOmGZgi3rov58aYV14jA40vn4CFwgoBL2ew >/dev/null 2>&1

Drupal 7

0 * * * * /usr/bin/env PATH="/opt/php-5.6.26/bin:$PATH" /var/www/zina/data/www/tnu.zina.com.ua/scripts/drupal.sh --root /var/www/zina/data/www/tnu.zina.com.ua http://tnu.zina.com.ua/cron.php?cron_key=aBejZFwN94gDEraZB45kh06rNlaX7f17eEvutaHlOmGZgi3rov58aYV14jA40vn4CFwgoBL2ew >/dev/null 2>&1

Drupal 6

0 * * * * /usr/bin/env PATH="/opt/php-5.4.45/bin:$PATH" /var/www/zina/data/www/tnu.zina.com.ua/scripts/drupal.sh --root /var/www/zina/data/www/tnu.zina.com.ua http://tnu.zina.com.ua/cron.php >/dev/null 2>&1

Убедитесь что drupal.sh имеет права на исполнение.

chmod +x scripts/drupal.sh

Обратите внимание на установку $PATH /usr/bin/env PATH="/opt/php-5.4.45/bin:$PATH" это ключевой момент. Тут указывается с каким php будет работать php скрипты в рамках этой задачи. Уточните у администраторов куда собраны php.

В разделе Cron /admin/config/system/cron отключить запуск крона. Поскольку мы настроили запуск автоматически это нам больше не требуется. Если оставить включенным друпал может запустить задачи раньше чем сработает системный крон.

uploadprogress

[ред. | ред. код]

Если в статусе Drupal admin/reports/status выводится сообщение:

Ваш сервер может отображать процесс закачки файлов, но отсутствуют необходимые библиотеки. 
Рекомендуется установить библиотеку PECL uploadprogress (предпочтительно) или установить APC.

то нужно установить uploadprogress.

Установка основных модулей

[ред. | ред. код]

Скачиваем основные модули, которые нужны практически любому сайту:

  • CCK — настраиваемые поля в типах страниц
    • Date — поле типа «Дата и время»
  • Views — визуальная настройка списков статей
  • Token — использование коротких строк-шаблонов в разных модулях
  • Pathauto — красивые урлы
    • Transliteration — перевод русских букв в латиницу в урлах
  • Meta tags (Nodewords) — keywords, description
  • FCKeditor — модуль для подключения визуального HTML редактора. Сам редактор FCKeditor нужно качать отдельно с официального сайта: http://www.fckeditor.net/download и затем поместить в папку модуля: fckeditor/fckeditor (там специально лежит файлик COPY_HERE.txt). Можно удалить ненужные папки и файлы, занимающие место:
    • _samples/
    • _whatsnew_history.html
  • admin_menu — верхнее выпадающее меню в админке
  • RootCandy — красивая и удобная тема админки

Чтобы русифицировать модули, скачайте русификации с сайта http://drupaler.ru/translate/languages/ru/export — просто вводите в поле название модуля и скачивайте архив с переводом.

Дальнейшие действия:

  1. Распакуйте все модули и добавьте в каждый файлы русификации (тоже предварительно разархивировав).
  2. Положите папки с модулями в /sites/all/modules, папку с темой в /sites/all/themes
  3. На всякий случай дайте всем файлам модулей права на чтение:
    • или в Krusader щелкните правой кнопкой мыши на папке /sites/all/modules, Свойства → Права → «Группа» и «Остальные» выбрать «Просмотр содержимого»
    • или chmod -R 755 *
  4. Зайдите в админку и активируйте нужные модули (/admin/build/modules)

Русский перевод будет подключен автоматически.

Настройка основных модулей

[ред. | ред. код]

Главная → Управление → Конструкция сайта → Синонимы → Настройки адреса материала (/admin/build/path/pathauto)

  • Основные настройки
    • [x] Транслитерировать перед созданием синонима
    • [x] Убирать из строк символы, не входящие в набор ASCII-96

Если опция «Транслитерировать перед созданием синонима» недоступна, то нужно в папке sites/all/modules/pathauto найти файл i18n-ascii.example.txt и переименовать его в i18n-ascii.txt

  • Настройки адреса категории
    • Шаблон адреса по умолчанию: вместо category/[vocab-raw]/[catpath-raw] поставьте [catpath-raw]
    • [x] Массовое создание синонимов для терминов, которые не имеют ссылок

Тема админки

[ред. | ред. код]

Для админки включим отдельную тему, чтобы админка не зависила от оформления фронтэда. Это может быть или стандартная тема Garaland, или боле красивая и удобная тема RootCandy (устанавливается отдельно, см. выше).

Главная → Управление → Настройка сайта → Тема админки (/admin/settings/admin)

  • Тема админки: Garaland (или RootCandy)
  • [x] Использовать эту тему при редактировании содержимого

Основная структура сайта

[ред. | ред. код]

О сайте

[ред. | ред. код]

Главная → Управление → Настройка сайта → О сайте (/admin/settings/site-information). Заполянем слоган и миссию сайта. Чтобы слоган и миссия отображались на главной странице, нужно поставить галочки в настройках выбранной для фронтэнда темы (/admin/build/themes/settings/).

Разделы сайта

[ред. | ред. код]

Разделы сайта создадим как термины таксономии. Для этого создадим словарь «Разделы сайта»

Главная → Управление → Содержание → Таксономия → Добавить словарь (/admin/content/taxonomy/add/vocabulary)

Теперь в словарь добавим термины: «О нас», «Контакты» и т.п.


Интерфейс админки Drupal