Популярні CMS

  1. 1. Введення. Позитивні сторони Open Source проектів управління контентом CMS є універсальною системою,...
  2. Малюнок 1. Файл error.log.
  3. Малюнок 2. Фрагмент файлу access.log
  4. Малюнок 2.1. Створення віртуального хоста
  5. 3. Огляд популярних CMS. Привабливі сторони і уразливості систем.
  6. 3.1. Joomla
  7. Малюнок 3. Установка joomla
  8. 3.2.Drupal
  9. Малюнок 4. Установка Drupal.
  10. 3.3. MODx
  11. Малюнок 5. Установка MODx.
  12. 3.4. WordPress
  13. Малюнок 6. Панель управління з правом доступу адміністратора.
  14. 3.5. TYPO3
  15. 3.6. ImageCMS
  16. Малюнок 7. Панель управління сайтом.
  17. 4.Лучшіе системи адміністрування сайту для інтернет-магазину.
  18. Magento
  19. Малюнок 8. Панель управління Magento.
  20. PrestaShop
  21. Малюнок 11. Панель управління PrestaShop
  22. OpenCart
  23. Малюнок 12. Вкладка «Каталог» для наповнення інтернет-магазину товарами.
  24. osCommerce
  25. Малюнок 13. Панель настройки сайту в адміністративній частині osCommerce.
  26. Висновок
  27. Ресурси для скачування

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.

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

Малюнок 2. Фрагмент файлу 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 розроблена функція для визначення словоформ, яка допоможе вам поліпшити пошук на сайті і видасть можливий варіант відповіді при помилку введення. Алгоритм побудований на основі евристичного вилучення кореня.

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

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

Істотним недоліком CMS є досить мала кількість налаштувань для SEO, в результаті чого Joomla погано індексуються пошуковими системами. Ще один мінус - завантаження сторінок із затримкою через об'ємного коду, тому слід оптимізувати настройки і видалити всі непотрібні модулі.

3.2.Drupal

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

Малюнок 4. Установка 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 досить популярна система, яка успішно виконує всі необхідні функції і працює швидко, але тут є і кілька мінусів. Адміністраторська частина сайту досить важка, тому оновлення сторінки відбувається повільно. Еше один мінус полягає в тому, що мало готових рішень, і шаблон найчастіше потрібно змінювати під конкретний випадок.

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.
Малюнок 9. Вкладка «Catalog», де можна вносити зміни в продукцію магазину.
Малюнок 10. Вкладка, яка містить підпункти звітів.

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

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

PrestaShop

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

Малюнок 11. Панель управління 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.

У даної системи є і свої переваги:

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

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

Висновок

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

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

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Грамотно чи написаний код?
Як вплине на стійкість системи внесення змін в код?
Чи ефективно використовує код ресурси сервера?
Чи можлива поява помилок і уповільнення роботи при роботі системи?
Як зміниться поведінка движка при впровадженні зміни на сайті?
Наскільки легкий процес адміністрування для користувача?