Содержание


Популярные CMS

Comments

1. Введение. Положительные стороны Open Source проектов управления контентом

CMS является универсальной системой, на базе которой можно разработать совершенно разные и непохожие друг на друга сайты, но есть некоторые функциональные особенности каждой из приведенных ниже систем. Вокруг каждой CMS существует большое сообщество программистов, занимающееся развитием и усовершенствованием. Сегодня разработка сайтов значительно преуспела в своем развитии именно благодаря Open Source CMS. Open Source системы привлекают своей доступностью, открытостью исходного кода и возможностью внесения изменений, что обеспечивает ей поддержку большого сообщества программистов и стремительное развитие. Для каждой CMS постоянно разрабатываются все новые и новые шаблоны, плагины и модули, которые позволяют быстро решить специфические задачи, выходящие за рамки существующего функционала систем. CMS привлекательны, в первую очередь, простым и понятным интерфейсом администраторской части продукта, большим количеством тем, шаблонов, дополнительных модулей и плагинов, позволяющих за короткие сроки разработать сайт с любой функциональностью без необходимости углубляться глубоко в код. Но для разработки сайтов с уникальным дизайном и функциональностью не обойтись без внесения изменений в PHP код. В процессе редактирования и изменения PHP кода в CMS следует придерживаться устоявшихся правил:

  1. Все имена переменных пишутся в нижнем регистре. Имена переменных, которые состоят из двух слов, разделяются через нижнее подчеркивание (например, $var, $user_name).
  2. Имя переменой должно максимально точно описать ее содержимое.
  3. Классы, функции, которые состоят из двух и более слов, подчиняются правилам "верблюжьей нотации" (например, class OpenCart).
  4. Свойства класса именуются как обычные переменные, а методы - как функции.

2. Настройка сервера для установки CMS

Перед установкой любой CMS необходимо установить PHP, веб-сервер и базу данных. В данной связке чаще всего устанавливаются PHP, Apache, MySQL. Можно воспользоваться и готовым решением, и установить программную оболочку для разработки, например, Denver. В сервере Apache корневой папкой является папка hdocs, и все доступные пользователям страницы должны находится в данной папке. Перед установкой любой CMS необходимо распаковать архив в папку hdocs. Если какую-то страницу поместить за пределы данной папки, то не удастся получить доступ к данной странице через браузер. В директории Apache, в папке logs необходимо создать два файла, error.log и access.log. Файл error.log содержит все сообщения ошибок от сервера Apache. Эти действия нужно выполнить еще до процесса установки. Файл error.log полезен для поиска проблем, которые возникают на сервере.

Ниже рассмотрим пример файла error.log, который содержит сообщения об ошибках сервера (рис.1 ).

Рисунок 1. Файл error.log.
Файл error.log.
Файл error.log.

На рис. 2 файл access.log, в котором указаны данные, которые передаются на сервер методом POST или GET.

Рисунок 2. Фрагмент файла access.log
Фрагмент файла access.log
Фрагмент файла access.log

Системный журнал веб-сервера Apache нужен для диагностики различных сбоев в работе сайта. Настройки необходимо произвести в файле httpd.conf. Заходим в файл Apache httpd.conf и прописываем настройки для каждого сайта, как показано на рис.2.1.

Рисунок 2.1. Создание виртуального хоста
Создание  виртуального хоста
Создание виртуального хоста

VirtualHost привязывает виртуальные хосты к адресу 127.0.0.1 и 80-му порту. Следующим этапом необходимо прописать виртуальные хосты в файле http-vhosts.conf. В данном примере нужно внести запись 127.0.0.1 project1.tld.

3. Обзор популярных CMS. Привлекательные стороны и уязвимости систем.

При выборе CMS необходимо учесть следующие показатели:

  1. Надежность системы. Грамотно ли написан код? Как повлияет на устойчивость системы внесение изменений в код?
  2. Эффективно ли использует код ресурсы сервера? Возможно ли появление ошибок и замедление работы при работе системы?
  3. Легкость и гибкость в расширении новых функций на сайте. Как изменится поведение движка при внедрении изменения на сайте?
  4. Легкость в установке и настройки основных параметров.
  5. Интуитивность работы. Насколько легок процесс администрирования для пользователя?

