-
6
Май
Гостевой пост Константина Бояндина, продолжение публикации CMS для сайтов и блогов.
Что такое Drupal и кому он может пригодиться
Система управления контентом (Content Management System, CMS) Drupal — один из популярных двигателей Web-приложений, обладающая рядом особенностей, среди которых следует отметить следующие:
— модульность: новая функциональность добавляется созданием т.н. модулей, позволяющих дополнить базовые возможности двигателя любой новой
— интернационализация: есть возможность не только переводить интерфейс на произвольные языки, но и создавать мультиязычные версии меню, одного и того же документа
— развитый API: существует подробная документация по разработке новых модулей, тем оформления и прочих возможностей расширения функциональности
— темы оформления: логика приложения в Drupal отделена от логики представления (того, как это будет видно в браузере); вам не нужно, как в некоторых популярных двигателях, постоянно вносить правки непосредственно в тему оформления — отсюда меньше путаницы и трудно преодолимых сбоев
— универсальность: грамотным выбором модулей Drupal становится годным для практически любого класса приложений, от крупного новостного портала (пример: Internet.ru) до частного блога, от социальной сети (пример: Grabr) до фотогалереи — всё, что вы можете придумать из популярных ныне классов сайтов, может быть реализовано на Drupal
Чем Drupal полезен именно для блогера?
— лёгкость установки (то, чему посвящён этот документ)
— возможность добавлять произвольное количество новых сайтов на основе уже существующей базы кода (файлов двигателя) и администрирования их из единого места
— поддержка RSS и агрегации сторонних источников в ленту RSS (вы можете читать RSS ленты любого количества сайтов, не покидая собственного сайта, сделанного на на Drupal)
— встроенная категоризация документов: вы можете поддерживать категории произвольной сложности иерархии, а также назначать произвольные теги (ассоциативные метки)
— возможность разделения доступа к разным категориям документов на основе т.н. ролей
Всё остальное проще увидеть самому, нежели долго и скучно описывать. Добавлю ещё, что Drupal написан в расчёте на создание очень посещаемых сайтов, а его разработчики крайне оперативно выпускают обновления важных модулей системы в случае, если найден сбой, угроза безопасности и т.д.
На кого рассчитано это руководство
Предполагается, что читающий настоящее руководство умеет распаковывать архивные файлы с расширением .tar.gz, владеет способом редактировать текстовые файлы и эффективно переносить их на внешний сервер (я лично предпочитаю SCP, но и FTP вполне годится).
Предварительная подготовка
Вам потребуется хостинг с поддержкой
— PHP 5 (хотя поддерживается и архаичный уже PHP 4, крайне рекомендуется именно пятая версия PHP, желательно 5.2 или старше)
— системой управления базами данных MySQL (4.1, 5.0 или выше) или PostgreSQL (7.4 или выше)
Чаще всего блогеры используют MySQL, поэтому предположим, что у вас есть хостинг с поддержкой PHP и MySQL — тип операционной системы на нём значения в нашем случае не имеет, но, если особо не оговорено, я предполагаю, что сайт будет работать под управлением Un*x-подобной ОС и Web-сервера Apache.
Итак, у вас должны быть: созданная база данных (т.е., вы знаете имя сервера, где эта БД располагается, имя базы данных, имя и пароль пользователя базы данных), а также способ залить файлы установочного комплекта (дистрибутива) Drupal на ваш будущий сайт.
Если у вас есть затруднения по обеспечению любого из упомянутых шагов выше — я намерен, при наличии пожеланий, описать и эти шаги более подробно.
Компоновка дистрибутива
Теперь мы готовы. Самое простое — взять дистрибутив Drupal с официального сайта (в настоящий момент последним из рекомендуемых является Drupal 6.11), распаковать его (прямо на будущем сайте или же распаковать на своём компьютере и перенести файлы на сайт), но у этого подхода есть ряд недостатков:
— там будут только базовые модули, а блогеру могут пригодиться некоторые дополнительные
— и установщик сайта и сам сайт будут на английском языке, и впоследствии потребуется относительно скучная работа по добавлению поддержки русского языка
Поэтому вначале подготовим дистрибутив в том виде, в котором мы его загрузим: это позволит получить сразу сайт на русском языке и подключить все необходимые для его эффективного использования модули.
Скачаем дистрибутив Drupal с официального сайта (см. ссылку выше) во вновь созданную папку (каталог) на вашем компьютере и распакуем её. При этом создастся каталог drupal-6.11 (предполагаем, что мы ставим именно версию 6.11, для других версий имя каталога будет иным).
Теперь добавим в исходную комплектацию некоторые очень полезные модули, взять которые можно по приведённым ниже ссылкам:
archive (последняя версия 6.x 1.3) — для отображения архивов документов, с удобной визуализацией в виде календаря
atom (последняя версия 6.x-1.0) — для поддержки формата RSS Atom
calendar (последняя версия 6.x-2.1) — в сочетании с модулем Views позволяет представлять любую дату в календарном формате, удобно в т.ч. для навигации
captcha (последняя версия 6.x-1.0-rc2) — основной инструмент противодействия спаму
cck (последняя версия 6.x-2.2) — если вам потребуются новые типы документов (например, если вы создаёте магазин, хранилище ссылок или статей и т.д.), это позволит создать новые типы документов быстро и изящно
date (последняя версия 6.x-2.1 ) — в сочетании с модулем Views позволяет представлять любую дату в "человеческом представлении, удобно в т.ч. для навигации и отображения данных
dhtml_menu (последняя версия 6.x-3.4 ) — позволяет быстро и красиво перемещаться по сложным иерархическим меню, не загружая каждый раз новую страницу с сервера
domain (последняя версия 6.x-2.0-rc6) — если вы установили несколько сайтов на основе единой физической базы кода и в одной и той же БД, модули из этого компелкта позволят управлять всеми такими сайтами из единого командного центра
i18n (последняя версия 6.x-1.0) — предоставляет возможность перевода контента и выбора языка представления того или иного документа
l10n_client (последняя версия 6.x-1.7) — модуль, позволяющий переводить оставшиеся не переведёнными сообщения сайта легко и удобно, на лету
messaging (последняя версия 6.x-2.0) — позволяет расширить перечень способов уведомлять пользователей и владельца сайта о тех или иных событиях — электронная почта, SMS, Twitter и так далее (для конкретных новых способов может потребоваться установка дополнительных модулей)
multiping (последняя версия 6.x-1.x-dev) — позволяет уведомлять аткие сервисы как Pingoat о новинках на вашем сайте
mollom (последняя версия 6.x-1.7) — ещё один способ противодействия спаму, на основе внешнего сервиса Mollom
nodewords (последняя версия 6.x-1.0) — способ задавать META теги в заголовках документах, как для заглавной страницы, так и для любой иной индивидуально
notify (последняя версия 6.x-1.0 ) — настройка уведомлений о тех или иных событиях (новые документы, комментарии и т.д.)
pathauto (последняя версия 6.x-1.1) — возможность автоматически назначать документам ссылки по множеству схем — с указанием, например, даты и заголовка в ссылке
print (последняя версия 6.x-1.6) — возможность создавать удобные версии для печати того или иного документа
site_map (последняя версия 6.x-1.0) — возможность генерировать карту сайта для посетителей вашего сайта — все меню раскрыты, все иерархические структуры перечислены и т.д.
spamspan (последняя версия 6.x-1.3) — удобно, чтобы смело писать адреса email прямо в тексте документа, не опасаясь, что спам-боты подберут его
tagadelic (последняя версия 6.x-1.2) — удобный способ рисовать облако ассоциативных меток
taxonomy_access (последняя версия 6.x-1.x-dev) — способ управлять доступом к тем или иным категориям документов для тех или иных ролей пользователей
token (последняя версия 6.x-1.1) — модуль, предоставляющий те или иные макроимена для свойств документа, необходим для pathauto
trackback (последняя версия 6.x-1.1 ) — поддержка трэкбэков, автоматического уведомления стороннего сайта о новом содержимом
views (последняя версия 6.x-2.5) — если вам потребуется создать новое представление данных (сделать, например, выборку только материала конкретного типа из конкретных категорий и нужным образом отобразить), этот модуль позволит всё сделать крайне быстро и эффективно
xmlsitemap (рекомендуемая версия 6.x-0.x-dev) — генератор XML карты сайта для поисковых служб, чтобы те могли индексировать сайт быстро и эффективно
Всё скачанное распаковываем в папке modules — она создалась, когда мы распаковали дистрибутив самого Drupal.
Распаковали — при этом каждый модуль создаёт новую папку с соответствующим именем. Перевели дух. Всё? Нет, теперь займёмся переводом на русский язык.
Автоматический перевод и последние штрихи
Drupal, начиная со старшей версии 6, поддерживает автоматизированный перевод: достаточно положить файлы, содержащие переведённые строки (в правильном формате) в правильное место, и при установке соответствующей компоненты нужный язык будет введён в строй автоматически.
Чтобы подготовить весь комплект переводов, идём на сайт Drupaler (честь и хвала энтузиастам, активно поддерживающим перевод Drupal на многие языки) и переходим на страницу загрузки переводов на русский язык.
Теперь вводим в поле поиска, поочерёдно, имя каждого дополнительного модуля, а также строку 'drupal' (без кавычек). Выбираем соответствующую версию, когда предложат, тип: перевод, формат пакетов Drupal 6.x для модуля autolocale (выбрано по умолчанию), нажимаем «Экспортировать».
Сохраняем прибывший файл, затем открываем (в случае модулей) одноимённый каталог в каталоге modules и распаковываем файл с файлами перевода туда. Т.е., если мы, к примеру, скачали файл переводов для модуля domain,то распаковать полученный архив нужно в папке modules/domain.
Переводы для самого Drupal следует распаковать в той папке, куда распаковали сам дистрибутив.
Всё. Теперь можно вновь упаковать полученный, дополненный модулями и переводами дистрибутив, перенести файл на ваш сервер и там распаковать. Ну или закачать по файлам при помощи FTP, хотя это существенно дольше.
Но перед этим сделаем ещё несколько действий, чтобы сэкономить время на их выполнение уже на серере.
В папке sites/default (по отношению к корневой папке, куда распаковали дистрибутив) есть файл default.settings.php. Скопируем его в settings.php (не переименуем! исходный файл лучше оставить нетронутым) в той же папке.
В папке modules/pathauto есть файл i18n-ascii.example.txt — переименуем его или скопируем в файл i18n-ascii.txt
Вот теперь всё, можно переносить на сервер.
Установка
Итак, всё подготовлено, закачано, база данных создана. После того, как вы перенесли все файлы на сервер, необходимо ещё сделать вот что: войти в каталог sites, в нём — в каталог default и дать файлу settings.php права на запись для сервера. В случае, если PHP установлен как модуль Apache, обычно необходимо назначить права 0666, если установлен как CGI — права 0644. Также дайте права на запись для самого каталога sites/default (0777 и 0755, соответственно).
Что теперь? Теперь, если вы готовили хостинг для домена example.com, и всё уже настроено (DNS записи указывают на сервер, куда перенесли дистрибутив Drupal), наберите адрес
http://example.com/install.php
(замените example.com на имя вашего домена)
Выберите русский язык на первом шаге и просто ответьте на очевидные вопросы на последующих.
В среднем процесс установки занимает 2-3 минуты, если дистрибутив уже на месте и БД готова. Вам нужно будет указать параметры подключения к БД, выбрать имя администратора, его пароль и email, название сайта. И всё. Верьте или нет, но сайт для блогера готов и можно его заполнять.
Но как же эта процедура сборки комплекта модулей и переводов, спросите вы? Ответ прост: вам надо проделать её только раз. Потом, по мере выхода новых версий модулей, или при необходимости добавления новых, вы будете повторять операцию только для конкретного модуля и его файлов перевода. Это намного менее трудоёмкий процесс и делается лишь изредка, обычно 1-2 раза в месяц. А добавление нового сайта на основе того же физически дистрибутива — ещё 2-3 минуты работы на каждый новый сайт (при этом у сайта может быть своё оформление и свой комплект модулей, если так будет нужно). О том, как это сделать — в одной из следующих публикаций.
В случае, если вы не боитесь скачивать файлы установки из сторонних источников, вот вечнодействующая ссылка на последнюю версию Drupal 6, со всеми перечисленными модулями, в архиве, который нужно распаковать непосредственно в корневую папку вашего сайта (в ту, на которую ссылается главная страница) по вот этому адресу с моего сайта:
http://dev.boyandin.ru/distr/drupal-6-latest-with-modules-ru.tar.gz
Я стараюсь вносить в него изменения максимально оперативно, в течение 1-2 дней по выходу нового модуля или версии Drupal.
Что дальше?
Установка сайта — полдела. Drupal — сложный инструмент и главное — правильно всё настроить. В последующих статьях я расскажу про то, как быстро и оптимально настроить ваш сайт на Drupal так, чтобы вы могли использовать ваш блог по прямому назначению ещё 20 минут спустя после установки.
Ссылки по теме
Drupal.org, официальный сайт на английском языке
Drupal.ru, сайт русскоязычного сообщества пользователей
Drupaler.ru , репозиторий переводов Drupal на различные языки — помогите и вы перевести оставшееся не переведённым.
_________________________________
Учимся составлять cемантическое ядро сайта
_________________________________
Если Вы сочли статью полезной, можете подписаться на RSS блога или получать новую информацию по почте. А также, можно следить за мной на Twitter.
Tweet
Также рекомендую почитать
- CMS для сайтов и блогов.
- Движки для сайтов
- Как определить движок сайта
- Профессиональный сайт для профессиональных фотографов
- Drupal для блогеров: установка и первоначальная настройка
- Автор: Lady Maksima Опубликовано в cms
