Обновление от 28.01.2009. Добавлено:
Наверное, ни один человек, собственноручно создавший блог на той или иной CMS, не обошел в своих статьях тему настройки этой самой CMS. Я не стану исключением :) Но, чтобы этой статье не быть одной из сотен таких же, постараюсь сделать ее в чем-то оригинальной.
Давайте так - я буду вести постоянно обновляемый дневник, в котором буду описывать каждый шаг создания и настройки сайта, начиная с инсталляции. Зайдя сюда в любое время, вы найдете актуальную информацию, и, что важно, сможете увидеть, как это работает, на примере моего сайта. До сегодняшнего дня я вел этот дневник в обычном файле просто для истории, но появилась идея делать это открыто. В комментариях вы можете сразу меня поправлять и дополнять - все ценное будет здесь отражено. Также высказывайте, пожалуйста, пожелания, что можно добавить к функциональности. Одно из пожеланий уже внесено в список - вход по OpenID. Но давайте перейдем к делу.
Выбор CMS
Люди, знакомые с сайтостроением, без труда увидят, что этот блог построен на Drupal. Это одна из трех, наиболее известных бесплатных CMS (content management system). Две других - это Wordpress и Joomla. Я не стану их сравнивать, т.к. моя основная цель не максимально крутой движок, а просто возможность вести блог без особых затруднений с настройкой. Инструменты в данном случае вторичны. У многих из нас не так много времени, чтобы заниматься академическими исследованиями, поэтому постараюсь сделать статью исчерпывающим руководством с минимумом внешних ссылок. Однако, кто хочет сделать более сознательный выбор, могут перечитать всю документацию по каждой CMS. Мне, чтобы определиться, хватило небольшой заметки с сравнением, а также авторитетного мнения моего друга.
Drupal дает вам весь нужный для блога функционал "из коробки". К минимально нужному я отношу регистрацию пользователей, подписку через RSS, комментарии к статьям.
Не обойдусь все же без ссылок (можете пока их пропустить).
Основные ресурсы, связанные с Drupal - это:
- официальный сайт www.drupal.org
- русскоязычное сообщество www.drupal.ru
- сайт локализации Drupal www.drupaler.ru.
И ценные обзорные статьи:
- Подойдет ли вам Drupal;
- Друпал - это сложно?;
- Делаем блог на Drupal;
- Drupal - строим сайты.
Регистрация домена
Чтобы этому руководству быть совсем полным, начнем с нуля - с регистрации домена. Ведь мы рассматриваем случай, когда вы хотите все свое - домен, движок сайта, контент, иногда даже свой хостинг.
Я регистрировал домен через Masterhost. Все прошло довольно гладко. Для начала вам необходимо зарегистрироваться на их сайте, введя много персональных данных, включая паспортные. Это необходимо для того, чтобы, во-первых, ваш домен был вашей собственностью юридически, а, во-вторых, чтобы вас можно было легко найти в случае публикации любого рода экстремистской информации :) В Masterhost, в отличие от, скажем, GoDaddy, регистрация пользователя первична, и до ее подтверждения и оплаты услуг невозможно ничего сделать. По-моему, это правильно. Итак, когда все подтверждено, вам приходит письмо об активации акаунта. Затем вы вносите определенную сумму на счет, размер которой зависит от ваших требований. Если это домен в зоне RU, то регистрация стоит 595 рублей за первый год, а продление 413 рублей в год.
Выбор доменного имени отнял у меня уйму времени, т.к. любой вариант, который удавалось придумать, был занят, причем большей частью киберсквотерами, и продавался, зачастую по невменяемой цене. Я не пытался с ними торговаться и продолжал искать. В конце концов, появилась идея какого-нибудь звучного названия из латинского языка, но, прочитав почти весь латинский словарь, я убедился, что и здесь почти все занято. Окончательный вариант не показался самым лучшим, но более или менее соответствовал тематике, поэтому я остановился на "claris verbis", что означает "ясными словами". Хорошо ли содержимое сайта отражено названием - судить вам. Однако, например, Алекс Экслер считает, что название для персонального блога не имеет никакого значения.
Привязка к хостингу
Зарегистрировав домен, нам надо привязать его к хостингу, где размещен web-сервер и, собственно, содержимое сайта - движок и база данных, либо просто набор статических страниц. Я не стал заказывать хостинг у Masterhost, потому что для персонального блога на начальном этапе это показалось дорого: виртуальная площадка (без выделенного сервера) - 3600 рублей в год. Виртуальная площадка, как показал опыт моего товарища, не держит даже 500 посетителей одновременно. А покупать dedicated сервер у Masterhost (от 9700 рублей в год) как-то совсем не хотелось. Поэтому я пока остановился на варианте домашнего хостинга у товарища. Как оказалось, даже на обычном домашнем компьютере с интернет-каналом в 13 мегабит, свободно работает 18 сайтов, расходуя в пиковые часы 5% ресурсов процессора и довольно мало памяти. Нагрузка в такие часы - около тысячи одновременных подключений. Как видите, у нас есть большой запас. Конечно, надежность не так высока, как у выделенного сервера Masterhost, к тому же есть зависимость от интернет-провайдера и электриков в ЖЭКе :). Но тут сыграла роль финансовая сторона вопроса.
В любом случае, для привязки к хостингу вам необходимо будет немного покопаться с DNS-редактором. Здесь написано, что и как делать для Masterhost. Для меня это было некоторой магией, но все оказалось очень просто - вам надо перенаправить A и MX записи на адрес хостера. Для этого не надо иметь фундаментальные знания по TCP-IP и маршрутизации.
Установка Drupal
Теперь, когда регистрация домена и хостинг позади, пора переходить, собственно, к установке и настройке CMS.
Если вы собираетесь самостоятельно настраивать web-сервер, то вам все же придется много разбираться с тонкостями Apache/IIS, СУБД и т.д. Но данная статья написана для несколько другого случая, когда настроенный хост у вас уже есть. Однако приведу список программ, которые должны быть предварительно установлены на компьютере-хосте, где размещен сайт на Drupal:
- web-сервер с поддержкой PHP (Apache для UNIX, IIS для Windows);
- собственно интерпретатор PHP;
- СУБД (официально поддерживаются MySQL и PostgreSQL).
Более детальные требования и конкретные версии здесь.
Все, что вам нужно как пользователю хоста - это иметь доступ через FTP или терминал (адрес/логин/пароль), а также доступ к СУБД для создания базы данных (адрес/логин/пароль).
Итак, вы качаете дистрибутив Drupal с официального сайта (www.drupal.org или www.drupal.ru). Не люблю руководства, где описана конкретная версия продукта и ни шагу в сторону, однако скажу, что на данный момент стабильные версии Drupal - это 5.14 и 6.8. Я выбрал 6-ю ветку, как более современную, но периодически есть проблема отсутствия нужных расширений для нее. Скоро ситуация, думаю, исправится.
Полученный дистрибутив вы закачиваете на ваш хост в корневой каталог вашего нового сайта - там пока что нет файлов. Закачивать можно по FTP или через терминал (например, putty).
Далее необходимо развернуть полученный архив (формат архива tar.gz). В Unix это делается командой:
tar -zxvpf drupal-x.x.tar.gz
В Windows вам нужно будет поставить архиватор с поддержкой tar.gz-формата.
Далее требуется вручную скопировать файл sites/default/default.settings.php в sites/default/settings.php. Это сделано для целей защиты, т.к. вам необходимо будет вручную разрешить доступ на запись в этот файл на время инсталляции. Делается это UNIX-командой:
chmod 777 sites/default/settings.php
Для Windows надо в свойствах файла дать полный доступ для пользователя Everyone.
Далее, также вручную, из соображений безопасности, создается папка для хранения закачиваемых на сайт файлов, и для нее задается доступ на запись. Команды:
mkdir sites/default/files
chmod o+w sites/default/files
Далее создаем базу данных для вашего сайта, используя имеющийся логин. Для MySQL это легче всего делается с помощью phpMyAdmin - web-интерфейс для базы данных. Здесь все очень интуитивно: задаете имя базы данных и тип сравнения (collation) utf8_general_ci - с ней у меня нет проблем с поддержкой русского.
А далее вы просто заходите на сайт, набрав имя вашего домена в браузере, и тем самым запускаете инсталляцию. Все происходит, как при инсталляции, скажем, Windows - в формате вопрос-ответ. Когда я первый раз это увидел - был удивлен простотой. Если вы делаете установку в онлайне, то лучше сделать все быстро, чтобы никто не успел зайти на сайт в середине инсталляции и что-то испортить, т.к. логин администратора на данном этапе еще не создан.
Вы проходите через 3 экрана с вопросами. Т.к. я не удосужился сделать скриншоты при установке своего сайта, то придется копировать их из официального руководства
1). Экран выбора языка инсталляции. Думаю, ни для кого не вызовет сложностей прочитать 2-3 предложения на английском, поэтому проще всего выбрать English, чем разбираться, как добавить другой язык.

