Главная | Инфотека | Умелые руки | CMS | Drupal

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

В предыдущем выпуске рассказывалось, как скомпоновать дистрибутив CMS Drupal (далее Друпал) в вид, пригодный для максимально оперативной установки. Просьба обратить внимание, что и версия самого Друпала, и версии модулей могли значительно измениться - просьба проследовать на страницы, с которых можно скачать модули, и взять там последние версии, или скачать файл drupal-6-latest-with-modules-ru.tar.gz (5.3Мб) и распаковать его в каталог, где находится стартовая страница сайта (Web root directory).

Предполагается, что читатель этого руководства

  • умеет настраивать DNS записи домена, на котором будет работать вновь создаваемый сайт
  • знаком с тем, как загружать файл на Web-сервер через FTP, SCP или иными способами
  • знает, что такое права доступа к файлам и умеет их менять
  • владеет способом распаковывать архивы вида .tar.gz
  • в состоянии использовать текстовые редакторы, в т.ч. в виде Web-интерфейса

Установка базовой конфигурации

В тексте далее я предполагаю, что к данному моменту пользователь

  • настроил DNS домена, а котором будет работать сайт должным образом
  • скачал файл дистрибутива по приведённой выше ссылке или собрал собственный вариант дистрибутива с теми же модулями
  • пользователь создал базу данных (в данном примере предполагаем, что MySQL 4+), знает имя пользователя БД и пароль для доступа к БД на запись

Строкой <root> в дальнейшем будем обозначать каталог (папку), в которую распаковали дистрибутив Друпала.

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

Далее возможны варианты.

1. Установка Друпал с указанием подключения к БД

Перед тем, как начать установку: если это первый ваш сайт на данном дистрибутиве, то двльнейшие действия производятся в каталоге "<root>/sites/default"; если вы создаёте ещё один сайт на той же самой установке Друпала (Друпал позволяет создавать произвольное количество сайтов на основе одной и той же установки), то выполните следующие действия (далее предполагаю, что имя домена вновь создаваемого сайта example.com):

  • создайте каталог <root>/sites/example.com (имя каталога должно совпадать с именем домена)
  • скопируйте файл <root>/sites/default/default.settings.php как <root>/sites/example.com/settings.php
  • откройте каталог <root>/sites/example.com и файл <root>/sites/example.com/settings.php на запись (в случае, если PHP работает как модуль Apache, обычно требуется установить права 0777 для каталога и 0666 для файла; если PHP работает в режиме CGI, то 0755 для каталога и 0644 для файла - обращайтесь к справочным материалам вашего хостинг-провайдера, если не уверенности, что сделали всё правильно

Теперь откройте страницу

http://example.com/index.php

(не забудьте поставить подлинное имя вашего домена) и установка начнётся. Если вы увидите какие-либо сообщения об ошибках, исправьте их, прежде чем продолжить. На первом шаге вам предложат выбрать язык установки. Выбирайте русский, и нажимайте на кнопку "Select language".

Шаг 1

Следующим шагом станет задание параметров подключения к базе данных. Экран достаточно информативен. Предполагается, что вы

  • используете подключение к локальному серверу, localhost
  • используете стандартный порт подключения
  • НЕ задали префикс имени таблиц в БД

Последний пункт весьма важен: если вы собираетесь устанавливать несколько сайтов на базе Друпала в одной и той же базе данных, имеет смысл задать префикс. Я обычно создаю префикс, намекающий на домен, например в нашем условном случае я бы открыл "Дополнительные параметры" и задал бы префикс ec_ (example.com, плюс знак подчерка).

Шаг 2

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

Шаг 3

Следующий этап - ввод названия сайта, адреса электронной почты, от имени которого будут рассылаться технические письма и уведомления, и создание первой учётной записи. Внимание: первая учётная запись в Друпал - аналог суперпользователя (root в Un*x, Administrator в Windows). Ни при каких обстоятельствах не используйте эту учётную запись для повседневной работы, взамен созадйте другую учётную запись и дайте ей все полномочия, какие необходимо (об этом позже).

Шаг 4

Подходите ответственно к заданию имени и пароля для суперпользователя. На этом же экране вы увидите, поддерживает ли ваша установка т.е. "чистые ссылки" - красиво выглядящие адреса, не содержащие знаков '?' и '&'. Иногда их ещё называют "ЧПУ" (это сокращение должно быть знакомо пользователям Wordpress).

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

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

Шаг 5

Вновь нажимаете на "Сохранить и продолжить" и, если только не случилось чего-нибудь крайне странного, установка Друпал закончится.

Шаг 6

В данный момент вы располагаете полностью функциональным сайтом. К сожалению, вы работаете из-под имени суперпользователя (помните предупреждение?), и большинство полезных функций отключены. Что делать дальше, мы рассмотрим сразу после описания второго, "упрощённого" способа установки Друпал в уже существующую базу данных.

1. Установка Друпал с использованием существующих настроек БД

При установке по этой схеме мы используем уже настроенное подключение к БД. Иными словами, мы возьмём файл настроек для уже установленного сайта Друпал на той же физической установке (том же комплекте файлов). Это удобно, когда вы ставите второй и так далее сайт на ту же физически установку. Расходы усилий минимальны: всё, что потребуется - создать новый каталог для хранения файла настроек и данных, специфических для нового сайта - загруженных файлов, настроек тем и т.д.).

