ИНФОтека

Информационная безопасность

Что такое 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), наберите адрес

https://example.com/install.php

(замените example.com на имя вашего домена)
Выберите русский язык на первом шаге и просто ответьте на очевидные вопросы на последующих.

В среднем процесс установки занимает 2-3 минуты, если дистрибутив уже на месте и БД готова. Вам нужно будет указать параметры подключения к БД, выбрать имя администратора, его пароль и email, название сайта. И всё. Верьте или нет, но сайт для блогера готов и можно его заполнять.

Но как же эта процедура сборки комплекта модулей и переводов, спросите вы? Ответ прост: вам надо проделать её только раз. Потом, по мере выхода новых версий модулей, или при необходимости добавления новых, вы будете повторять операцию только для конкретного модуля и его файлов перевода. Это намного менее трудоёмкий процесс и делается лишь изредка, обычно 1-2 раза в месяц. А добавление нового сайта на основе того же физически дистрибутива — ещё 2-3 минуты работы на каждый новый сайт (при этом у сайта может быть своё оформление и свой комплект модулей, если так будет нужно). О том, как это сделать — в одной из следующих публикаций.

В случае, если вы не боитесь скачивать файлы установки из сторонних источников, вот вечнодействующая ссылка на последнюю версию Drupal 6, со всеми перечисленными модулями, в архиве, который нужно распаковать непосредственно в корневую папку вашего сайта (в ту, на которую ссылается главная страница) по вот этому адресу с моего сайта:

https://dev.boyandin.ru/distr/drupal-6-latest-with-modules-ru.tar.gz

Я стараюсь вносить в него изменения максимально оперативно, в течение 1-2 дней по выходу нового модуля или версии Drupal.

Что дальше?

Установка сайта — полдела. Drupal — сложный инструмент и главное — правильно всё настроить. В последующих статьях я расскажу про то, как быстро и оптимально настроить ваш сайт на Drupal так, чтобы вы могли использовать ваш блог по прямому назначению ещё 20 минут спустя после установки.

Типичные возражения

Предвижу ряд возможных откликов и сразу предваряю их коментариями.

1. Drupal слишком тяжёл и не подходит для обычного блога.

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

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

2. Drupal слишком сложен в постижении.

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

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

3. Вы предлагаете включить в дистрибутив для блогера кучу ненужных модулей (CCK, Views, Taxonomy access).

Основное достоинство Drupal в том, что если конкретная странциа не пользуется данным модулем, модуль не бует загружаться, требовать какие-то ресурсы и тем самымувеличивать нагрузку на систему. МОдули используются там и тогда, где и когда нужны. Отключенные модули вообще не принимаются двигателем во внимание и ничего, кроме дискового пространства (и неиспользуемых таблиц в БД, если модули уже включались, работали и требовали БД), не отнимают.

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

Ссылки по теме

Drupal.org, официальный сайт на английском языке
Drupal.ru, сайт русскоязычного сообщества пользователей
Drupaler.ru , репозиторий переводов Drupal на различные языки — помогите и вы перевести оставшееся не переведённым

-------
Анонсы этой статьи: sloger.net blogistica.ru blogparad.ru grabr.ru

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

//trackback/65

Комментарии

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

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

Прошу совета

Здравствуйте, Константин!
Большое спасибо за материал, после этого подписалась на Вашу ленту.
Риторический вопрос: и почему все мужчины такие умные?

Попыталась настроить Друпал (это моя 8-я попытка создать "взрослый" сайт). Не смогла даже поменять цвет фона в той или иной области. Я не владею php, имею смутное представление о java-скриптах (хотя многие с успехом использую); объем знаний, необходимый для разработки грамотного сайта, меня пугает. Еще немного, и пойду убьюсь апстену...
Хотела спросить у Вас совета. Мне, собственно, нужна только ленточка новостей на главной странице сайта с возможностью RSS-подписки и с комментариями. Новости планирую вводить не чаще двух раз в месяц. Конечно, было бы здорово, если бы их можно было экспортировать в блоги.
Что бы Вы мне посоветовали: освоить-таки Друпал, где новости будут сделаны грамотно от и до, или проще внедрить в страницу php-скрипт новостной ленты и оставить остальные страницы статичными? Если второе - каким скриптом лучше воспользоваться? Или у меня есть только один путь - заказать сайт у профессионалов?

С уважением, Ольга.

ЗЫ. Отправляю коммент во второй раз, не поняла, почему он не появился. Если что - прошу прощения.

Аватар пользователя Константин Бояндин

Drupal, и не только

Доброго дня, Ольга!

Комментарий не появился во второй раз, потому что все комментарии премодирируемые. Увы, необходимость - спам вещь назойливая. Если вам необходимо оставлять комментарии без премодерирования, зарегистрируйтесь на этом сайте. Сожалею о вынужденных неудобствах.

На мой частный взгляд, острота ума не сцеплена с полом, но скорее с воспитанием, образованием и жизненным опытом (мудростью).

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

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

Пишите - помогу. Удачи!
С уважением,
Константин