Интернет. CMS. Joomla

CMS - Content Management System. На русский это словосочетание переводится как "Система управления содержимым (контентом)". Физикам, не путать с Компактным Мюонным Соленоидом из Большого Адронного Коллайдера, это статья по другой части. Мы познакомимся с этими системами, узнаем, как они работают, для чего нужны, а в дальнейшем начнем их подробное изучение. Сегодня наш гость - Joomla - наиболее популярная бесплатная система управления контентом.


СMS - что это?

Прежде, чем разобраться, что такое CMS, давайте представим себе сайт-визитку некого предприятия. Сайты-визитки - это небольшие сайты, состоящие из нескольких страниц, на которых предоставляется вся основная информация о коммерческой (или некоммерческой) организации (услуги, цены, товары, клиенты, контакты и т.д.). Существуют также промосайты - сайты-визитки, состоящие из одной или двух страниц или же созданные на технологии Flash. В общем-то, и на тех, и других информация обновляется или появляется очень редко. Они создаются раз и навсегда, и лишь иногда веб-мастер может поменять или добавить необходимые данные. А теперь давайте подумаем, нужна ли такому сайту система, которая помогала бы контролировать весь контент и все содержимое сайта? Безусловно, нет. Для таких сайтов нам не нужна база данных, не нужна система, которая бы контролировала все содержимое сайта, т.к. само содержимое со временем не меняется. Такие сайты создаются с использованием только HTML, CSS и некоторых других технологий. Сама же информация хранится не в базе данных, а непосредственно в самих документах (страничках) html. Поэтому при необходимости добавления новой информации на сайт редактируется сам документ. Следует, однако, заметить, что так поступают в большинстве случаев. Встречаются сайты-визитки, построенные на CMS, и это никак не мешает их функциональности, напротив, расширяет ее и делает возможность редактирования информации более доступной для заказчика сайта, т.е. без помощи квалифицированного веб-мастера. Другими словами, CMS - это система, позволяющая качественно организовывать все содержимое сайта; предоставляющая владельцу удобные и гибкие инструменты для добавления, редактирования, форматирования и публикации контента, автоматизируя размещение информации в базах данных, и формирования конечного html-документа.

Подробнее остановимся на общих принципах работы CMS. Центральной частью, корнем всей CMS является реляционная база данных (РБД). Слово "реляционная" происходит от англ. relation (отношение). Сам термин "реляционный" говорит нам о том, что модель построения БД основана на математических отношениях или, по-другому, таблицах. В нашем случае таблицы представляют собой двумерные массивы, каждый из которых обладает рядом свойств. Например, одинаковые строки в таблице присутствовать не могут, каждая строка имеет уникальное имя, каждый элемент таблицы - это один элемент данных и другие. Вообще, сейчас нам это не нужно, но для общего развития пригодится. Так вот, любая CMS записывает всю информацию в базу данных, формируя таблицы данных, состоящих из большого количества элементов. В любой момент система может обратиться к любой ячейке, получить необходимую информацию или записать ее. Существуют таблицы, которые хранят внутренние настройки CMS, экаунты всех пользователей, содержимое веб-страниц, логины, пароли и т.д.

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

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


Знакомство с тётей Джумлой

Сегодня мы в общих чертах познакомимся с невероятно популярной системой управления контентом - Joomla. Свою популярность она снискала совершенно заслужено, и вот почему. Первая версия джумлы появилась в 2005 году как ответвление другой популярной в свое время CMS - Mamboo. Система сразу стала очень известной, т.к. предлагала то же, что и любимая Mambo, но, по сути, представляла собой доведенную до ума предшественницу. Как следствие, Joomla унаследовала все самое лучшее от своего родителя, при этом обзавелась рядом индивидуальных качеств, свежих дизайнерских решений, дополнений и модификаций. Пользователи получили простую в использовании, надежную, современную и, самое главное, совершенно бесплатную CMS. На момент написания последняя стабильная версия - это 1.5.20. Кстати, уже достаточно давно доступна бета 1.6 версии. Скачать актуальную версию можно в любое время с официального сайта - www.joomla.org, либо же сразу русскую версию - www.joomlaportal.ru. В любом случае, какую бы вы сборку не скачали, русскую или английскую, научить "Джумлу" говорить на любом другом языке очень легко. Достаточно просто скачать необходимый языковой пакет, и можно создавать сайты хоть для корейцев. На данный момент пользователям доступно около 50 языков! Стандартная сборка Joomla позволяет создавать полноценные информационные порталы и предоставляет удобную административную панель, набор стандартных шаблонов, несколько компонентов, модулей и плагинов. Для начала этого вполне хватит. Справедливости ради стоит отметить, что основная прелесть Joomla состоит в том, что ее функциональность легко расширяется при помощи сторонних компонентов, модулей плагинов или шаблонов, общее количество которых уже, наверное, не поддается исчислению. Существуют также сборки джумлы с уже предустановленными компонентами, но на них мы останавливаться не будем, а установим и настроим все сами. Но это в будущем. Для начала разберемся со стандартной Joomla.