3.1. Joomla

Joomla занимает первое место по популярности в Рейтинге Рунета. Система соответствует всем приведенным выше показателям. В CMS легко настроить многоязычность, простая и удобная администраторская часть, множество шаблонов и плагинов.

Для установки необходимо извлечь содержимое архива joomla.zip в корневой каталог сайта. Проект сайта должен храниться в папке htdocs сервера Apache. В браузере вводим http://localhost/ и начинаем процесс установки joomla. Перед установкой создаем базу данных MySQL.

Ниже рассмотрим настройку конфигурации сайта, как шаг в процессе установки Joomla (рис. 3). На первом этапе необходимо внести основные настройки нашего сайта, включая язык установки, название сайта, краткое описание, пароль и e-mail администратора. Следующим шагом вносим все параметры уже созданной базы данных.

Рисунок 3. Установка joomla
Установка joomla
Установка joomla

Joomla позволяет расширить исходную комплектацию. Для публикации рекламных баннеров на сайте подключаем компонент Баннеры, настраиваем основные параметры и размеры, а также активируем модуль изображения баннера.

Не менее интересная функция данной системы – сбор статистики. Активировать данную функцию можно в пункте Компоненты → Собирать статистику поиска. В составе исходной комплектации Joomla разработана функция для определения словоформ, которая поможет вам улучшить поиск на сайте и выдаст возможный вариант ответа при ошибке ввода. Алгоритм построен на основе эвристического извлечения корня.

В стандартную комплектацию входят также:

  • модуль, который выводит количество находящихся на сайте пользователей;
  • модуль, который выводит ссылку на новостную ленту;
  • модуль, который выводит ссылки на статьи с наибольшим числом просмотров;
  • модуль, позволяющий выбирать языковую версию сайта;
  • модуль для рассылки RSS-новостей.

Существенным недостатком CMS является достаточно малое количество настроек для SEO, в результате чего Joomla плохо индексируются поисковыми системами. Еще один минус – загрузка страниц с задержкой из-за объемного кода, потому следует оптимизировать настройки и удалить все ненужные модули.

3.2.Drupal

CMS Drupal – отличная система для реализации на сайте форумов, блогов, доски объявлений или новостей, которая занимает второе место по популярности в Рейтинге Рунета. Для установки Drupal на сервер создаем базу данных, распаковываем архив в папку сайта на локальном сервере и запускаем сценарий установки в браузере. Архитектура CMS построена так, систему можно использовать для построения различных типов сайтов, начиная от форумов и блогов и заканчивая крупными информационными порталами и новостными сайтами. Drupal имеет гибкую модульную систему, способную изменять существующие и добавлять новые возможности на сайте. Основной плюс состоит в том, что для любой функциональности можно подобрать на официальном сайте точно реализующий ее модуль. Вывод любой информации можно настроить в широких пределах и привести вид сайта в соответствие с потребностями. На рис. 4 изображены все этапы установки Drupal. В процессе установки необходимо пройти несколько обязательных этапов, которые включают такие важные элементы, как настройка БД, где вносим данные о типе и названии БД, имя и пароль пользователя БД.

Рисунок 4. Установка Drupal.
Установка Drupal.
Установка Drupal.

Основные возможности Drupal:

  1. Поддержка многоязычного контента.
  2. Расширенные возможности создания информационного наполнения. Легкость в изменении типов информационного наполнения.
  3. Большое количество плагинов.
  4. Возможность настроить разные права доступа к компонентам системы.
  5. Поддержка блога, возможность оставлять комментарии и настраивать профиль пользователя.
  6. Реализован поиск по всему содержимому сайта.
  7. Поддержка XML, JSON форматов.
  8. Настройка агрегации информации.
  9. Поддержка RSS.
  10. Распределение контента по категориям.

Данная система характеризуется достаточно большой нагрузкой на базу данных и сложностью в освоении и разработке на первых этапах.

3.3. MODx