2). Настройка базы данных. Здесь вы задаете имя базы данных, созданной для сайта заранее, а также логин, пароль и имя хоста, где база находится. Если она на том же компьютере, что и web-сервер, то указываете localhost.

3). Настройка дополнительных параметров. Здесь я настраивал имя сайта (оно показывается большими буквами на главной странице), а также логин/пароль администратора и e-mail - это тот адрес, от лица которого будут приходить письма-уведомления пользователям вашего сайта. Соответствующий адрес не обязан существовать, т.к. на него не отвечают. Он просто показывается в поле "From" письма. Можете указать, например, admin@<sitename>.

После окончания установки надо сбросить возможность записи для файла с настройками, чтобы обезопасить сайт от взлома. Это делается командой:
chmod 555 sites/default/settings.php
Все - блог готов! Теперь, зайдя на ваш сайт, вы увидите пустую главную страницу и меню администратора. Вы сразу можете создавать статьи - раздел Create content -> Story, у вас работает регистрация пользователей, комментарии, RSS-подписка.
Но, на мой взгляд, даже для начала вам все же стоит кое-что поднастроить. Однако, если у вас совсем нет времени, можете остановиться на этом этапе и сосредоточиться на содержимом сайта. Далее идет раздел о настройках в той последовательности, как делал я для своего блога. Раздел, как обещано, будет постоянно дополняться.
Дополнительные настройки
Идеология Drupal
Одним абзацем скажу об идеологии Drupal. Эта CMS состоит из небольшого ядра, которое обычно не принято менять, а весь дополнительный функционал реализован в виде отдельных модулей (можно назвать их плагинами). Модуль представляет собой PHP-код, который взаимодействует с ядром и выполняет какие-то функции. Большинство функционала Drupal построено именно на модулях. Их написаны тысячи, и с помощью них можно сделать практически все, что угодно, от корпоративного сайта (например, www.adobe.com сделан на Drupal) до интернет-магазина или социальной сети. Помимо модулей Drupal поддерживает ставшие уже привычными темы оформления, которые определяют внешний вид сайта и расположение его элементов. Тем существует также огромное множество, практически на любой вкус.
Можно включать и отключать модули в интерфейсе администратора (Administer -> Site building -> Modules). По умолчанию включены даже не все базовые модули.
Чтобы установить сторонний модуль, его обычно надо закачать на сервер и разархивировать в папку sites/all/modules/<module name>. Может также потребоваться выставить разрешения на чтение (и, возможно, запись) в файловой системе. После этого он, как и встроенные модули, появится в интерфейсе администратора, где его надо включить. Однако советую все же внимательно читать инструкции по установке, прежде чем ставить модуль, потому что иногда необходимо сделать какие-то предварительные настройки. Так же стоит обращать внимание на совместимость - для разных версий Drupal существуют разные версии модулей.
Для установки темы оформления ее, как и модуль, надо закачать на ваш сервер в папку sites/all/themes/<theme name>. Далее ее можно будет выбрать в меню сайта Administer -> Site building -> Themes. Для простых самописных тем, состоящих из одного файла .css и где нет отдельных файлов .tpl, эти файлы шаблонов следует искать в папке themes/engines/phptemplate.
Это все предварительные сведения. Перейдем к нашему сайту.
Осмысленные ссылки
Для начала активируем модуль Path для того, чтобы иметь возможность задавать осмысленные имена для URL ваших статей. По умолчанию каждая новая статья получает адрес вида <your_site>/node/N, где N - просто порядковый номер. Мне показалось это не очень удобным, к тому же это выглядит некрасиво в поисковиках, поэтому я включил данный модуль. Теперь при написании статьи у вас появится пункт меню "URL path settings", где можно будет задать URL, например, you_first_article. Тогда полный путь к статье будет такой:
<your site>/you_first_article.
Поиск по сайту
Далее активируем поиск по сайту - модуль Search. После активации у вас на странице появится форма поиска по содержимому. Однако, чтобы можно было что-то найти, необходимо проиндексировать сайт. Делается это с помощью кода в файле cron.php. Вам нужно просто пройти по ссылке <your site>/cron.php при появлении новой статьи, чтобы она попала в индекс. Или индексировать автоматически - для этого надо настроить выполнение задачи по расписанию. Но, по-моему, легче периодически запускать вручную.
Анонимные комментарии
Затем я активировал возможность анонимных комментариев к статьям, без регистрации. Вообще, необходимость регистрации, в отличие от RSS-подписки - это довольно спорный момент. Зачем заставлять человека регистрироваться на всех блогах, которые он читает, чтобы просто оставить комментарий? Однако, я пока не буду отключать регистрацию, т.к. зарегистрированным пользователям предоставляется некоторый дополнительный функционал, и кому-то он может пригодиться.
А для включения анонимных комментариев необходимо пойти в раздел User Management -> Permissions и выставить следующие разрешения для роли "anonymous user": access comments, post comments, post comments without permissions. Для защиты от спама хорошо бы включить капчу, но пока спама не было, я этим не озадачивался.
Логотип сайта
Если вы захотите сменить или подредактировать картинку-логотип вверху сайта, то для темы по умолчанию (Garland) она находится в файле themes/garland/logo.png. Однако более простой способ - загрузка логотипа через панель управления сайта: Administer -> Site Building -> Themes -> [your theme name] -> Configure.
Удаляем лишнее
Далее я решил избавиться от ненужных банеров на страничке и удалил логотип "Powered by Drupal". Делается это через меню Administer -> Site building -> Blocks. Находите блок с именем "Powered by Drupal" и выставляете ему расположение <none>. Вообще, на этой страничке можете передвигать все стандартные блоки, как вам нравится.
По умолчанию внизу страницы показывается ссылка на RSS-фид, которую никак нельзя отключить через Blocks. Чтобы ее спрятать, я закомментировал строчку
print $feed_icons
в файле themes/garland/page.tpl.php
RSS-подписка
Сама по себе RSS-подписка включена на вашем сайте изначально и является штатной возможностью. Однако для подсчета числа подписчиков существует пока единственный и, к сожалению, ненадежный способ - перенаправление RSS-канала через FeedBurner (об этом сервисе напишу отдельную статью). Мне это было необходимо, чтобы оценивать аудиторию, поэтому выбора не было.
Итак, необходимо закачать, установить и включить (как объяснено выше) модуль FeedBurner. Далее необходимо зарегистрироваться на сайте www.feedburner.com и добавить там RSS-канал своего сайта (по-умолчанию он у вас включен по адресу <your site>/rss.xml). Если вы планируете несколько отдельных потоков, то регистрировать надо также каждый отдельно. Если буду делать так у себя - опишу здесь.
Далее в разделе Administer -> Site building -> FeedBurner выбираем Burn Feed и указываем ваш локальный RSS-канал в поле Local Feed и адрес канала на FeedBurner в поле FeedBurner Feed - обычно это feeds.feedburner.com/<you site>. Теперь, подписываясь на ваш RSS, читатели будут перенаправлены на FeedBurner. Причем Drupal теперь сам перенаправляет ссылку вашего локального потока на FeedBurner, т.е. перейдя по адресу <your site>/rss.xml, вы попадаете на feeds.feedburner.com/<you site>.
Далее, я заменил картинку фида (оранжевый квадрат) на более крупную и заметную (картинка лежит в misc/feed.png) и создал отдельный блок со ссылкой для подписки и статистикой в правой части страницы. О том, как создать блок с любым содержимым, написано в следующем пункте.
Статистика посещений
Теперь хорошо добавить статистику посещений. Для этого можно использовать любой сервис, предоставляющий такую услугу. Я пока использую LiveInternet. Получаете код счетчика и помещаете его к себе на сайт.
Как добавить счетчик. Используем уже известные нам блоки Administer -> Site building -> Blocks -> Add block. Задаете имя (показывается затем в списке блоков), а в поле Text вставляете код полученного счетчика. Однако счетчик не заработает при задании стандартных форматов ввода (Filtered HTML, Full HTML), т.к. оба эти формата содержат фильтр преобразования окончаний строк в HTML, и это преобразование портит код счетчика. Выходов несколько и они описаны здесь. Один из вариантов - задать формат ввода "PHP filter". Для этого его необходимо включить - модуль "PHP filter". По умолчанию он отключен, вероятно, из соображений безопасности.
После этого сохраняете блок и потом, как и прежде, выбираете, в какой части вашей страницы он будет расположен.
Маленький совет. Если вы добавите два и более блока со счетчиками, например, внизу страницы, то они будут расположены один под другим, а между ними будет большой пробел. Чтобы этого избежать, можно все счетчики располагать в одном блоке - с помощью HTML вы сможете расположить их рядом, просто вставив код двух счетчиков подряд.
Еще я добавил кнопку-индикатор числа подписчиков (код можно получить на www.feedburner.com).
Drupal также умеет вести свою внутреннюю статистику посещаемости. Для этого надо включить модуль Statistics, а затем в разделе Administer->Reports->Access log statistics включить пункты "Enable access log" и "Count content views". После этого под каждой статьей будет отображаться число прочтений. А также вы увидите другую разнообразую статистику, в том числе ошибки, битые ссылки на вашем сайте и т.д. Лучше бы включить этот модуль сразу после установки.
Заголовки комментариев
Я не вижу смысла в заголовках для комментариев. В настройках это можно отключить: Administer -> Content management -> Content types -> Story -> Comments. Однако в таком случае заголовок не виден для редактирования, но показывается на странице после отправки комментария, причем его содержимое по умолчанию - это первая строчка текста комментария, что выглядит некрасиво. Чтобы полностью исключить показ заголовков, придется подредактирвоать код: в файле comment.tpl.php вашей темы оформления (у меня это themes/garland/comment.tpl.php) необходимо закомметировать или удалить строку
<?php print $title ?>
Комментировать можно так:
<!-- <h3><?php print $title ?></h3> -->
Почтовые уведомления
Чтобы получать уведомления о комментариях, ставим модуль Comment Notify. Шаблоны писем и другие настройки можно сделать в разделе Admin -> Site configuration -> Comment notify. Для версии Drupal 5.x в модуле была ошибка. Исправленную версию можно скачать по ссылке в этой статье.
Меню в шапке сайта
Чтобы создать ссылки "Об этом блоге", "Контакты" и др. в шапке сайта, необходимо вначале создать странички с содержимым для каждой ссылки. Это делается так - создаем страницу через Create content -> Page, пишем заголовок и текст, а внизу в Publishing options снимаем опцию "Promoted to front page", но оставляем "Published". После сохранения запоминаем ссылку на эту страницу.
Затем добавляем меню: Administer -> Site building -> Menus -> Primary links, указываем путь к нашей новой страничке и заоголовок. После сохранения ссылка доступна в шапке сайта. Так делаем для каждого нового пункта.
Перевод интерфейса сайта
Это можно было сделать с самого начала, но я как-то все откладывал. Поэтому все предыдущие настройки даны для англоязычного интерфейса.
Русифицировать сайт оказалось очень просто. Русификация представляет собой файл с переводом всех строчек, которые используются в коде Drupal для отображения интерфейса. Итак, что необходимо:
1). Включить модуль Locale.
2). Скачать русификацию в виде одного файла. Здесь в форме поиска надо ввести "drupal" и выбрать нужную версию, а также выбрать опцию "All in one file".
3). После закачки перейти в раздел Administer -> Site building -> Translate interface -> Import.
4). Указать файл с русификацией - для моей версии это drupal-6.6-ru.po (предварительно развернуть его из архива) и выбрать "Русский язык" из списка ниже. Еще я выбрал опцию "Strings in the uploaded file replace existing ones, new ones are added", хотя не уверен, надо ли это. Затем нажать Import.
5). Перейти в раздел Administer -> Site configuration -> Languages и выставить русский языком по умолчанию.
В комментариях рекомендуют русифицировать дистрибутив Drupal еще до установки. Т.к. я уже не смогу этого сделать, то, к сожалению, не смогу и описать данную процедуру.
Русификация сторонних модулей делается аналогичным образом, только искать надо по имени модуля.
Вход по OpenID
Оказалось, что это довольно полезная вещь, избавляющая от необходимости регистрации и одновременно дающая все преимущества зарегистрированного пользователя. Drupal поддерживает OpenID изначально. Необходимо включить одноименный модуль, и сразу появится возможность входа.
Стоит отметить, что если использовать для входа имя, например, из LiveJournal, и это имя совпадает с одним из существующих имен зарегистрированных пользователей на сайте, то выдается сообщение о дублировании. Я сначала ожидал, что OpenID для LiveJournal - это полное имя, вместе с суффиксом livejournal.com, а оказалось, что суффикс отбрасывается.
Более привычный вид для ссылки "Читать далее"
По умолчанию ссылка "Читать далее" располагается после ссылки на комментарии, что довольно странно и непривычно - можно ее не заметить. Для исправления ситуации существует модуль ReadMore Tweak. Проблема на самом деле решается PHP-кодом на пару строк, но я предпочел установку модуля, т.к. он позволяет выбрать текст ссылки и расположить ее в двух вариантах - в последней строке текста или в следующей строке.
Для Drupal 6 версия модуля в статусе "development", но никаких проблем с ней я не заметил.
Архив публикаций
Со увеличением количества статей навигация по ним становится неудобной, и появляется необходимость в ее упрощении. Для этого в блогах существуют разного рода календари, архивы и т.п. Календарь в его привычном виде мне кажется неудобным и не очень нужным. А вот архив по месяцам - вполне полезная вещь.
Для его создания есть модуль Monthly Archive, однако для 6-й версии он существует только в виде View. View - это по сути инструмент для визуального построения прямых SQL-запросов в базу данных сайта. Результаты запроса можно вывести где угодно на вашей странице. По-моему - это самый мощный модуль Drupal.
Прежде всего необходимо скачать модуль, установить и включить его. Если быть точным, включить необходимо как минимум 2 модуля - "Views" и "Views UI". После этого Views можно будет создавать и настраивать.
Monthly Archive доступен в числе нескольких предопределенных Views. Его нужно включить (Enable) и, при необходимости настроить. Я изменил заголовок по умолчанию на "Архив статей" и добавил условие "Материал: Тип = Story", чтобы не выводить материалы типа Page (в них я храню страницы blogroll, about и contacts, которые совсем не обязательно выводить в списке статей). Вы можете добавлять любые другие критерии. По результатам строится SQL-запрос, вывод которого можно сразу увидеть ниже вместе с SQL-кодом - отличный инструмент для изучения структуры базы Drupal :)
Теперь необходимо включить показ нашего View. Он доступен для выбора среди уже известных нам блоков сайта - просто включите его в нужном блоке.
Замена встроенного редактора на BUEditor
Встроенный редактор Drupal позволяет писать на чистом HTML и не предоставляет никаких дополнительных удобств, к которым мы привыкли, например, в визуальном редакторе ЖЖ. Я не являюсь любителем визуальных редакторов для HTML, но простейшие рутинные операции все же хорошо автоматизировать. BUEditor создан специально для этой цели. Он предоставляет возможность быстро вставить ссылку, картинку, заголовок, список, сделать шрифт жирным или наклонным. Вот, в принципе, и все основные функции. Причем в текст он вставляет HTML-теги, визуального режима у него нет. Хотя есть режим предварительного просмотра. Приятно еще то, что им же редактируются комментарии к статьям.
Установка как обычно - скачать, распаковать в каталог с модулями, выставить разрешения на файлы, включить в списке модулей в панели управления. Дополнительно я ничего не настраивал, хотя каждая кнопка в Toolbar может быть перенастроена отдельно.
Есть еще популярный редактор TinyMCE, но по мне он уж совсем не "tiny" - слишком много в нем всего лишнего, в том числе ненужный для читателей трафик.
Показ похожих публикаций
Этот модуль показывает внизу статьи ссылки на похожие публикации в вашем блоге. Релевантность показа достаточно высока, особенно если статей много.
Устанавливается как обычный модуль, настройки можно оставить по умолчанию. Включается как стандартный блок в разделе "Содержание". После включения можно настроить число выводимых ссылок и некоторые другие параметры по желанию.
Защита от спама - модуль Captcha
Этот модуль пришлось поставить после того, как в комментариях стал появляться спам. О вреде спама в комментариях особо распространяться не буду - планирую об этом отдельную статью.
Устанавливается модуль стандартным способом. После установки его настройки находятся в несколько необычном месте - в разделе "Управление пользователями". Предлагается два вида проверки - арифметическое действие и ввод заданного текста. Я пока оставил только арифметику. Но, к сожалению, спам продолжает изредка появляться. Все-таки это довольно простая защита.
Дополнительно можно установить модуль reCAPTACHA - аналог капчи в ЖЖ, а также еще пару модулей, усложняющих жизнь спамерам (и честным читателям :) Я их пока не ставил, но, похоже, придется.
Ссылки на популярные статьи
Эта функциональность полезна тем, что читатели сразу видят самые популярные публикации и могут их открыть, находясь на любой странице сайта.
Включается через модуль Views, который уже содержит предопределенное view с именем "popular". После настройки view по вашим требованиям, необходимо включить показ одноименного блока. Я выбрал расположение в левой колонке макета.
В процессе настройки обнаружилась проблема - в списке блоков я нашел два блока, показывающих популярные статьи. Дело в том, что помимо Views Drupal предоставляет подобный блок штатно. Но возможности его настройки гораздо беднее. Поэтому, если вы поставили Views, стоит выключить стандартный блок и включить тот, что предоставляется view с именем "popular".
И еще один тонкий момент. По умолчанию этот view добавляет отдельный пункт в меню панели управления. Это можно отключить в настройках самого view.
Загрузка изображений на сайт
В какой-то момент мне надоело пользоваться фотохостингами для вставки изображений в статьи. Я использовал Google Picasa - загружал туда картинку, получал ссылку и вставлял в статью. Что там произойдет с Google в будущем, и что он потребует от нас за хостинг - неизвестно :) Поэтому захотелось хранить картинки локально на сайте. К тому же это поможет читателям избавиться от внешних запросов при загрузке страницы.
Самым простым оказался загрузчик изображений IMCE. Он полностью интегрируется в BUEditor - в диалоге вставки картинки появляется кнопка "Browse". Картинки загружаются в папку sites/default/files. Есть гибкие возможности настройки атрибутов тега img. Также IMCE может встраиваться в другие редакторы текста, такие как TinyMCE. В общем, очень его рекомендую.
Да, и небольшой совет - в настройках IMCE укажите, чтобы он вставлял в текст абсолютный путь к изображению, потому что если путь относительный (по умолчанию это так), то некоторые RSS-агрегаторы не показывают картинку.
На этом пока все. Дополнять буду по мере изменений на сайте.
Хорошая статья, для новичков очень полезно будет. :-)
Ого, уже 141 читатель по статистике FeedBurner =)
Разве в 6 версии нет OpenId из коробки?
Есть, просто руки не дошли пока в нем разобраться :)
а в ней не надо разбираться. просто галочку поставить в модуле.
Включил. Описал впечатления - что-то не совсем так :)
Ищу модераторов и журналистов к себе на сайт по Drupal, сайт Designcms.ru
Сайт красивый и проект интересный. А какого рода работа нужна?
Нужен модератор или журналистс хорошими знаниями по одному из разделов сайта -Drupal, Joomla, DLE или Wordpress для ведения раздела (добавления новостей, постов на форуме, решения вопросов участников . Моя ася 76525565
Большое спасибо за статью, очень помогла. У меня самого страничка на Друпале сделана. Не знал, как угробить название комментария - теперь понял.
Кстати, можете статью дополнить: для простых самописных тем, состоящих из одного файла .css и где нет отдельных файлов .tpl, эти файлы шаблонов следует искать в папке /themes/engines/phptemplate
Продолжайте, буду читать.
Спасибо, добавлю.
Кстати, у Вас очень интересный сайт! Особенно эпиграф понравился :)
русифицировать друпал лучше в процессе установки. даже больше - настоятельно рекомендую делать это в процессе установки, если хочешь избежать неприятных проблем с импортом переводов впоследствии. тем более, что это очень просто. просто скачать перевод, распаковать, дать права 664 на все файлы и потом уже приступать к установке.
А какие там проблемы с импортом переводов? У меня не было проблем...
в идеале надо делать так. скачать друпал, все нужные модули, все переводы. распаковать переводы, дать всем файлам права 644. распаковать друпал. распаковать все модули в /sites/default/modules или в /sites/all/modules. перекинуть переводы модулей в папки с модулями. запустить установку.
просто при импорте очень часто часть строк не переводится. к тому же если модуль был активирован перед переводом его надо отключить, удалить в админке все его базы и только потом переводить. в пятёрке кстати таких трабл не припомню...
У меня и в шестерке таких трабл не было. Тот вариант, который ты предложил (через подсовывание переводов модулю AutoLocale) - нормальный. Но обычный способ тоже работает нормально. Я вообще не вижу причин, по которым он может работать ненормально, он даже проще, чем AutoLocale по сути.
Аналогично, никаких проблем с руссификацией не было ни разу.
т.к. моя основная цель не максимально крутой движок, а просто возможность вести блог без особых затруднений с настройкой. Инструменты в данном случае вторичны.
А не рассматривали такой вариант: Blogspot (Blogger) с привязкой с собственному домену? По критерию "никаких затруднений с настройкой " imho выигрывает у wp и drupal. Я точно бы так сделал, если бы нашёл конвертер базы wordpress -> blogger. (Странно кстати, что такого нет, обратный вариант есть, кросспостер тоже).
Честно говоря, не слышал раньше о таком. Спасибо! Но сайт уже готов, и пока устраивает. К тому же здесь можно менять абсолютно все, что угодно самому. Но с точки зрения простоты, возможно, Blogspot был бы легче.
Ну блогспот - странная площадка. Мне лично она не нравится совершенно дурацкой системой комментариев. Ну и плюс - малые возможности кастомизации. Уж лучше ЖЖ тогда, там хоть комьюнити есть.
согласен, использую блогспот уже довольно давно - не очень удобная система, особенно с комментариями и "Читать далее" =)
Зато на блогспоте обитает гораздо больше умных блогеров, чем на других площадках. Не знаю, с чем связано, но закономерность очень четкая. Я, по-моему, не видел ни одного бестолкового блога на блогспоте. Может, не там искал? :)
Привет,
А как сделать так, чтобы на определенной странице выводился список всех статей блога ("Материал: Тип = Blog") или хотя бы 5-10 последних постов, а потом ссылка на следующие 5-10 (как в вордпрессе).
Засада в том, что я хочу, чтобы на главной странице была определенная страница. А если я делаю так, чтобы по ссылке /blog выводилось сразу несколько последних постов, допустим 5, то и на главной будет эта страница и еще 4 последних поста. Не кошерно, короче.
Или, может, можно сделать главную страницу никак не связанную с блогом?
Честно говоря, не очень понял вопрос. Вы хотите что-то, похожее на это?
Это вам надо посмотреть на модуль Views. С его помощью можно сделать именно то, что вам нужно.
Спасибо, отличная статья. Еще бы знать как победить обрывки комментариев в блоке. Может быть есть модуль подобный ReadMore Tweak или как-то ручками прописать т.е устанавливаем кол-во символов, а далее, н-р, троеточие ...
Я как раз сегодня встречал обсуждение числа выводимых символов. Вот здесь. Сам не разбирался, т.к. пока так устраивает :)
[quote]Я как раз сегодня встречал обсуждение числа выводимых символов.[/quote] Ага, кол-во теперь можно задать, а views сам обрывает фразу троеточиями. [Решено] ;)
Спасибо, статья многое прояснила. Но осталось загадкой - как статьи-то публиковать, чтобы по меню было рассовано? :)
Не очень понял вопрос.
Для создания разделов используется таксономия. О ней я напишу позже - пока у себя все публикую единой лентой. А показывать разделы можно в каком угодно виде - в виде меню, списками, деревьями и т.д. Про такие модули тоже скоро добавлю.
Хорошая статья. Во многом помогла - сложно с Drupal новичку.
Рад, что полезно. Удачи в настройке! :)
могу посоветовать еще поставить модуль AJAX Comments - коментсы оставляются гораздо приятнее, и hidden_captcha - про него лучше почитать у автора
Спасибо большое! Посмотрю обязательно и опишу установку, если все подойдет. Я так понимаю, что текущая реализация комментариев достаточно убога :)
*ps. простите, поправлюсь - про них, т.к. автор модулей - один человек :)
плюс ссылка на AJAX комментарии
Добавил пока только hidden_captcha. С ajax_comments не обошлось без глюков. Я использую comment_notify, поэтому доставил еще job_queue и queue_mail, так как без этих модулей ajax_comments с ним не работает. Так вот, даже после установки часть комментариев не сохраняется. Отправил автору отчет. А пока отключил.
Хочется выразить благодарность автору за написанное, помогло во многом!
Спасибо! А у Вас интересный блог и хорошее оформление для сайта на друпал.
Захар, спасибо!
Очень доступно и полезно!
Спасибо за отзыв. Постараюсь расширить этот импровизированный учебник в ближайшее время.
Если не ошибаюсь, у тебя на блоге SpamKarma2 стоит? Или ошибаюсь? После первого попадания такого креативного спама в блэклист, как правило больше не проходят. Ну а совсем креативные иногда оставляю
Сейчас кроме Image Captcha ничего не стоит. Пока поутих спам :)
Может кто поможет, не могу продвинуть этот сайт по слову
Подарки на новый год, будте добры, помогите.
Спасибо за статью, побежал себе блог создавать :)
Ищу модераторов и журналистов по разделу Drupal к себе на сайт designcms.ru
Пишите, что именно Вас интересует
Подскажите пожалуйста, а как Вы сделали рубрикатор?
Прошу прощения за запоздалый ответ - праздники все же :)
Рубрикатор - это таксономия + модуль "Taxonomy Menu". Я просто не успел об том написать. Планирую чуть позже. Но вообще там все несложно.
Подскажите пожалуйста, как сделать средствами Друпала редирект с домена с www на домен без www, т.к. .htaccess не помогает?
К сожалению, этого не знаю, т.к. не настраивал ничего специально. Советую обратиться в блог solargate.ru - человек точно разбирается в теме хостинга.
Как зайти на drupal если его сделали в оффлаине и вышли из админпанели???
Хм, я, честно говоря, так не делал, поэтому не знаю, как решается проблема. Лучше спросить на drupal.ru в форуме - тем быстро отвечают.
Здравствуйте! Подскажите пожалуйста, а то совсем застряла на этом месте:
Далее, также вручную, из соображений безопасности, создается папка для хранения закачиваемых на сайт файлов, и для нее задается доступ на запись. Команды:
mkdir sites/default/files
chmod o+w sites/default/files
Где именно создается папка? Как ее назвать? И куда вписывать команды?
Данные действия приведены для случая, если Ваш сайт работает на Unix-системе. У Вас в этом случае должен быть доступ к Unix-терминалу, где в командной строке необходимо выполнить приведенные команды. Сайт обычно находится в некоторой папке <Ваша домашняя папка>/<имя сайта>, а внутри нее после установки Drupal будет папка sites со всем своим содержимым.
Вопрос решился нажатием на папку правой кнопкой мышки через FTP клиент.
Теперь возникла новая проблема
Failed to connect to your MySQL database server. MySQL reports the following message: Unknown MySQL server host ' 78.108.84.249' (1).
Уверена, что все данные введены верно, попытка прописать в settings руками ничего не решила.
Судя по сообщению об ошибке, адрес хоста написан с пробелом в начале (перед цифрой 7). Проверьте также, действительно ли доступен этот сервер. Команда: ping 78.108.84.249
Отправить комментарий