Как и у любой CMS, у Joomla существует ряд требований к серверу для успешного функционирования. А минимальные требования следующие:

  • Apache 1.3
  • PHP 4.3.10
  • MySQL 3.23 (кроме шестых версий)

Т.к. мы еще только изучаем CMS, услуги предоставления серверов хостинг-провайдерами нам пока не понадобятся. Гораздо удобнее изучать и разрабатывать сайты на локальном сервере. Заслуженной популярностью в СНГ пользуется Джентльменский Набор web-разработчика - Denwer. Он включает в себя набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программную оболочку. В общем, все то, что необходимо нам для работы с "Джумлой" в офлайне. Скачиваем последнюю версию сборки с www.denwer.ru. Там же можете узнать подробности относительно сборки, найти ответы на интересующие вопросы или задать вопрос самому на форуме. На "Денвере" мы будем знакомиться не только с "Джумлой", но и со всеми последующими CMS'ками.

Ну что же, давайте установим "Денвер" и перейдем непосредственно к знакомству с Joomla. Запускаем скачанный exe'шник. После недлительной распаковки ресурсов запустится Internet Explorer. Читаете сообщение и закрываете браузер. Обратите внимание, что установка происходит из-под командной строки, поэтому все пути установки придется прописывать вручную. В новой версии разработчики обещают сделать удобный установщик с графической оболочкой, ну а пока довольствуемся тем, что есть. Итак, выбираем путь, куда мы будем ставить наш "Денвер". А ставить его можно как на жесткий диск, так и на съемный флэш-накопитель.