Система управления содержимым с открытым программным кодом MODx не уступает по популярности указанным выше CMS и распространяется бесплатно. Перед установкой также необходимо создать базу данных, распаковать файлы на сервере Apache (возможно использовать любой другой сервер, который может интерпретировать PHP, такой как IIS, Lighttpd, nginx и Zeus). В браузере вводим http://localhost/setup и начинаем процесс настройки MODx. На рис. 5 показаны начальные этапы установки MODx. Выбираем опцию Новая установка и указываем права доступа к файлам. В следующем окне указываем тип базы данных, имя, пароль, email пользователя базы данных.

Рисунок 5. Установка MODx.
Установка MODx.
Установка MODx.

Документацию по установке и настройке MODx можно найти на на официальном сайте MODx .

MODx достаточно популярная система, которая успешно выполняет все необходимые функции и работает быстро, но здесь есть и несколько минусов. Администраторская часть сайта достаточно тяжелая, потому обновление страницы происходит медленно. Ешё один минус состоит в том, что мало готовых решений, и шаблон зачастую нужно изменять под конкретный случай.

3.4. WordPress

Система Wordpress привлекательна большим количеством плагинов и графических тем, потому функциональность данной системы ничем не ограничена, что значительно упрощает процесс разработки. К тому же Wordpress имеет легкое и быстрое программное ядро, потому нет никаких задержек в обновлениях страниц. Кроме того, у CMS WordPress нет конретных требований к серверу.

Для запуска Wordpress необходимо перенести файлы Wordpress в папку htdocs на сервере и создать новую базу данных MySQL для данного проекта. Перед установкой настраиваем файл для Apache httpd.conf. После выполнения настроек вводим в строке браузера адрес проекта и через несколько интуитивно понятных шагов настраиваем Wordpress. Первым шагом настраивается wp-config.php, куда вносятся все данные настроек базы данных, имя пользователя, пароли, хост. Если в данном проекте возникла необходимость изменить базу данных или настройки администратора, необходимо внести изменения в wp-config.php путем изменения констант, и перезапустить Aparch.

/** Название базы данных WordPress */
define('DB_NAME', 'project1');

/** Имя пользователя MySQL */
define('DB_USER', 'root');

/** Пароль MySQL */
define('DB_PASSWORD', 'pass');

/** Хост MySQL */
define('DB_HOST', 'localhost');

/** Кодировка СУБД, используемая при создании таблиц. Едва ли Вам потребуется  */
/**это изменять.*/
define('DB_CHARSET', 'utf8');

/** Способ сравнения строк в СУБД. Не меняйте это значение, если сомневаетесь. */
define('DB_COLLATE', '');

Ниже рассмотрим панель управления администратора для настройки сайта на Wordpress (рис. 6).

Рисунок 6. Панель управления с правом доступа администратора.
Панель управления с правом доступа администратора.

Привлекательность CMS Wordpress заключается в следующем:

  1. Простота установки и настройки системы.
  2. Возможность регистрации посетителей сайта.
  3. Поддержка многопользовательского режима, когда каждый пользователь может вести свой собственный блог на сайте.
  4. Возможность для пользователей оставить комментарии.
  5. Легкая оптимизация сайта на Wordpress под поисковые системы.

Wordpress - гибкая и расширяемая система. Официальный сайт Wordpress содержит сотни плагинов, и можно подобрать несколько для конкретной задачи. Правда, иногда бывает так, что плагин не полностью выполняет необходимые вам функции, тогда возможно дописать в PHP коде необходимый функционал. Разработка плагина потребует больше усилий, но удовлетворит все необходимые требования. К недостаткам данной CMS можно отнести необходимость установки большого количества плагинов для того, чтобы добиться нужного функционала, что значительно утяжеляет сайт.

3.5. TYPO3

Данная система отвечает высоким стандартам безопасности. TYPO3 можно установить на сервер Apache, IIS, PostgreSql, Oracle и др. Подключаем базу данных MySQL или любую другую, которая поддерживается TYPO3 (Oracle, Postgres и т.д.). Некоторые базы данных и приложения, расширения и модули TYPO3 требуют больше оперативной памяти.

TYPO3 предлагает два варианта скачивания: архив и typo3winstaller, которые можно скачать по этому или этому адресам.

