Готовые решения. CMS phpNuke

Готовые решения. CMS phpNuke

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

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

История этой CMS началась в 1998 году. Скрипт назывался тогда просто Nuke и был написан на языке Perl. Потом при использовании некоторых прототипов он был переписан на PHP. Так началась новая жизнь проекта. Официальный сайт phpNuke находится по адресу http://phpnuke.org .
PhpNuke является свободным программным продуктом, распространяемым под GNU/GPL. Системные требования у данного портала вполне приемлемые: желательно наличие web-сервера Apache и PHP версии не ниже 4.1.х. В качестве СУБД рекомендуется использовать MySQL. Кроме этого, поддерживаются СУБД PostgreSQL, Sybase, Interbase и некоторые другие варианты с помощью ODBC. Список операционных систем, под которыми можно работать с рассматриваемой CMS, также довольно обширный: все Linux, FreeBSD, Windows, MacOS, OS/2 и другие. Последняя на сегодняшний день версия — 6.8. Кроме PHP, при написании модулей этой CMS использовались и технологии Java, JavaScript, CSS, Flash и другие.
При должном подходе на базе phpNuke можно построить самые разнообразные решения, облегчив и улучшив администрирование сайта. Набор реализованных изначально функций без проблем расширяется большим количеством доступных дополнительных модулей.

Как и все другие уважающие себя CMS, детище Франсиско Бурси, а ведь именно он начал разработку phpNuke, поддерживает гибкое изменение своего внешнего вида, а также технологию добавления стилей оформления. Система поддерживает несколько десятков языков. Но мы не будем подробно перечислять все функции и возможности phpNuke — их действительно много, и они подробно описаны в соответствующей документации.
После загрузки и разархивирования файлов пакета приступим к установке CMS, которую начнем созданием в MySQL базы данных, с которой будет работать наш портал. Структура таблиц создается с помощью импортируемого файла nuke.sql, в котором содержится набор необходимых команд.
Теперь настало время правки конфигурационного файла config.php. Здесь необходимо указать правильные параметры нашей базы данных — ее имя, имя MySQL-пользователя, который будет с ней взаимодействовать, а также его пароль. Если базы данных у нас еще нет, то ее необходимо создать. Запускаем инсталлятор и выполняем запрашиваемые им операции.

В этот раз мы не будем подробно затрагивать вопросы локализации пакета, поскольку существует готовая и весьма неплохая русификация пакета под названием "phpNuke по-русски". Сайт, на котором можно найти эту версию, находится по адресу http://rus-phpnuke.com. На сегодняшний день можно воспользоваться переводом phpNuke версии 6.8, работы над которой, скорее всего, еще будут продолжены. Если же нам требуется иной язык, то можно будет воспользоваться соответствующими языковыми пакетами, процесс установки которых не имеет принципиальных отличий по сравнению с таковым в рассмотренных нами ранее CMS. Инструкции по их установке можно будет отыскать в закачанном архиве соответствующего языкового пакета.

Имеющаяся в архиве "Php-Nuke по-русски" инструкция по инсталляции системы представлена на русском языке, поэтому подробно останавливаться на этом процессе нет особого смысла. Создаем базу данных, правим конфигурационный файл config.php, копируем файлы на сервер. Во время первой загрузки будет предложено создать администратора.
Перевод системы действительно неплох и сделан в том числе и для встроенного форума на основе phpBB. Дальнейшая настройка производится штатными средствами. PhpNuke 6.8 RUS получил новый дизайн и некоторые усовершенствования. В комплекте идет оригинальная тема оформления RusNuke2003. Исправлены найденные ранее ошибки, отредактированы функции отправки почтовых сообщений, внесены изменения в модули Download и Web Links, FAQ и News. Все файлы, отвечающие за языковые настройки, были переработаны, так что перевод phpNuke на русский можно считать полным. Явных и грубых ошибок немного, ну, а если найдутся некоторые шероховатости, то они, скорее всего, будут со временем устранены.
Дальнейшая работа по настройке установленного пакета производится средствами Administration Menu (Меню Администратора). Все доступные настройки разделены на категории. Давайте пройдемся по их списку, останавливаясь подробнее на непосредственно связанных с информационным наполнением сайта. Названия разделов приводятся в соответствии с русифицированной версией пакета phpNuke.