Подтверждаем выбор и далее следуем командам. Ничего сложного. Единственное, что стоит отметить, после распаковки всех файлов установщик предложит на выбор два варианта создания загрузочного диска: либо диск создается при старте системы, либо же он создается при запуске "Денвера". Несмотря на то, что разработчики рекомендуют первый вариант, я бы посоветовал второй, т.к. лишний виртуальный диск попросту не нужен тогда, когда вы не работаете с "Денвером". После установки снова запустится IE. Закрываем браузер и находим ярлык на рабочем столе (или exe'шник в папке с "Денвером") Start(Run). Кстати, важное замечание, перед запуском приостановите работу антивируса, т.к. иногда он может блокировать доступ к изменению файла hosts. После запуска возвращайте защиту в рабочее положение. Все, мы установили "Денвер".

Теперь приступаем к установке Joomla. Для начала нужно создать новую базу данных. Открываем браузер и переходим на http://localhost. Если "Денвер" запустился без происшествий, то вы увидите страницу "Ура, заработало!". Прокручиваем ее вниз и находим там "Заведение новых БД и пользователей MySQL". Заполнять все поля необязательно, т.к. мы используем БД лишь для разработки, поэтому вводим только название, логин введется автоматически. Пароль тоже придумывать не надо, это лишь увеличит время установки. Нам скрывать нечего, поэтому жмем "Создать БД и пользователя". Теперь открываем папку с "Денвером" и заходим в каталог home. Создадим там новую папку, причем имя папки будет совпадать с адресом, который мы будем вводить в строке браузера. Я назвал папку Joomla-test. В новой папке создаем еще одну папку с именем www. Вот теперь уже в эту папку копируем все файлы скачанной Joomla. Перезапускаем Denwer (Restart на рабочем столе) и в строке браузера вводим название первой созданной папки, в моем случае это Joomla-test. Откроется страничка с инсталлятором Joomla. Нажимаем "Далее" до шага 4. Тут остановимся поподробнее. В поле "Название хоста" вводим localhost, а в "Имя пользователя" вводим root, пароль оставляем пустым, в "Имя БД", естественно, вводим имя созданной ранее БД.

Шаг пятый оставляем как есть, жмем "Далее". Теперь нам необходимо придумать название сайта и пароль администратора. Также не забудьте установить демо-данные. На начальном этапе они нам пригодятся. Заключительный шаг - удаляем в нашем каталоге с Joomla папку installation и перезагружаем страницу. Перед вами появится главная страница Joomla, с различной ознакомительной информацией. Поздравляю, вы установили Joomla на локальном хосте. Главную страницу вы изучите самостоятельно, но этого можно и не делать. Ничего интересного вы там все равно не найдете. Сейчас нас интересует администраторская панель. В строке ввода адреса вводим после вашего названия /administrator, вводим логин - admin, пароль - введенный при установке. Если все правильно, то вы увидите главную страницу админки. Ее нам и предстоит изучить.


Администраторская панель

Как я уже говорил, сегодня мы будем знакомиться с "Джумлой" лишь в общих чертах, поэтому подробно останавливаться ни на чем не буду. Давайте рассмотрим администраторский раздел и узнаем, где что находится и за что отвечает. Первое, что бросается в глаза на главной странице админки, это меню, состоящее из иконок. Сюда они вынесены как наиболее часто используемые. Сверху видим еще одну панель меню, вот она нам и нужна. Именно через нее мы и будем работать. Давайте рассмотрим каждый пункт этого меню и узнаем, что за что отвечает. Через ссылку "Сайт" мы можем попасть на страницу конфигурации основного сайта, самой системы и сервера. "Все меню" - переход к менеджеру меню, а также непосредственно к уже созданным меню. Здесь мы можем создать новую панель навигации для нашего сайта либо изменить уже существующую. "Материалы" собрали в себе все инструменты, менеджеры разделов и категорий для работы с основным содержанием сайта. Через него мы будем добавлять, изменять и публиковать новые статьи, новости, заметки и т.д.. "Компоненты" - доступ к любому установленному на Joomla компоненту. "Расширения" - очень важный элемент меню. Наверное, с ним мы будем работать чаще всего. Тут видим ссылки на страницы установки и удаления новых компонентов, модулей, плагинов. Кроме того, здесь собрались менеджеры плагинов, модулей, языков и шаблонов. "Инструментами" мы будем пользоваться довольно редко, т.к. те инструменты, которые сюда собраны, предназначены, скорее, уже для работающего сайта, хотя я ими и на уже работающем сайте пользуюсь крайне редко. "Помощь" в представлении не нуждается, все стандартно - простые ссылки на сайты техподдержки и информация о текущей версии системы.

Вывод. На этом пока остановимся. Сегодня мы познакомились с CMS, узнали, что это такое, для чего они нужны и как работают. Кроме того, мы поставили пакет необходимых дистрибутивов - Denwer, установили на него Joomla и начали с ней знакомство в общих чертах. В будущем изучим Joomla детально, научимся создавать полноценные сайты, расширять функционал Joomla, создавать собственные шаблоны, плагины и возможно компоненты. Если у вас возникнут вопросы, пишите мне на [email protected].

Александр БОРСУК,
[email protected],
SASecurity gr.

Версия для печатиВерсия для печати

Номер: 

05 за 2011 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя Игорь
Вот ссылка на обучающие материалы по Joomla - www.evgeniypopov.com
Аватар пользователя mike
Не, парни. Друпал луДше. Дать ссылку на видеоуроки?
Аватар пользователя Инкогнито
Друпал - дыряв. Хотя в 7-ке, может, исправились.
Аватар пользователя ЫнкогнитА
Кто дыряв? Твою жумлу через ваши модули ломают все кому не лень, а апофоизом этого безумства являются черви, которые распространяются от сайта к сайту и заражают ВСЕ php файлы своим телом в BASE64 зашифрованным. Так что не надо ля-ля. Жумла - система школоло и втюхивателей, которые тырят чужие шаблоны, изменяют и называют это веб-разработками. За такие сайты - вас анально карать давно надо.
Аватар пользователя Инкогнито
Можно подумать, две CMS осталось, чтобы только о них говорить.
Аватар пользователя Анонимус, который против друпала
Я где-нибудь утверждал, что Джумла лучше Друпала?
Аватар пользователя Б/у
Джумла, действительно дырявая и для серьезных проектов не годится. Проверено многократно, в том числе и моим личным опытом. Все что сделано на ней серьезного - переписано вчистую.

Друпал - из той же серии. Знаю много серьезных проектов, где программисты ночами не спят из за разных "косяков" кода.

Ищите рабочий движок, если хотите создать нормальный проект. Но а статью почитать, оно, конечно, познавательно.

Аватар пользователя Б/у
И вторая ошибка: использовать для тестирования проекта виртуальный веб-сервер "Денвер" не стоит. Потому как сайт будет работать не на "Денвере", а на сервере, где могут быть иные настройки.

Юзание "Денвера" для тестирования может привестои к переустановке сайта. Поэтому, создавайте поддомены и тестируйте обновления, фичи и свои модули в онлайне, а не на "Денвере".

Аватар пользователя ЫнкогнитА
А что кто-то Денвер еще юзает в этом мире?