Как и любая CMS, данная система имеет свои преимущества и недостатки. Система поддерживает:

  1. многоязычность;
  2. возможность использовать шаблоны;
  3. возможность настроить разные права доступа к редактированию материала;
  4. осуществлять регистрацию клиента и разделы на сайте только для зарегистрированных пользователей.
  5. возможность создать галерею изображений;
  6. широкие возможности для работы с изображениями;
  7. возможность работать с несколькими доменными именами в одном администраторском интерфейсе;
  8. большое количество модулей для расширения возможностей на сайте;
  9. разработка блога, форума, чата;
  10. разработка системы e-mail рассылок;
  11. настройка google sitemap.

Недостатком TYPO3 являются сложность настроек. С одной стороны, сайт на TYPO3 можно настроить в администраторской части, не углубляясь в PHP код, но, если необходимо разработать сайт со сложной структурой, не обойтись без программирования, а здесь поджидают свои трудности, так как TYPO3 использует TypoScript. TypoScript – синтаксис для представления информации в иерархической структуре. Все шаблоны разрабатываются на TypoScript, поэтому потребуется время для освоения данного синтаксиса.

3.6. ImageCMS

ImageCMS Corporate завоевала популярности благодаря легкости в построении структуры сайта, быстроте обновления страниц и достаточному количеству готового функционала. ImageCMS Shop также неплохое решение для интернет-магазина, но распространяется только на коммерческой основе.

Для ImageCMS необходимы установленные PHP, MySql, установленные модули json, mbstring, curl, pdo_mysql, mysql, gd.

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

Рисунок 7. Панель управления сайтом.
Панель управления сайтом.
Панель управления сайтом.

ImageCMS Corporate привлекательна следующими функциональными характеристиками:

  • администраторская часть проста и удобна в настройках, высокая скорость выполнения;
  • удобное и простое меню в управлении изображениями, легкость в создании альбомов;
  • простая система регистрации пользователей;
  • настройка многоязычности;
  • для расширения функционала возможность интеграции разработанных модулей;
  • гибкая настройка администратором прав доступа;
  • рассылка писем на почтовые ящики всем зарегистрированным пользователям;
  • подключение модуля Google Analytics;
  • возможность настройки карты сайта.

На сайте доступны как бесплатные модули и шаблоны, так и коммерческие предложения компании.

4.Лучшие системы администрирования сайта для интернет-магазина.

Любая CMS для интернет-магазинов должна соответствовать требованию номер один для функционирования сайта – надежность и работоспособность при большом количестве покупателей и с огромной базой товаров. Ниже приведены наиболее популярные и надежные системы для разработки интернет-магазинов с большой нагрузкой. Для увеличения производительности интернет-магазина необходимо тщательно подойти к анализу и оптимизации модулей, так как часто бывает, что проблемы с производительностью возникают в связи с подключением неоптимальных для данного функционала модулей, которые значительно утяжеляют систему. Для ускорения работы интернет-магазина лучше перейти с веб-сервера Apache на nginx. Возможен и вариант совместного использования nginx и Apache. Для интернет-магазинов важным условием является проведение тестирования. Особенно важно провести тестирование производительности и нагрузочное тестирование, которое выявит все слабые стороны сайта.

Magento

Magento - один из самых популярных Open Source сервисов для интернет-магазинов. Данная система соответствует всем требованиям CMS для сайтов электронной коммерции:

  1. высокая работоспособность в условиях большого количества покупателей;
  2. возможность распределения товаров по категориям и создания сложной структурной иерархии товаров;
  3. размещение большого числа товаров;
  4. мультиязычность;
  5. возможность разработать целую сеть магазинов на одной платформе;
  6. простой и понятный интерфейс.

Доступно большое количество тем и модулей, что значительно упрощает процесс разработки. Темы можно подобрать на этом и этом сайтах.

Ниже приведена панель управления администратора, где можно выполнить настройки сайта (рис.8). На рисунках 9 и 10 показаны пункты, содержащиеся на вкладках Catalog и Reports.

Рисунок 8. Панель управления Magento.
Панель управления Magento.
Панель управления Magento.
Рисунок 9. Вкладка «Catalog», где можно вносить изменения в продукцию магазина.
Вкладка «Catalog», где можно вносить  изменения в продукцию магазина.
Рисунок 10. Вкладка, которая содержит подпункты отчетов.
Вкладка, которая содержит подпункты отчетов.

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