Новости. Позволяет добавлять новостные статьи. Необходимо указание заголовка, темы и категории. Позволяет разрешить или запретить комментирование. Доступна публикация в определенное время, указываемое отдельно. Здесь же можно создать опрос, тематически связанный с текстом статьи.
Баннеры. Управление показами баннеров. Здесь можно добавить новые или удалить ненужные баннеры, изменить их настройки. Имеется возможность ведения списка клиентов, размещающих рекламу на вашем сайте.
Блоки. Управление тематическими блоками, из которых строятся страницы сайта. Имеющиеся блоки можно включать и отключать, изменять их расположение, а также сопоставлять их с определенными категориями посетителей: например, блок "Меню пользователя" необходим только зарегистрированным пользователям. Можно создавать собственные блоки или же устанавливать готовые, большое количество которых можно отыскать на сайте phpNuke.
Контент. Материалы, которые впоследствии будут размещены в "Разделах". Каждую статью можно отнести к определенной категории, что позволяет сгруппировать тематически связанные материалы. Здесь же создаются и редактируются категории.
Файлы. Если вы планируете предоставлять какие-либо файлы для загрузки посетителями, на этой вкладке можно настроить соответствующий раздел сайта. Здесь также доступно выделение категорий и подкатегорий. Для добавленных файлов указывается путь к ним, краткое (до 255 символов) описание, имя и e-mail автора, ссылка на домашнюю страницу, если таковая имеется.
Админы. Данный раздел настроек позволяет рационально распределить полномочия между несколькими администраторами сайта. Можно создавать несколько администраторов со своими логинами и паролями, указывая те разделы сайта, которыми они будут управлять. Изначально в системе существует один суперпользователь с неограниченными правами.
Пользователи. Этот раздел предназначен для управления учетными записями, так сказать, "простых смертных", зарегистрировавшихся или зарегистрированных администратором на сайте. Здесь все понятно: логин, пароль, ник, почтовый адрес и краткие сведения личного характера.
Энциклопедия. Онлайновый справочник, содержащий определенные термины и их толкование. Очень полезное дополнение к разделу FAQ. Если наш сайт посвящен какой-либо специфической тематике, то данный раздел может быть весьма интересен как тем из посетителей, кто еще слабо в ней ориентируется, так и "спецам" для напоминания. Можно найти и другие, самоценные, применения Энциклопедий: все зависит от задач, поставленных перед нашим проектом.
Даты. Сообщения типа "этот день в истории". Указываем дату, пишем необходимый текст, сохраняем изменения. После этого наше сообщение будет автоматически регулярно появляться на сайте и напоминать посетителям о разнообразных знаменательных событиях.
ЧаВо. Именно так авторы русской версии перевели название раздела Frequently Asked Questions. О его назначении, как мне кажется, подробно рассказывать не имеет смысла — оно общеизвестно. Вначале создаем хотя бы одну категорию, потом переходим по ссылке "Контент", где в специальной форме пишем какой-нибудь излишне популярный среди пользователей вопрос и ответ на него.
Forums. Почему-то не переведенное в "Php-Nuke по-русски" название раздела говорит само за себя. Ссылка открывает панель администрирования встроенного в phpNuke форума на основе phpBB. Форум, как и система в целом, также полностью переведен на русский язык. Подробно останавливаться на его настройках не будем, так как phpBB в КГ уже была посвящена отдельная статья. Подобный симбиоз портала и форума избавляет от необходимости устанавливать и настраивать форум отдельно от основной системы.
Сообщения. Управление теми сообщениями, которые показываются посетителям. Можно назначить временной период "жизни" определенного сообщения — скажем, один день или один месяц. При желании его можно сделать постоянным. При написании сообщений доступно форматирование и оформление с помощью HTML.
Модули. Редактирование списка и некоторых свойств модулей, набор которых определяет функциональные возможности конкретного сайта, построенного на основе phpNuke. Дополнительные модули можно скачать на сайтах, посвященных phpNuke. Неплохая подборка русифицированных модулей имеется на уже упоминавшемся rus-phpnuke.com.
Рассылка. Отправка почты подписавшимся на рассылку или же всем пользователям, оставившим свой e-mail. С ее помощью можно, например, сообщать про обновления на сайте. Стоит напомнить, что осторожность в использовании данного инструмента никому не повредит.
Рецензии. Написание рецензий на какие-либо продукты. Предусмотрены следующие поля: название продукта, собственно текст рецензии, обязательно указание имени и e-mail рецензента, выставленная оценка, ссылка на сайт продукта. Можно добавить путь к файлу иллюстрации.
Новые статьи. Редактирование свойств запрограммированных на показ в определенное время статей. При необходимости можно поменять дату выхода статьи, заголовок и другие свойства.
Опросы. Создание опросов, которые можно будет разместить на стартовой странице сайта. В заголовке указывается сам вопрос, потом перечисляются до двенадцати вариантов ответов. Впоследствии по мере накопления ответов для каждого опроса будет доступна развернутая статистика ответов, которую можно просмотреть.
Ссылки. Наполнение одноименного раздела полезной информацией. Указывается название сайта, его адрес и краткая характеристика. Ссылки можно группировать по категориям и подкатегориям.

Таким образом, мы познакомились с основными группами настроек, связанными с непосредственной работой над сайтом. Кроме названных, имеются еще разделы "Сохранить БД" и Optimize DB, предназначенные для работы с базой данных phpNuke, "Свойства", с помощью которого можно настраивать глобальные настройки сайта — например, его название, тему оформления, параметры поддержки нескольких языков и многие другие. Управление установленными стилями оформления осуществляется на разделе "Темы".

Подведем итог наших изысканий. Использование изначально русифицированного пакета представляется вполне оправданным действием, способным сэкономить время, которое пришлось бы потратить на установку дополнительных языковых пакетов. Качество перевода phpNuke на сегодняшний день весьма достойное. Что касается принципиального вопроса "использовать или не использовать phpNuke?", то здесь следует исходить из конкретных запросов и возможностей. Как и всякое готовое решение, phpNuke представляет собой определенный компромисс между нашими ожиданиями и функциональными возможностями пакета. По сравнению с другими бесплатными CMS такого уровня главным достоинством phpNuke является большое количество дополнений. Есть у него и недостатки, которые подвигли некоторых разработчиков на создание многочисленных клонов этой популярной системы, наиболее перспективным из которых представляется PostNuke. Имеются и другие конкуренты, заслуживающие отдельного рассмотрения.

Какую бы CMS мы ни выбали, она не избавит нас от необходимости постоянной работы над собственным web-проектом. Можно даже сказать, что портальные системы, подобные phpNuke, предоставляя нам удобные инструменты работы с контентом, предполагают наличие на сайте достаточно разветвленной структуры разделов. Поэтому стоит заранее взвешенно оценить запросы и перспективы своего проекта, чтобы не устанавливать CMS "просто так". В конце концов, phpNuke — просто инструмент, от правильности использования которого во многом будет зависеть конечный результат нашей работы.

Алексей Кутовенко, alteridem@tut.by


Компьютерная газета. Статья была опубликована в номере 44 за 2003 год в рубрике soft :: интернет

©1997-2024 Компьютерная газета