Интернет. 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, создавать собственные шаблоны, плагины и, возможно, компоненты. Если у вас возникнут вопросы, пишите мне на info@sa-sec.org.

Александр Борсук SASecurity gr.


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

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