Создание сайта на бесплатном хостинге
В прошлый раз (см. КГ №13) мы говорили о возможностях виртуального сервера "Денвер". В этой статье определимся с выбором CMS-движка и рассмотрим общие принципы его установки на сервер.
Часть вторая. CMS-движки
Наверное, каждому хотелось бы завести свой сайт — красивый, удобный и надежный. А главное — интерактивный. Ведь, как известно, залог успеха любого сайта — его интерактивность. Но дело в том, что посредством языка HTML достичь этого очень трудно (если не невозможно). При разработке обычной web-визитки все довольно просто: сверстал в HTML-редакторе сколько нужно страничек, выгрузил их на сервер — и, считай, готово. Но вот когда сайт начинает разрастаться, становиться более сложным, появляется масса трудностей. Согласитесь, нам далеко не всегда предоставляются комфортные условия работы. Например, находясь на работе, в интернет-клубе или просто за чужим компьютером, мы не можем редактировать HTML-файлы и, тем более, закачивать их на сервер. Ставятся совершенно разные задачи, которые необходимо выполнять в максимально короткий срок, не прибегая к каким бы то ни было операциям с файлами. В этом случае разумным решением будет использование CMS (системы управления содержанием). Она существенно упрощает работу с сайтом, избавляет нас от рутинных и ненужных дел. О CMS я уже рассказывал в первой части. Поэтому постараюсь затронуть те моменты, которые еще не были рассмотрены. Прежде всего хотелось бы продолжить рассказ о технологии CMS, о ее "начинке".
CMS-технология
Как вы знаете, любой движок состоит из скриптов, написанных на одном из "серьезных" динамических языков — чаще всего на PHP. Преимущества последнего перед HTML очевидны. Ведь если HTML — это всего лишь статический язык разметки, то PHP — динамический язык программирования. Администрирование сайта, обновление и редактирование материала, обратная связь — одним словом, интерактивность, и все это — благодаря PHP. Однако не стоит думать, что CMS есть только PHP. Нельзя упускать из виду такие мощные технологии, как Javascript и XML. Один из примеров работы Javascript — WYSIWYG-редактор (WYSIWYG — "what you see is what you get" — англ.: "что видите, то и получаете"). Он представляет собой функциональный редактор HTML, который по возможностям, конечно, "далеко не Dreamweaver", но при форматировании текста весьма удобен. Присутствует WYSIWYG-редактор во многих движках, так что есть возможность узнать его поближе. А вообще говоря, присутствие Javascript в CMS заметно даже на глаз. Знакомясь с CMS-движками, вы обязательно отметите эту особенность. XML (Extensible Mark Up Language) — язык разметки, который также широко используется в CMS. Он отвечает за оформление, структуру, разметку страниц. В частности, на нем основаны многие шаблоны. Частично это обусловлено, наверное, тем, что XML-файлы способны вмещать в себе не только информацию о стилях или разметке, но и графические изображения. Если открыть почти любой такой файл в текстовом редакторе, можно заметить, что в XML-структуре встречаются непонятные кусочки кода, начинающиеся с <filename>file.*</filename. Это и есть изображения. Из каждого правила есть исключения. У CMS они свои. Это так называемая "экзотика", нестандартный вариант. Упомянуть хотя бы "Парсер" — разработку Студии Артемия Лебедева. Одновременно это объектноориентированный язык, и своего рода движок, но без приставки CMS-. Вернее, это только часть движка. Используемые им технологии существенно отличаются от "типичных" (хотя в числе его возможностей — поддержка SQL баз данных (БД) и XML). Главное — "Парсер" не поддерживает PHP-скриптов. Если вас интересует данный продукт, посетите сайт www.parser.ru, где доступны прекрасное руководство на русском языке и собственно сам "Парсер". Нестандартных решений полно. Кроме "Парсера", к ним можно отнести Zope (www.zope.org), а также все CMS, не использующие БД. К чему я это говорю? Дело вот в чем. Перед выбором CMS ставьте свои задачи и требования к движку. А уже исходя из этого вы определите, какой хостинг (пусть даже и бесплатный), какие системные требования к нему предъявлять: с поддержкой БД или нет.
CMS-разнообразие
Движков сейчас множество — где-то более двухсот. PHP-Nuke, VBulletin, E107, Xoops, Subdreamer, DataLife — список можно продолжать до бесконечности. Между движками много схожего, но в зависимости от содержания они делятся на разные категории: портал, форум (конференция), блог, интернет-магазин, банковская система и т.д. Бывают универсальные CMS. Они сочетают в себе несколько перечисленных компонентов сразу. Такое деление самое обобщенное, что ли. А вообще делить можно по-разному. Специалисты уже сами запутались:). Наиболее популярными системами являются портал и форум. Идея же создать сайт в связке из двух этих компонентов видится очень неплохой. По крайней мере, такое решение будет более интересным, чем "одиночное". А современные портальные движки, нужно сказать, обеспечивают неплохую интеграцию с форумом. Они способны использовать совместную базу данных, таблицы, файлы, каталоги и прочее. Кстати, что касается баз данных. Вы должны заранее побеспокоиться о том, чтобы ваш хостер предоставил вам возможность работы с БД. К сожалению, бесплатно данная услуга поддерживается очень редко.
Можно ли обойтись без БД? Да, можно. Как я уже говорил, есть движки, которым SQL-база не требуется. Как пример можно привести GuppY (www.freeguppy.org), Siteman (www.sitem.sourceforge.net) или Limbo CMS (www.limbo-cms.com). Использовать их, я считаю, — не самое лучшее решение: придется расплачиваться снижением или быстродействия, или функциональности. Да и ограничиться только GuppY и ему подобными, по-моему, невозможно.
Проблема выбора
Перед вами обязательно встанет вопрос: какой движок все-таки выбрать и по каким, собственно, критериям. Выбор движка — ответственное дело. Придется пересмотреть не один и даже не два варианта. Только методом проб и ошибок вы подберете именно тот, который посчитаете наиболее подходящим. А особое внимание следует обратить на следующее:
Соответствие CMS требованиям, предъявляемым к сайту. Наверное, самый важный критерий, определяемый пользователем.
Безопасность движка — не в последнюю очередь. Чем менее уязвим CMS-движок, тем меньше нужно заботится о его защите и обновлении. Помните, что хакеры взламывают не только самые популярные и продвинутые сайты. Напротив.
Бесплатность/платность. Важный пункт, но, по моим наблюдениям, многие его игнорируют. В наше время далеко не все платят за коммерческий продукт. Зачастую предпочтение отдается "нуленным" (nulled) версиям движков.
Гибкость настроек и управления, функциональность. Чем больше настроек, тем больше возможностей — следовательно, тем легче настроить движок "под себя".
Поддержка, наличие модификаций, хаков, шаблонов и т.п. CMS должна иметь хороший резонанс и интерес пользователей. Отчасти благодаря этому она будет постоянно развиваться.
Объем дистрибутива в распакованном виде. Даже если вы не ограничены пространством на сервере, побеспокойтесь, чтобы движок не был чрезмерно "толстым". Это влияет и на безопасность, и на скорость, и на удобство работы с движком (меньше шансов запутаться:).
Быстродействие. Определенное время браузер затрачивает на прием информации, еще некоторое время уходит на запрос информации от БД и обработку скриптов, расположенных на сервере. Посетители сайта, как вы знаете, не любят долго ждать.
Легкость установки. На первых этапах важный аспект.
CMS-обзор
Мы рассмотрим нескольких движков: форумных и портальных, платных и бесплатных. На мой взгляд, все они достойны вашего внимания. Впрочем, как и многие другие (IPB, PhpNuke…), которые, однако, не вместились в рамки газетной статьи. Не стану перечислять основные возможности CMS — банальных "совместимость с MySQL/Access/ODBC/PHP/Apache, мультифорумность, поддержка различных языков" и т.п. — то, что можно найти на сайте поддержки конкретной CMS. Я просто поделюсь впечатлениями от работы с движками.
Движок: Xoops
Категория: портал, бесплатный
Объем: 4,1 Мб
Сайты поддержки: www.xoops.org, www.xoops2.ru, www.xoops.ru
Описание: Единственный в обзоре наследник PHP-Nuke. Впрочем, от последнего он отличается кардинально. Разработчики настолько изменили код движка, что в "нюкообразность" верится с трудом. В стандартный комплект Xoops входят модули, аналогичные PHP-Nuke, но они были полностью переписаны. Еще одно отличие от "Нюка" — наличие хорошего инсталлятора с поддержкой русского языка. Движок придется по вкусу тем, кто любит (и умеет) настраивать все самостоятельно, т.к. сразу после установки портал еще не готов к работе: требуется установить и настроить нужные модули. Базовых вполне достаточно, но и сторонние модули найти нетрудно. Хотя Xoops не пользуется особой популярностью в Интернете.
Движок: Subdreamer
Категория: портал, платный
Объем: 2 Мб.
Сайты поддержки: www.subdreamer.com, www.sabdrimer.com.
Описание: Хорошее название для движка. Он действительно неплох, хотя и не пользуется особой поддержкой в Сети. Во всем легок — в этой легкости и заключается его прелесть. На официальном сайте отличительные особенности Subdreamer'а приведены так (с моими комментариями):
— Функциональный WYSIWYG-редактор TinyMCE. Жаль, что, кроме TinyMCE и FCKeditor'а (очень редко встречается!), никакой альтернативы нет. — Интеграция с форумами PHPBB2, VBulletin 2/3, SMF 1 и IPB 2. Только ТАКАЯ интеграция может "аукнуться": если вы удалите какую-то важную таблицу форума в БД, Subdreamer откажется работать.
— Поддержка Friendly URLs. Friendly URLs служит для преобразования ссылок "динамического вида" в "статический". Например,
httр://localhost/index.PHP?categoryid=10 => httр://localhost/downloads.
— Удобный менеджер изображений. Избавляет от необходимости закачивать картинки по ftp-протоколу.
Этот движок как нельзя лучше подойдет для создания приватного сайта. Работа с плагинами, с публикацией материала организована на неплохом уровне. Плагинов к Subdreamer'у написано немало, но, к сожалению, они преимущественно платные. Ну да, движок коммерческий, и рассчитывать на бесплатный "презент" не приходится. Спасибо умельцам с www.sabdrimer.com — они хоть изредка да выкладывают на своем сайте самодельные шаблоны (которые потом входят в официальные skin-pack'и Subdreamer'a).
Движок: Mambo (Mambo Open Source)
Категория: портал, бесплатный
Объем: 6,2 Мб
Сайты поддержки: www.mamboforge.net, www.ru-mambo.ru, www.mamboteam.ru, www.mamboserver.ru
Описание: Признаться, моя давняя любовь. Да и как тут не вызвать симпатии? Вы посудите сами. Mambo — очень функциональная CMS. Дополнений к ней не счесть. Причем делятся они на модули, компоненты и мамботы. Среди мамботов я повстречал одних только WYSIWYG-редакторов около 5 (!). Дизайн портала неплохой (можно судить даже по стандартному оформлению). Причем меняется вид не только сайта, но и админ-части. Коренным образом! Админ- панель — особый разговор. Сделанная на основе JavaScript, выглядит эта CMS эффектно — в виде выпадающих каскадных меню. Однако не всем она покажется удобной. Лично у меня всегда возникали "непонятки" с созданием категорий и размещением статей. Поначалу легко запутаться. К минусам админ-панели отнесем также не всегда нормальное быстродействие. Не все браузеры любят обрабатывать такое количество скриптов и катинок единовременно.
У Mambo есть младшая сестра (или брат) Joomla. Вопреки ошибочным мнениям это не продолжение "Мамбы", а ее ответвление. А Mambo сейчас стремительно развивается и сдавать высокую позицию не намерена. На момент написания статьи была анонсирована версия 4.6, от которой ожидаются многие новшества. Также не так давно у CMS сменилась команда разработчиков. Давайте пожелаем им удачи и успехов. Будем надеяться на новые достижения!
Движок: VBulletin
Категория: форум, платный
Объем (в распакованном виде): 7,5 Мб
Сайты поддержки: www.vbulletin.com, www.vbulletin.com.ru, www.vbulletin.org
Описание: Мощный, функциональный и гибкий в настройке коммерческий движок. Убедиться в этом легко: достаточно открыть админ-панель и "пообщаться" с ней. Настроек такая россыпь, что легко запутаться. Новичкам уж точно не посоветуешь. Модов, хаков и шаблонов тоже хватает, как платных, так и бесплатных (чего стоит один ImpEx!). Правда, устанавливать трудновато. Безопасность на высоте. Из соображений безопасности опытные веб-мастера советуют переходить на VBulletin. Не зря ведь код движка был тщательно проработан и оптимизирован. И пусть VBulletin и объемный (7 Мб), и функциональный, но это не сказывается на его быстродействии. В общем, продукт очень качественный, лучший на сегодняшний день форумный движок. Несомненно, он задает стандарт. Это уже общепризнанный факт.
Движок: PhpBB
Категория: форум, бесплатный
Объем: 2,1 Мб
Сайты поддержки: www.phpbb.com, www.phpbbguru.net, www.myphpbb.com.ru
Описание: Очень знаменитый движок (в Рунете установлен на каждом третьем сайте, если верить статистике). Именно с него рекомендуется начать знакомство с форумами. PhpBB прост в установке и настройке, а также администрировании. Продуманная структура админ-панели, простота настройки, неплохой дизайн — а что еще нужно? Порадовала поддержка дополнений, тех же шаблонов. На сайте www.phpbbstyles.com можно найти более симпатичные, чем первоначальный. Минус движка — его уязвимость, о которой шутят, мол, не проходит и полмесяца, как оглашается очередная уязвимость в его коде. Да, хакеры любят PhpBB... Но, по моему мнению, уязвимость — понятие относительное. Все движки страдают данным недугом в разной степени. Однако, по большому счету, что с того? Если вы регулярно следите за последними обновлениями, изредка посещаете секьюрити-порталы, то проблем с безопасностью не будет.
Движок: SFM
Категория: форум, бесплатный
Объем: 3,3 Мб
Сайты поддержки: www.simplemachines.ru, www.simplemachines.org
Неплохой форум. Кроме бесплатности, радует функциональностью, лаконичностью, понятностью. В настройках уж точно не запутаетесь. А вот установка может сбить с толку: придется редактировать конфигурационный файл /usr/local/PHP/PHP.ini, изменять session.save_path. Первоначальный дизайн мне понравился. По сравнению с vBulletin вполне симпатичный. Вот только найти шаблон покрасивее стало проблемой (к сожалению, поддержка SFM в Сети пока еще слабая). Пришлось вручную изменять стандартный. Код движка понятен для восприятия. Он легко модифицируется и "затачивается" под свои нужды. А еще понравилось, как организована смена шаблонов и смайликов, модов — без лишних заморочек. Рассчитывать на популярность SFM в будущем, думаю, стоит. Хотя свое развитие форум начал относительно недавно, два года назад, сейчас в Интернете он встречается часто. Поддержка, несомненно, возрастет. Это лишь вопрос времени.
Установка CMS-движка на локальном сервере
Большинство CMS, с которыми мне приходилось встречаться, были довольно просты в установке, и все-таки требовали определенной сноровки. Но нет, больших знаний от вас не потребуется. Принцип установки движков одинаков. Прежде всего создайте базу данных (БД). Утилита addmuser (localhost/tools/addmuser/) вам в помощь. После этого скопируйте файлы движка из архива в рабочую папку на сервере (находится по адресу /home/localhost/www/). В браузере запустите мастер установки. Вызывается он через localhost, localhost/install или же иным способом (читайте прилагающийся к CMS readme). Появится этот самый мастер, который предложит заполнить вполне очевидные поля: логин, пароль администратора и БД, — а также указать префикс таблиц. Префикс дописывается к имени каждой таблицы в БД и служит для идентификации. Если у вас не один, а несколько сайтов используют одну базу, то визуально отличить таблицы одного сайта от таблиц другого не составит труда, если используются разные префиксы. Думаю, вам понятно, для чего движку нужна запрашиваемая информация: мастер установки "подхватывает" данные config-файла, затем осуществляет соединение с БД, где создается определенная структура таблиц. На следующем этапе, если ошибок нет, установка заканчивается, и можно приступать к работе с сайтом. Стоит оговориться, что при каждой установке есть свои нюансы. Так, мастер в некоторых случаях не запускается, не найдя конфигурационного файла движка. Данный файл в редких случаях следует переименовать и правильно сконфигурировать. Обычно он расположен в корневой папке или в директориях /includes или /install, а называется вот по такой маске: config*.*. Рассмотрим конфигурацию config-файла на примере CMS PHP-Nuke (www.phpnuke.org) версии 7.3. Релиз старый, но очень хорош в качестве наглядного примера. Открыв config.php в текстовом редакторе, можно найти там следующие строки, касающиеся базы данных:
$dbhost = "localhost" — сервер, на котором размещена БД. Для домашнего сервера это "localhost"
$dbuname = "" — имя пользователя БД
$dbpass = "" — пароль для БД
$dbname = "" — имя БД
$prefix = "nuke" — префикc таблиц БД
$user_prefix = "nuke"; — префикc таблиц пользователя БД
$dbtype = "MySQL"; — тип БД.
PHP-Nuke — на то он и "Нюк", что его установка представляет некоторую сложность. Дело в том, что он не имеет собственного установщика, и для его инсталляции необходимо произвести еще одну операцию — импортировать таблицы БД из файла. Звучит запутанно, но на самом деле все намного проще. Итак, в архиве "Нюка" вы обнаруживаете папку /sql, в которой находится файл nuke.sql. Именно он предназначен для импорта таблиц. Мы прибегнем к помощи утилиты PhpMyAdmin, что вызывается по localhost/tools/phpmyadmin в браузере (не забудьте, что сервер в это время должен работать). Зайдя в интерфейс PhpMyAdmin'а, вы должны выбрать БД в боковой панели (там жирным написано "Please select a database"). Появятся 7 вкладок, но нас интересует вторая — SQL. Под надписью "Location of the textfile:" вы увидите кнопку Choose. Щелкнув на ней, найдите и выберите наш заветный файл nuke.sql, а затем нажмите Go!. Все! После завершения операции импорта таблиц установка будет завершена. Еще один совет. Если по ходу установки движка у вас появятся ошибки (Warning, Notice), характерные для скриптов PHP, впишите в конфликтующий файл хоть сразу после "<?php" строчку "Error_Reporting(E_ALL & ~E_NOTICE)" (без кавычек). Иногда помогает.
Mambo. Хотелось бы упомянуть ее отличный установщик. На первом этапе (проверка системы) мастер сверяет настройки сервера, и то, что ему не нравится, он выделяет красным цветом. Давайте проанализируем таблицу "Рекомендуемые установки". Видим, что "Мамбе" не нравится Magic Quotes GPC OFF и Register Globals ON. Не мешало бы подправить конфигурационный файл PHP (\usr\local\php\php.ini). Открываем его в текстовом редакторе и изменяем register_globals с ON на OFF, а magic_quotes_gpc — с OFF на ON. Перезапускаем виртуальный сервер и начинаем установку Mambo заново. Помогло, не так ли? Хотя на самом деле эта операция возможна только на локальном сервере. Изменять конфигурационные файлы приложений на чужом сервере запрещено:).
***
Установка CMS-движка на домашнем сервере проблем не составит. Ненамного труднее произвести ее в Интернете. Но прежде чем приступать к размещению настоящего сайта, необходимо подыскать для него хостинг, о выборе которого читайте в следующей статье. Удачи вам!
Ссылки в помощь: www.rucms.ru, www.cmsmatrix.org, www.cmsobzor.ru, www.cmslist.ru. На этих сайтах вы сможете получить дополнительную информацию о CMS.
P.S. В предыдущей статье я допустил неточность: Java-скрипты исполняются не на сервере, а на компьютере пользователя. Спасибо читателю DeeGree.
Илья Муравьев, iamm@tut.by
Часть вторая. CMS-движки
Наверное, каждому хотелось бы завести свой сайт — красивый, удобный и надежный. А главное — интерактивный. Ведь, как известно, залог успеха любого сайта — его интерактивность. Но дело в том, что посредством языка HTML достичь этого очень трудно (если не невозможно). При разработке обычной web-визитки все довольно просто: сверстал в HTML-редакторе сколько нужно страничек, выгрузил их на сервер — и, считай, готово. Но вот когда сайт начинает разрастаться, становиться более сложным, появляется масса трудностей. Согласитесь, нам далеко не всегда предоставляются комфортные условия работы. Например, находясь на работе, в интернет-клубе или просто за чужим компьютером, мы не можем редактировать HTML-файлы и, тем более, закачивать их на сервер. Ставятся совершенно разные задачи, которые необходимо выполнять в максимально короткий срок, не прибегая к каким бы то ни было операциям с файлами. В этом случае разумным решением будет использование CMS (системы управления содержанием). Она существенно упрощает работу с сайтом, избавляет нас от рутинных и ненужных дел. О CMS я уже рассказывал в первой части. Поэтому постараюсь затронуть те моменты, которые еще не были рассмотрены. Прежде всего хотелось бы продолжить рассказ о технологии CMS, о ее "начинке".
CMS-технология
Как вы знаете, любой движок состоит из скриптов, написанных на одном из "серьезных" динамических языков — чаще всего на PHP. Преимущества последнего перед HTML очевидны. Ведь если HTML — это всего лишь статический язык разметки, то PHP — динамический язык программирования. Администрирование сайта, обновление и редактирование материала, обратная связь — одним словом, интерактивность, и все это — благодаря PHP. Однако не стоит думать, что CMS есть только PHP. Нельзя упускать из виду такие мощные технологии, как Javascript и XML. Один из примеров работы Javascript — WYSIWYG-редактор (WYSIWYG — "what you see is what you get" — англ.: "что видите, то и получаете"). Он представляет собой функциональный редактор HTML, который по возможностям, конечно, "далеко не Dreamweaver", но при форматировании текста весьма удобен. Присутствует WYSIWYG-редактор во многих движках, так что есть возможность узнать его поближе. А вообще говоря, присутствие Javascript в CMS заметно даже на глаз. Знакомясь с CMS-движками, вы обязательно отметите эту особенность. XML (Extensible Mark Up Language) — язык разметки, который также широко используется в CMS. Он отвечает за оформление, структуру, разметку страниц. В частности, на нем основаны многие шаблоны. Частично это обусловлено, наверное, тем, что XML-файлы способны вмещать в себе не только информацию о стилях или разметке, но и графические изображения. Если открыть почти любой такой файл в текстовом редакторе, можно заметить, что в XML-структуре встречаются непонятные кусочки кода, начинающиеся с <filename>file.*</filename. Это и есть изображения. Из каждого правила есть исключения. У CMS они свои. Это так называемая "экзотика", нестандартный вариант. Упомянуть хотя бы "Парсер" — разработку Студии Артемия Лебедева. Одновременно это объектноориентированный язык, и своего рода движок, но без приставки CMS-. Вернее, это только часть движка. Используемые им технологии существенно отличаются от "типичных" (хотя в числе его возможностей — поддержка SQL баз данных (БД) и XML). Главное — "Парсер" не поддерживает PHP-скриптов. Если вас интересует данный продукт, посетите сайт www.parser.ru, где доступны прекрасное руководство на русском языке и собственно сам "Парсер". Нестандартных решений полно. Кроме "Парсера", к ним можно отнести Zope (www.zope.org), а также все CMS, не использующие БД. К чему я это говорю? Дело вот в чем. Перед выбором CMS ставьте свои задачи и требования к движку. А уже исходя из этого вы определите, какой хостинг (пусть даже и бесплатный), какие системные требования к нему предъявлять: с поддержкой БД или нет.
CMS-разнообразие
Движков сейчас множество — где-то более двухсот. PHP-Nuke, VBulletin, E107, Xoops, Subdreamer, DataLife — список можно продолжать до бесконечности. Между движками много схожего, но в зависимости от содержания они делятся на разные категории: портал, форум (конференция), блог, интернет-магазин, банковская система и т.д. Бывают универсальные CMS. Они сочетают в себе несколько перечисленных компонентов сразу. Такое деление самое обобщенное, что ли. А вообще делить можно по-разному. Специалисты уже сами запутались:). Наиболее популярными системами являются портал и форум. Идея же создать сайт в связке из двух этих компонентов видится очень неплохой. По крайней мере, такое решение будет более интересным, чем "одиночное". А современные портальные движки, нужно сказать, обеспечивают неплохую интеграцию с форумом. Они способны использовать совместную базу данных, таблицы, файлы, каталоги и прочее. Кстати, что касается баз данных. Вы должны заранее побеспокоиться о том, чтобы ваш хостер предоставил вам возможность работы с БД. К сожалению, бесплатно данная услуга поддерживается очень редко.
Можно ли обойтись без БД? Да, можно. Как я уже говорил, есть движки, которым SQL-база не требуется. Как пример можно привести GuppY (www.freeguppy.org), Siteman (www.sitem.sourceforge.net) или Limbo CMS (www.limbo-cms.com). Использовать их, я считаю, — не самое лучшее решение: придется расплачиваться снижением или быстродействия, или функциональности. Да и ограничиться только GuppY и ему подобными, по-моему, невозможно.
Проблема выбора
Перед вами обязательно встанет вопрос: какой движок все-таки выбрать и по каким, собственно, критериям. Выбор движка — ответственное дело. Придется пересмотреть не один и даже не два варианта. Только методом проб и ошибок вы подберете именно тот, который посчитаете наиболее подходящим. А особое внимание следует обратить на следующее:
Соответствие CMS требованиям, предъявляемым к сайту. Наверное, самый важный критерий, определяемый пользователем.
Безопасность движка — не в последнюю очередь. Чем менее уязвим CMS-движок, тем меньше нужно заботится о его защите и обновлении. Помните, что хакеры взламывают не только самые популярные и продвинутые сайты. Напротив.
Бесплатность/платность. Важный пункт, но, по моим наблюдениям, многие его игнорируют. В наше время далеко не все платят за коммерческий продукт. Зачастую предпочтение отдается "нуленным" (nulled) версиям движков.
Гибкость настроек и управления, функциональность. Чем больше настроек, тем больше возможностей — следовательно, тем легче настроить движок "под себя".
Поддержка, наличие модификаций, хаков, шаблонов и т.п. CMS должна иметь хороший резонанс и интерес пользователей. Отчасти благодаря этому она будет постоянно развиваться.
Объем дистрибутива в распакованном виде. Даже если вы не ограничены пространством на сервере, побеспокойтесь, чтобы движок не был чрезмерно "толстым". Это влияет и на безопасность, и на скорость, и на удобство работы с движком (меньше шансов запутаться:).
Быстродействие. Определенное время браузер затрачивает на прием информации, еще некоторое время уходит на запрос информации от БД и обработку скриптов, расположенных на сервере. Посетители сайта, как вы знаете, не любят долго ждать.
Легкость установки. На первых этапах важный аспект.
CMS-обзор
Мы рассмотрим нескольких движков: форумных и портальных, платных и бесплатных. На мой взгляд, все они достойны вашего внимания. Впрочем, как и многие другие (IPB, PhpNuke…), которые, однако, не вместились в рамки газетной статьи. Не стану перечислять основные возможности CMS — банальных "совместимость с MySQL/Access/ODBC/PHP/Apache, мультифорумность, поддержка различных языков" и т.п. — то, что можно найти на сайте поддержки конкретной CMS. Я просто поделюсь впечатлениями от работы с движками.
Движок: Xoops
Категория: портал, бесплатный
Объем: 4,1 Мб
Сайты поддержки: www.xoops.org, www.xoops2.ru, www.xoops.ru
Описание: Единственный в обзоре наследник PHP-Nuke. Впрочем, от последнего он отличается кардинально. Разработчики настолько изменили код движка, что в "нюкообразность" верится с трудом. В стандартный комплект Xoops входят модули, аналогичные PHP-Nuke, но они были полностью переписаны. Еще одно отличие от "Нюка" — наличие хорошего инсталлятора с поддержкой русского языка. Движок придется по вкусу тем, кто любит (и умеет) настраивать все самостоятельно, т.к. сразу после установки портал еще не готов к работе: требуется установить и настроить нужные модули. Базовых вполне достаточно, но и сторонние модули найти нетрудно. Хотя Xoops не пользуется особой популярностью в Интернете.
Движок: Subdreamer
Категория: портал, платный
Объем: 2 Мб.
Сайты поддержки: www.subdreamer.com, www.sabdrimer.com.
Описание: Хорошее название для движка. Он действительно неплох, хотя и не пользуется особой поддержкой в Сети. Во всем легок — в этой легкости и заключается его прелесть. На официальном сайте отличительные особенности Subdreamer'а приведены так (с моими комментариями):
— Функциональный WYSIWYG-редактор TinyMCE. Жаль, что, кроме TinyMCE и FCKeditor'а (очень редко встречается!), никакой альтернативы нет. — Интеграция с форумами PHPBB2, VBulletin 2/3, SMF 1 и IPB 2. Только ТАКАЯ интеграция может "аукнуться": если вы удалите какую-то важную таблицу форума в БД, Subdreamer откажется работать.
— Поддержка Friendly URLs. Friendly URLs служит для преобразования ссылок "динамического вида" в "статический". Например,
httр://localhost/index.PHP?categoryid=10 => httр://localhost/downloads.
— Удобный менеджер изображений. Избавляет от необходимости закачивать картинки по ftp-протоколу.
Этот движок как нельзя лучше подойдет для создания приватного сайта. Работа с плагинами, с публикацией материала организована на неплохом уровне. Плагинов к Subdreamer'у написано немало, но, к сожалению, они преимущественно платные. Ну да, движок коммерческий, и рассчитывать на бесплатный "презент" не приходится. Спасибо умельцам с www.sabdrimer.com — они хоть изредка да выкладывают на своем сайте самодельные шаблоны (которые потом входят в официальные skin-pack'и Subdreamer'a).
Движок: Mambo (Mambo Open Source)
Категория: портал, бесплатный
Объем: 6,2 Мб
Сайты поддержки: www.mamboforge.net, www.ru-mambo.ru, www.mamboteam.ru, www.mamboserver.ru
Описание: Признаться, моя давняя любовь. Да и как тут не вызвать симпатии? Вы посудите сами. Mambo — очень функциональная CMS. Дополнений к ней не счесть. Причем делятся они на модули, компоненты и мамботы. Среди мамботов я повстречал одних только WYSIWYG-редакторов около 5 (!). Дизайн портала неплохой (можно судить даже по стандартному оформлению). Причем меняется вид не только сайта, но и админ-части. Коренным образом! Админ- панель — особый разговор. Сделанная на основе JavaScript, выглядит эта CMS эффектно — в виде выпадающих каскадных меню. Однако не всем она покажется удобной. Лично у меня всегда возникали "непонятки" с созданием категорий и размещением статей. Поначалу легко запутаться. К минусам админ-панели отнесем также не всегда нормальное быстродействие. Не все браузеры любят обрабатывать такое количество скриптов и катинок единовременно.
У Mambo есть младшая сестра (или брат) Joomla. Вопреки ошибочным мнениям это не продолжение "Мамбы", а ее ответвление. А Mambo сейчас стремительно развивается и сдавать высокую позицию не намерена. На момент написания статьи была анонсирована версия 4.6, от которой ожидаются многие новшества. Также не так давно у CMS сменилась команда разработчиков. Давайте пожелаем им удачи и успехов. Будем надеяться на новые достижения!
Движок: VBulletin
Категория: форум, платный
Объем (в распакованном виде): 7,5 Мб
Сайты поддержки: www.vbulletin.com, www.vbulletin.com.ru, www.vbulletin.org
Описание: Мощный, функциональный и гибкий в настройке коммерческий движок. Убедиться в этом легко: достаточно открыть админ-панель и "пообщаться" с ней. Настроек такая россыпь, что легко запутаться. Новичкам уж точно не посоветуешь. Модов, хаков и шаблонов тоже хватает, как платных, так и бесплатных (чего стоит один ImpEx!). Правда, устанавливать трудновато. Безопасность на высоте. Из соображений безопасности опытные веб-мастера советуют переходить на VBulletin. Не зря ведь код движка был тщательно проработан и оптимизирован. И пусть VBulletin и объемный (7 Мб), и функциональный, но это не сказывается на его быстродействии. В общем, продукт очень качественный, лучший на сегодняшний день форумный движок. Несомненно, он задает стандарт. Это уже общепризнанный факт.
Движок: PhpBB
Категория: форум, бесплатный
Объем: 2,1 Мб
Сайты поддержки: www.phpbb.com, www.phpbbguru.net, www.myphpbb.com.ru
Описание: Очень знаменитый движок (в Рунете установлен на каждом третьем сайте, если верить статистике). Именно с него рекомендуется начать знакомство с форумами. PhpBB прост в установке и настройке, а также администрировании. Продуманная структура админ-панели, простота настройки, неплохой дизайн — а что еще нужно? Порадовала поддержка дополнений, тех же шаблонов. На сайте www.phpbbstyles.com можно найти более симпатичные, чем первоначальный. Минус движка — его уязвимость, о которой шутят, мол, не проходит и полмесяца, как оглашается очередная уязвимость в его коде. Да, хакеры любят PhpBB... Но, по моему мнению, уязвимость — понятие относительное. Все движки страдают данным недугом в разной степени. Однако, по большому счету, что с того? Если вы регулярно следите за последними обновлениями, изредка посещаете секьюрити-порталы, то проблем с безопасностью не будет.
Движок: SFM
Категория: форум, бесплатный
Объем: 3,3 Мб
Сайты поддержки: www.simplemachines.ru, www.simplemachines.org
Неплохой форум. Кроме бесплатности, радует функциональностью, лаконичностью, понятностью. В настройках уж точно не запутаетесь. А вот установка может сбить с толку: придется редактировать конфигурационный файл /usr/local/PHP/PHP.ini, изменять session.save_path. Первоначальный дизайн мне понравился. По сравнению с vBulletin вполне симпатичный. Вот только найти шаблон покрасивее стало проблемой (к сожалению, поддержка SFM в Сети пока еще слабая). Пришлось вручную изменять стандартный. Код движка понятен для восприятия. Он легко модифицируется и "затачивается" под свои нужды. А еще понравилось, как организована смена шаблонов и смайликов, модов — без лишних заморочек. Рассчитывать на популярность SFM в будущем, думаю, стоит. Хотя свое развитие форум начал относительно недавно, два года назад, сейчас в Интернете он встречается часто. Поддержка, несомненно, возрастет. Это лишь вопрос времени.
Установка CMS-движка на локальном сервере
Большинство CMS, с которыми мне приходилось встречаться, были довольно просты в установке, и все-таки требовали определенной сноровки. Но нет, больших знаний от вас не потребуется. Принцип установки движков одинаков. Прежде всего создайте базу данных (БД). Утилита addmuser (localhost/tools/addmuser/) вам в помощь. После этого скопируйте файлы движка из архива в рабочую папку на сервере (находится по адресу /home/localhost/www/). В браузере запустите мастер установки. Вызывается он через localhost, localhost/install или же иным способом (читайте прилагающийся к CMS readme). Появится этот самый мастер, который предложит заполнить вполне очевидные поля: логин, пароль администратора и БД, — а также указать префикс таблиц. Префикс дописывается к имени каждой таблицы в БД и служит для идентификации. Если у вас не один, а несколько сайтов используют одну базу, то визуально отличить таблицы одного сайта от таблиц другого не составит труда, если используются разные префиксы. Думаю, вам понятно, для чего движку нужна запрашиваемая информация: мастер установки "подхватывает" данные config-файла, затем осуществляет соединение с БД, где создается определенная структура таблиц. На следующем этапе, если ошибок нет, установка заканчивается, и можно приступать к работе с сайтом. Стоит оговориться, что при каждой установке есть свои нюансы. Так, мастер в некоторых случаях не запускается, не найдя конфигурационного файла движка. Данный файл в редких случаях следует переименовать и правильно сконфигурировать. Обычно он расположен в корневой папке или в директориях /includes или /install, а называется вот по такой маске: config*.*. Рассмотрим конфигурацию config-файла на примере CMS PHP-Nuke (www.phpnuke.org) версии 7.3. Релиз старый, но очень хорош в качестве наглядного примера. Открыв config.php в текстовом редакторе, можно найти там следующие строки, касающиеся базы данных:
$dbhost = "localhost" — сервер, на котором размещена БД. Для домашнего сервера это "localhost"
$dbuname = "" — имя пользователя БД
$dbpass = "" — пароль для БД
$dbname = "" — имя БД
$prefix = "nuke" — префикc таблиц БД
$user_prefix = "nuke"; — префикc таблиц пользователя БД
$dbtype = "MySQL"; — тип БД.
PHP-Nuke — на то он и "Нюк", что его установка представляет некоторую сложность. Дело в том, что он не имеет собственного установщика, и для его инсталляции необходимо произвести еще одну операцию — импортировать таблицы БД из файла. Звучит запутанно, но на самом деле все намного проще. Итак, в архиве "Нюка" вы обнаруживаете папку /sql, в которой находится файл nuke.sql. Именно он предназначен для импорта таблиц. Мы прибегнем к помощи утилиты PhpMyAdmin, что вызывается по localhost/tools/phpmyadmin в браузере (не забудьте, что сервер в это время должен работать). Зайдя в интерфейс PhpMyAdmin'а, вы должны выбрать БД в боковой панели (там жирным написано "Please select a database"). Появятся 7 вкладок, но нас интересует вторая — SQL. Под надписью "Location of the textfile:" вы увидите кнопку Choose. Щелкнув на ней, найдите и выберите наш заветный файл nuke.sql, а затем нажмите Go!. Все! После завершения операции импорта таблиц установка будет завершена. Еще один совет. Если по ходу установки движка у вас появятся ошибки (Warning, Notice), характерные для скриптов PHP, впишите в конфликтующий файл хоть сразу после "<?php" строчку "Error_Reporting(E_ALL & ~E_NOTICE)" (без кавычек). Иногда помогает.
Mambo. Хотелось бы упомянуть ее отличный установщик. На первом этапе (проверка системы) мастер сверяет настройки сервера, и то, что ему не нравится, он выделяет красным цветом. Давайте проанализируем таблицу "Рекомендуемые установки". Видим, что "Мамбе" не нравится Magic Quotes GPC OFF и Register Globals ON. Не мешало бы подправить конфигурационный файл PHP (\usr\local\php\php.ini). Открываем его в текстовом редакторе и изменяем register_globals с ON на OFF, а magic_quotes_gpc — с OFF на ON. Перезапускаем виртуальный сервер и начинаем установку Mambo заново. Помогло, не так ли? Хотя на самом деле эта операция возможна только на локальном сервере. Изменять конфигурационные файлы приложений на чужом сервере запрещено:).
***
Установка CMS-движка на домашнем сервере проблем не составит. Ненамного труднее произвести ее в Интернете. Но прежде чем приступать к размещению настоящего сайта, необходимо подыскать для него хостинг, о выборе которого читайте в следующей статье. Удачи вам!
Ссылки в помощь: www.rucms.ru, www.cmsmatrix.org, www.cmsobzor.ru, www.cmslist.ru. На этих сайтах вы сможете получить дополнительную информацию о CMS.
P.S. В предыдущей статье я допустил неточность: Java-скрипты исполняются не на сервере, а на компьютере пользователя. Спасибо читателю DeeGree.
Илья Муравьев, iamm@tut.by
Компьютерная газета. Статья была опубликована в номере 16 за 2006 год в рубрике интернет