Необходимо отметить, что Magento по умолчанию хранит кэшированные данные в папке var/cache. Однако использование в качестве кэша файловой системы не является оптимальным, и значительно ускорить производительность, если настроить специальную систему кеширования APC, Zend Server, Memcached или XCache.

PrestaShop

PrestaShop - одна из молодых и бесплатных систем с открытым исходным кодом. Настройка PrestaShop основана на настройках тем и модулей. При установке PrestaShop необходимо наличие PHP, MySQL и веб-сервера. Ниже рассмотрена панель управления, которая позволяет настраивать информацию о заказах, доставке и каталог всей продукции; установка модулей и настройка доступа администратора (рис. 11).

Рисунок 11. Панель управления PrestaShop
Панель управления PrestaShop
Панель управления PrestaShop

Важным этапом в настройке интернет-магазина служит настройка резервного копирования данных.

Основные преимущества PrestaShop:

  1. Широкий функционал. В систему интегрирована система оплаты, работа с платежами и заказами.
  2. Интуитивно легкая в установке CMS.
  3. Дополнительные шаблоны и модули.
  4. Опция «отчеты о продажах».
  5. Поддержка нескольких языков и валют.
  6. Шифрование данных.
  7. Поддержка RSS.
  8. Визуальный редактор.
  9. Возможность сгруппировать товары по категориям.

Среди пользователей бытует мнение, что при сильной нагрузке сайта PrestaShop уступает другим движкам для интернет-магазинов. Для того чтобы увеличить скорость генерации страниц PrestaShop, нужно следовать нескольким правилам. Для оптимизации данного критерия необходимо зайти в раздел Настройки ->Производительность. Следует использовать специальное кэширование APC, Zend Server, Memcached или XCache, что значительно снизит нагрузку и увеличит скорость генерации страниц.

Чтобы улучшить производительность, все лишние языки, валюты, страны и модули необходимо удалить. Если магазин очень большой, следует отключить и статистику на сайте, оптимизировать размер всей графики.

OpenCart

OpenCart – система с визуально привлекательным интерфейсом, высокой безопасностью и надежностью. Если настройка хостинга соответствует требованиям, то установка данного движка не вызовет проблем.

На рис. 12 показана панель управления и вкладка Каталог с возможность внести изменения в товары интернет-магазина.

Рисунок 12. Вкладка «Каталог» для наполнения интернет-магазина товарами.
Вкладка «Каталог»   для наполнения интернет магазина  товарами.
Вкладка «Каталог» для наполнения интернет магазина товарами.

Можно отметить ряд преимуществ данной системы:

  1. Легкость в установке, высокая скорость работы.
  2. Высокая скорость работы сайта на данном движке.
  3. Поддержка нескольких платежных систем.
  4. Возможность создания разделов и категорий для товаров.
  5. Возможность установить статистику продаж.
  6. Модули для расчета налогов.
  7. Много модулей, которые расширяют функциональность.
  8. Настройка разных валют.
  9. Сохранение пользовательской истории покупок.
  10. Поддержка Google Analytics.
  11. Модуль для настройки скидок на конкретный товар.
  12. Быстрая, без задержек, загрузка страниц.
  13. Легкая оптимизация сайта на OpenCart под поисковые системы.
  14. В стандартную комплектацию входит настройка методов оплаты товара «Банковский перевод», «Оплата при доставке», «Cheque», «Free Checkout», «LIQPAY».
  15. Мультиязычность.

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

osCommerce

osCommerce является бесплатной системой с открытым исходным кодом, работающей под управлением сервера Apache, в качестве базы данных используется MySQL, язык программирования – PHP.

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

Рисунок 13. Панель настройки сайта в администраторской части osCommerce.
Панель настройки сайта в администраторской части osCommerce.
Панель настройки сайта в администраторской части osCommerce.

У данной системы есть и свои преимущества:

  1. много разработанных плагинов и расширений;
  2. многоязычность;
  3. возможность оставить свой отзыв на сайте;
  4. возможность рассылки уведомлений о появлении новых товаров;
  5. настройка модулей платежных систем;
  6. настройка разделов и категорий;
  7. подсчет налога на товар.

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

Заключение

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


Ресурсы для скачивания


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=970237
ArticleTitle=Популярные CMS
publish-date=04302014