Подготовка к установке 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".

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

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

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

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

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

В данный момент вы располагаете полностью функциональным сайтом. К сожалению, вы работаете из-под имени суперпользователя (помните предупреждение?), и большинство полезных функций отключены. Что делать дальше, мы рассмотрим сразу после описания второго, "упрощённого" способа установки Друпал в уже существующую базу данных.
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
После этого установка пройдёт примерно так же, как и в первом случае. нон е будет шага настройки подключения к БД.
Первые шаги после установки
Итак, установка в её начальном виде завершена. Теперь следует произвести несколько важных настроек: установить модули, параметры сайта, защиту от спама и так далее. Если вы посмотрите на экран, то увидите, что именно вам сейчас рекомендуется сделать.

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

Модули - то, что придаёт Друпалу гибкость. Вы увидите большой список модулей; не следует ставить все подряд из соображений "могут пригодиться" - это один из верных способов превратить ваш сайт в медленное и ресурсоёмкое чудовище.
Ниже приводится список модулей, которые я бы советовал устанавливать блогеру (часть этих модулей уже установлена; я перечисляю их в том порядке, в котором они видны при прокрутке страницы):
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: поддержка обратных уведомлений (трекбэков) стороннего сайта об изменениях на данном.
Перевели дух? Нажимаем кнопку "Сохранить" и смотрим за процессом установки модулей и импорта переводов. Вас могут предупредить, что для выбранного вами списка модулей есть необходимость включить другие модули. Соглашайтесь - большого выбора всё равно нет.

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

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

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

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

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

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

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

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

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

Здесь я советую произвести следующие действия:
Основные настройки: Действия при обновлении: Ничего не делать. Оставить старый синоним нетронутым.
Основные настройки: Транслитерировать перед созданием синонима - пометить, не то все ссылки начнут быть с русскими буквами.
Настройки адреса блога: Шаблон для адресов страниц блогов: поставить
blog/[uid]И очистить поле внутреннего синонима ленты. И все аткие поля очистить, см. ниже - ни к чему плодить синонимы сверх меры.
Настройки адреса материала: Шаблон адреса по умолчанию: поставить
[type]/[nid]/[title-raw](это породит красивые ссылки вида blog/42342/zagolovok-zapisi)
Посмотрите сами, что выбрать для других полей - я бы везде советовал, если нет нужды, использовать численные синонимы. Это как минимум избавит от хлопот, когда вы решите, например, переименовать категорию.
Что дальше?
Дальше вам нужно войти на "Управление" - "Управление пользователями" - "Пользователи" и добавить нового пользователя вручную, не забыв включить его в роль администраторов. После этого выйти из системы и войти уже под именем нового пользователя.
Дальнейшие настройки - настройки темы, блоков, способов комментирования и так далее - это тема для следующих статей. По окончании того, что описано в этой, у вас есть достаточно защищённая система, уже готовая для ведения блога. Она относительно голая, нет ни облаков тегов, ни форм со счётчиками и списком комментариев. Всё это вы можете поискать сами - а можете подождать день и посетить ИНФОтеку, где в качестве службы скорой помощи будет краткая сводка. в какие пункты меню идти, чтобы произвести то или иное действие.
Адрес уведомления об обратной ссылке для этой записи:
Блог в СИНДИКАТе | Проза жизни | ИНФОтека | де Мотиватор | Люди, имена и блоги
Если явным образом не выражено иначе, все работы на данном сайте доступны по лицензии
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Перевод текста упомянутой выше лицензии на русский язык
© 2008-2012 Константин Бояндин
Хостинг: Blue Light Host, Великобритания


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