Проделайте следующие действия:

  • создайте каталог <root>/sites/example.com (имя каталога должно совпадать с именем домена)
  • скопируйте файл <root>/sites/default/settings.php (уже установленного сайта) как <root>/sites/example.com/settings.php
  • откройте каталог <root>/sites/example.com и файл <root>/sites/example.com/settings.php на запись (в случае, если PHP работает как модуль Apache, обычно требуется установить права 0777 для каталога и 0666 для файла; если PHP работает в режиме CGI, то 0755 для каталога и 0644 для файла - обращайтесь к справочным материалам вашего хостинг-провайдера, если не уверенности, что сделали всё правильно

Теперь откройте в редакторе скопированный файл <root>/sites/example.com/settings.php и найдите в нём примерно такую строку:

$db_prefix = '';

Задайте другой префикс (см. выше) и сохраните файл. После этого откройте следующий адрес:

http://example.com/install.php

После этого установка пройдёт примерно так же, как и в первом случае. нон е будет шага настройки подключения к БД.

Первые шаги после установки

Итак, установка в её начальном виде завершена. Теперь следует произвести несколько важных настроек: установить модули, параметры сайта, защиту от спама и так далее. Если вы посмотрите на экран, то увидите, что именно вам сейчас рекомендуется сделать.

Шаг 7

Начнём с установки модулей. Нажмите на пункт навигационного меню "Управление", далее "Конструкция сайта" (или сразу отыщите в открывшемся списке всех возможных действий справа от меню ссылку "Модули". Нажмите на "Модули".

Шаг 8

Модули - то, что придаёт Друпалу гибкость. Вы увидите большой список модулей; не следует ставить все подряд из соображений "могут пригодиться" - это один из верных способов превратить ваш сайт в медленное и ресурсоёмкое чудовище.

Ниже приводится список модулей, которые я бы советовал устанавливать блогеру (часть этих модулей уже установлена; я перечисляю их в том порядке, в котором они видны при прокрутке страницы):
Archive: позволяет создать окно навигации по архивам записей - с возможностью поиска по годам и месяцам.
Aggregator: позволяет импортировать сторонние ленты RSS/Atom для чтения и дальнейшего преобразования их на сайте.
Blog: то, что позволяет писать блоги, поддержка формата блога.
Color: позволяет менять раскраску тем оформления.
Comment: позволяет оставлять комментарии к докментам, а также следить за действиями (активностью) пользователей.
Contact: позволяет добавить форму обратной связи, чтобы отправлять электронные письма на заранее заданные адреса (можно создать произвольные комбинации адресов, на которые отправлять сообщения по тому или иному поводу)
Content translation: поддержка перевода интерфейса и прочего содержимого на другие языки
Database logging: удобно при посике разного рода проблем, хранит сообщения о тех или иных событиях, включая системные ошибки, в специальном журнале - администратор может задать, как долго сохраняются там записи, а также просматривать журнал в любой момент.
Help: позволяет использовать контекстную подсказку.
Locale: поддержка языков, отличных от английского.
Menu: позволяет настраивать меню на сайте.
OpenID: позволяет подключить, после создания, несколько OpenId к учётной записи, для упрощения процедуры авторизации.
Path: позволяет переименовывать внутренние ссылки (в т.ч. создавать те самые чистые ссылки, ЧПУ)
PHP Filter: позволяет использовать непосредственно на страницах код PHP. Внимание: крайне опасная при неосторожном обращении вещь. Если не планируете на самом деле исполнять PHP код, не включайте.
Ping: уведомляет т.н. пинг-сервисы о новых материалах на сайте (чтобы те могли в т.ч. побудить поисковые системы заглянуть на сайт и прочесть новый материал). Как только закончат разрабатывать Multiping, я буду рекомендовать его взамен.
Profile: позволяет добавлять в профиль пользователей новые поля.
Search: встроенный поисковый двигатель в пределах сайта.
Statistics: ведёт статистику доступа к сайту.
Syslog: регистрирует события и записывает в системный журнал.
Taxonomy: позволяет использовать категоризацию материалов, включая свободно назначаемые метки (теги)
Tracker: позволяет пользователям следить за изменениями на сайте.
Trigger: позволяет инициировать те или иные действия в ответ на то или иное событие (например, создание или правку материала)
Update status: автоматически следит за наличием обновлений для модулей и тем, если те поддерживают такую возможность. Очень не советую отключать.
Upload: позволяет прицеплять файлы к документам. Если не собираетесь прицеплять, не включайте.
Spamspan: позволяет защищать адреса электронной почты в документах. Если этот фильтр активен, то адреса преобразуются в нераспознаваемую большинством спам-ботов форму.
Notify: позволяет рассылать уведомления о тех или иных изменениях на сайте
Messaging, Messaging PHP Mailer: возможность отпарвлять уведомления и системные сообщения при помощи электронной почты. PHPMailer - специальный класс, позволяющий удобно составлять и отправлять разными способами электронные письма.
Block translation, Content type translation, Internationalization, Menu translation, Profile translation, String translation, Synchronize translations, Taxonomy translation: этот комплект позволяет переводить те или иные части системы на другие языки, а также создавать многоязычные версии одних и тех же сущностей.
Printer-friendly pages (core), Send by email: возможность видеть страницы в оптимальном для принтера виде, а также пересылать их электронной почтой (надоедать друзьям, показывая им интересные страницы прямо в почте).)
CAPTCHA, Text CAPTCHA: одиозный и малополезный, с точки зрения одних, но во многом помогающий от потока спама модуль. Я не использую графические капчи, мне лично хватает текстовых (арифметическая задача или выбор строки из множества строк).
Atom: возможность поставлять RSS каналы в формате Atom.
Tagadelic: поддержка "облака меток" - представление списка категорий в виде "облака", где самая популярная категория рисуется более крупным шрифтом.
XML Sitemap, XML Sitemap Engines, XML Sitemap Node: позволяет предоставлять т.н. карту сайта для поисковых машин, Sitemap. Если передать эту карту, а такие инструменты есть для Яндекса и для Google, то индексирование страниц сайта пройдёт много эффективнее.
DHTML Menu: по умолчанию, многие меню в блоке навигации иерархические. Если не ставить этот модуль. то придётся несколько раз перезагружать страницу. чтобы добраться до нужной иерархии. Этот модуль экономит время и ресурсы, открывая сложные иерархии достаточно грациозно и красиво.
Meta tags: позволяет назначать каждому документу свои мета-теги (метки и описание как минимум), в т.ч. специальные теги для головной страницы сайта.
Path auto: позволяет создавать чистые ссылки нужного формата.
Sitemap: строит сводную карту сайта, для людей (ранее упоминавшаяся - для поисковых машин).
Token, Token actions: поддержка макро-элементов и действий для них, необходима для Pathauto.
Trackback: поддержка обратных уведомлений (трекбэков) стороннего сайта об изменениях на данном.

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

Шаг 9

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

Шаг 10

Я бы советовал пойти и настроить дату. Меню: "Управление" - "Настройка сайта".

Шаг 11

Если вы указали поддержку экспорта страниц в PDF, не забудьте посетить страницу настройки этой функции.

Шаг 12

Роли и права

Прежде, чем настраивать роли, вкратце поясню, что это такое. Друпал использует систему управления доступом к тем или иным данным и возможностям на основании т.н. ролей. Можно рассматривать это как группы в операционных системах - участие в той или иной группе даёт те или иные полномочия. Есть две встроенные роли: анонимные (неавторизованные, не представившиеся системе) пользователи и авторизованные пользователи. Все прочие роли нужно создавать.

Роли удобны для "точечного" назначения прав в тех случаях, когда не хочется, чтобы все до единого авторизованные пользователи умели исполнять те или иные действия. Скажем, вы можете создать роль "Блогеры" и дать ей право создавать, править и удалять записи в блоге. Не нужно добавлять что-то ещё - права ролей суммируются (если одна из ролей, к которым отнесён пользователь, имеет некие полномочия, а другие роли такоих полномочий не имеют - пользователь будет иметь все полномочия этой роли. Поэтому не стоит повторять то, что уже умеет авторизованный пользователь.

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

Меню: "Управление" - "Управление пользователями" - "Роли".

Шаг 13

В поле слева от "добавить роль" вводим имя новой роли. Можно вводить что хотите, я обычно пишу что-то вроде "Administrator". После того, как роль добавлена, назначим ей полномочия.

Меню: "Управление" - "Управление пользователями" - "Разрешения".

Шаг 14

В этом поле помечаем все до единой галочки для роли "Administrator" (или как вы её хотите назвать). Сохраняем изменения.

Теперь делаем то, что многие делают первым: запретим пока что регистрироваться всем желающим на нашем сайте. Меню: "Управление" - "Управление пользователями" - "Параметры регистрации". Выберем пункт, по которому только администратор может создавать учётные записи. Сохраняем изменения.

Шаг 15

Теперь настроим анти-спам, CAPTCHA. Меню: "Управление" - "Управление пользователями" - "CAPTCHA".

Поскольку идентификаторы форм, которые можно защитить "тестом на человечность", так упрощённо переводится CAPTCHA, даны по-английски, поясню:
comment_form: форма отправки комментариев. Обязательно защитить, иначе спамеры в момент наводнят ваш сайт мусором.
comment_mail_page: форма отправки сообщений с сайта. Если позволяете анонимным пользователям отправлять вам сообщения (а надо позволять, иначе потеряете множество потенциальных партнёров), защитите. Иначе спамеры будут слать вам свои послания долго и с удовольствием.
comment_mail_user: то же, но для сообщений конкретному пользователю. Я обычно тоже защищаю.
user_login: форма входа (авторизации). Я обычно не защищаю: если спамер пробил прежний тест и смог зарегистрироваться, то и этот пробьёт. А нормальных людей это раздражает.
user_login_block: то же, но в блоке (обычно над блоком навигации). Не защищаю по той же причине.
user_pass: поле отправления забытого пароля. Обычно защищаю, чтобы меня не развлекали письмами о созданном новом пароле.
user_register: регистрация нового пользователя. Обычно защищаю.

Какую именно версию теста - графику, арифметику или выбор строки - вы выберете. не очень важно. Эффективность их сопоставима.

Если вам потребуется добавить тест CAPTCHA на любую другую форму, пометьте галочкой "Доабвить административную ссылку CAPCTHA на формы", сохраните, затем перейдите под именем с административными полномочиями на страницу с нужной формой и добавьте туда тест. Всё очень просто. Потом советую эту галочку снять, ибо ссылки с предложением поставить CAPTCHA вскоре начнут раздражать.

Теперь, когда CAPTCHA настроена, можно заняться счётчиками. Все любят показывать, сколько раз читали ту или иную страницу. Настроим эту возможность. Меню "Управление" - "Отчёты" - "Настройки журнала доступа".

Шаг 16

Тут всё просто: помечаем включенным "Счётчик просмотра содержимого" и, если нас интересует ведение системных журналов - в том числе о разных ошибках и предупреждениях - пометим также "Включить журнал доступа". Внимание! Не ставьте слишком большой период хранения записей в журнале - база данных, особенно на посещаемом сайте, начнёт стремительно раздуваться. Теперь не забудьте вернуться в "Разрешения" и убедиться, что и анонимным, и авторизованным пользователям позволено видеть счётчики.

Шаг 17

И, наконец, синонимы. Те самые красивые ссылки. Меню "Управление" - "Конструкция сайта" - "Синонимы" - "Настройка автоматических синонимов".

Шаг 18

Здесь я советую произвести следующие действия:
Основные настройки: Действия при обновлении: Ничего не делать. Оставить старый синоним нетронутым.
Основные настройки: Транслитерировать перед созданием синонима - пометить, не то все ссылки начнут быть с русскими буквами.
Настройки адреса блога: Шаблон для адресов страниц блогов: поставить

blog/[uid]
И очистить поле внутреннего синонима ленты. И все аткие поля очистить, см. ниже - ни к чему плодить синонимы сверх меры.
Настройки адреса материала: Шаблон адреса по умолчанию: поставить
[type]/[nid]/[title-raw]
(это породит красивые ссылки вида blog/42342/zagolovok-zapisi)
Посмотрите сами, что выбрать для других полей - я бы везде советовал, если нет нужды, использовать численные синонимы. Это как минимум избавит от хлопот, когда вы решите, например, переименовать категорию.

Что дальше?

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

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

Адрес уведомления об обратной ссылке для этой записи:

http://boyandin.info/trackback/104

Комментарии

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

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
Аватар пользователя Константин Бояндин

Это запросто

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

Аватар пользователя exzk.ru

Спасибо

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

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу. Если у вас есть аккаунт в Gravatar, связанный с этим e-mail адресом, то он будет использован для отображения аватара.
CAPTCHA
Мы хотим убедиться, что данные вводит человек, а не программа
          ____      _   _      ____     ____                 
_ _ |___ \ (_) | | __ | _ \ / ___| _ _ __ _
| | | | __) | | | | |/ / | |_) | | | | | | | / _` |
| |_| | / __/ | | | < | _ < | |___ | |_| | | (_| |
\__,_| |_____| _/ | |_|\_\ |_| \_\ \____| \__, | \__,_|
|__/ |___/
Введите код, изображенный в стиле ASCII-арт.

Блог в СИНДИКАТе | Проза жизни | ИНФОтека | де Мотиватор | Люди, имена и блоги
Creative Commons License
Если явным образом не выражено иначе, все работы на данном сайте доступны по лицензии
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Перевод текста упомянутой выше лицензии на русский язык
© 2008-2012 Константин Бояндин

Статьи: Обзоры

Хостинг: Blue Light Host, Великобритания

Автор

Новосибирск, весна 2009
В Эфире    
infoworld