» Статьи » Как создать сайт на Joomla

Как создать сайт на Joomla

Joomla — это вторая по популярности в мире система управления контентом с открытым исходным кодом. С одной стороны, новички, увидев интерфейс админ-панели и сравнив сложность настройки с другими открытыми движками, часто перенаправляют своё внимание на более простую и дружелюбную CMS WordPress. С другой стороны, опытные вебмастера, которые разобрались с Joomla, уже никогда не переходят на другие движки.

Читайте также: Обзор Joomla

Joomla активно развивается сообществом, регулярно обновляется. Из коробки этот движок умеет работать с несколькими типами баз данных (Microsoft SQL Server, MySQL/MariaDB и PostgreSQL), совместим со всеми популярными web-серверами (Nginx, Apache и Microsoft IIS). В официальном каталоге представлено огромное количество дополнений (в том числе для e-commerce), интерфейс переведён на множество языков, включая русский. Ядро CMS спроектировано так, чтобы сайт мог работать при высоких нагрузках. Отказ одного из модулей не приводит к полному краху системы, как например, в том же WordPress.

Но так ли просто создать свой первый сайт на Joomla? Давайте разберёмся детально – по шагам.

Общий алгоритм, который мы подробно разберём ниже:

Шаг 0. Бэкапы и тестовая среда

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

По такому принципу работают все профессиональные команды и коммерческие сервисы. Тестовый и «боевой» серверы можно держать на одном хостинге, а можно создать локальную версию сайта, если вы будете работать с сайтом в одиночку.

Чтобы при переносе базы данных и внесённых правок не получить новых проблем, сразу стоит подумать о соответствии имён тестового и рабочего сайтов. Если вы выбрали разные имена или забыли про нюансы работы сайтов с HTTP и HTTPS-протоколами (а это фактически разные версии сайтов), изучите наш материал по переносу сайтов с одного домена на другой.

Если имена и протоколы полностью совпадают, тогда перенос проекта с тестового на рабочий можно осуществить по этой инструкции.

В качестве тестовых сред стоит рассмотреть:

  • виртуальные машины/серверы (можно организовать с помощью Virtual Box и аналогов);
  • локальные сервера (наиболее популярное программное обеспечение для реализации – Open Server, но есть и другие альтернативы, набор ПО может зависеть от вашей операционной системы);
  • другой хостинг (для правильной работы потребуется альтернативный домен и запрет индексации, что усложняет процесс переноса изменений).

Небольшой пример, как перенести сайт на Joomla из Open Server на реальный хостинг, если доменное имя полностью совпадает:

  1. Архивируются все файлы сайта на локальном сервере (в папке проекта на Open Server).
  2. Открывается интерфейс PhpMyAdmin в Open Server и экспортируется база данных сайта. Желательно сразу в сжатом виде, чтобы снизить риски долгой загрузки на реальном хостинге.
  3. Архив с файлами загружается на реальный сервер в новый каталог проекта и распаковывается там (через SSH-консоль или с помощью онлайн файлового менеджера в хостинг-панели).
  4. Открывается интерфейс PhpMyAdmin на хостинге и импортируется база данных сайта.
  5. Редактируется файл configuration.php в корне сайта. Вас интересуют параметры, отвечающие за подключение к базе данных:
    1. $mosConfig_user = ‘здесь нужно указать правильный логин пользователя БД’;
    2. $mosConfig_password = ‘тут вводится актуальный пароль для доступа к БД’;
    3. $mosConfig_db = ‘текущее имя БД на хостинге’;
    4. $mosConfig_absolute_path = ‘абсолютный_путь_к_каталогу на сервере’;
  6. Вместо редактирования конфигурационного файла можно скопировать каталог installation из оригинального дистрибутива движка и заново запустить процедуру установки по адресу «ваш-сайт.ру/installation/index.php». Не забудьте потом удалить этот каталог.

Бэкапы. Владельцы сайтов по-прежнему делятся на тех, кто их «уже делает» и «ещё не делает». Переходите сразу в первую категорию. Необходимо иметь как минимум 2 разные версии резервных копий файлов сайта и базы данных. Храниться они должны в разных местах. Ни в коем случае не стоит хранить бэкапы у своего же хостинг-провайдера. При выходе из строя его серверов, при отключении его от интернета или при других технических проблемах вы не сможете получить доступ к своим данным. А значит, сайт не будет работать всё это время.

Очень важный нюанс – периодически пробуйте восстанавливать сайт из резервных копий, чтобы убедиться в их работоспособности.

Шаг 1. Выбор доменного имени для сайта

Многие хостеры предлагают возможность использования бесплатных поддоменов (доменов 3 уровня, вида «ваш-сайт.домен-хостера.com»). Такой вариант подходит только для некоммерческих и фан-проектов. Отсутствие собственного домена второго уровня отрицательно сказывается на узнаваемости сайта, а также на его SEO-показателях.

Если вы делаете сайт для людей (СДЛ), то сразу регистрируйте свой домен. Учитывайте географию. Логично, что если ваша основная аудитория – это жители РФ, то и домен стоит зарегистрировать в национальной зоне RU или РФ.

С особой осторожностью подходите к кириллическим доменам. Они требуют конвертации при указании имени в каких-либо конфигурационных файлах, а также могут вызывать проблемы совместимости с различными web-сервисами и скриптами.

Если не хотите сложностей с переносом домена между аккаунтами, регистрируйте домен сразу у официального регистратора. Полный список компаний, наделённых такими полномочиями в зонах RU и РФ, можно найти на сайте Координационного центра RU/РФ-доменов.

В определённых ситуациях регистрация доменов может быть дешевле через партнёров (например, более выгодные цены благодаря оптовой регистрации или автоматическая настройка NS-записей и т.п.). В качестве таких партнёров могут выступать и хостинг-провайдеры, но здесь стоит оценить все возможные риски, ведь фактически ваш домен будет управляться третьим лицом.

Чтобы ваше доменное имя соотносилось с конкретным сервером в сети (с оборудованием хостера), необходимо правильно настроить ресурсные записи. Параметры настройки будут зависеть от выбранного хостинга.

Например, если вы выбрали HostGator, то NS-записи могут иметь вид:

  • ns1345.hostgator.com
  • ns2345.hostgator.com

Обратите внимание, NS-записи будут у каждого свои. Узнать их можно в хостинг панели в разделе с параметрами конкретного тарифа (если у вас несколько активных услуг).

Для других хостеров будут свои настройки.

Шаг 2. Подбор хостинга

CMS Joomla требует определённой конфигурации серверов. В качестве искомых параметров следует рассматривать поддержку PHP версии 7.2.5 и выше (лучше всего сразу 8.0, которая является рекомендуемой для всей 4 ветки Joomla), популярных реляционных СУБД (желательно MySQL 5.6+/MariaDB, но, как мы сказали выше, Joomla работает с несколькими вариантами серверов баз данных), web-серверов (как минимум Apache 2.4+, но лучше связку Apache2+Nginx, где Nginx работает в качестве фронтэнда). У Apache2 потребуется наличие модуля mod_rewrite, если вам нужны «красивые» URL-адреса.

Под это описание попадает более 90% всех хостингов. Чтобы сэкономить время на поиске, можно воспользоваться нашей рекомендацией – HostGator. Это крупный зарубежный провайдер с безлимитными тарифами, высоким рейтингом и хорошей доступностью серверов. CMS Joomla можно установить в один клик из панели управления хостинга. Тарифы – от 2,75 $/месяц.

Стоимость хостинга Hostgator

Смущает отсутствие русскоязычной техподдержки или по иным причинам не подходит HostGator? Можете попробовать любой другой хостинг, чьи технические характеристики соответствуют минимальным, обозначенным для движка Joomla здесь. Обратите особое внимание на наличие автоматической установки SSL/TLS-сертификатов (нужны для поддержки защищённого HTTPS-протокола). Без них современный сайт работать нормально уже не может.

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

Поэтому, если у вас планируется крупный проект с нестандартным функционалом и нетипичным набором ПО, то сразу следует сделать ставку на VPS или выделенные сервера. Joomla может работать и в облачной инфраструктуре, но здесь стоит помнить о возможных технических проблемах (в их числе поддержка кириллических доменов).

Всегда можно рассмотреть альтернативные варианты, например, покупку статичного IP у своего провайдера и запуск web-сервера на своём ПК. Но осилить настройку смогут единицы, не говоря уже об организации широкого канала доступа и резервного питания. Свой сервер на балконе – мечта гиков.

Шаг 3. Создание сайта в панели управления

Многие хостинг-провайдеры предлагают панели управления с современным web-интерфейсом, даже если вы выбираете виртуальные или выделенные сервера. Кто-то использует широко распространённые панели, такие как cPanel или Plesk, но где-то можно столкнуться с нестандартными интерфейсами.

cPanel

Не хотите сюрпризов? Уточняйте этот момент до оплаты услуг хостинга.

Алгоритм создания нового сайта во многом унифицирован:

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

Некоторые панели управления обязательно проверяют действующую привязку домена к серверам хостинга. Если DNS-сервера ещё не обновились, следует выждать до 1-3 суток. Если вы забыли направить свой домен на DNS хостера, обязательно сделайте это.

Важный технический нюанс для кириллических доменов: при вводе имени сайта нужно предварительно конвертировать его в Punycode (для этого можно использовать специальные онлайн-сервисы, а можно просто ввести адрес в адресной строке своего браузера, кроме Яндекс.Браузера, и скопировать его в любой текстовый редактор).

Punycode-конвертер

Например, «мой-сайт.рф» будет выглядеть как «http://xn—8sbzclmxk.xn--p1ai/».

В некоторых хостинг-панелях могут предоставляться специальные интерфейсы для создания сайта в «один клик» (автоустановщики). Вам нужно будет только указать домен, выбрать CMS, ввести логин, пароль и почту администратора, указать язык интерфейса, все остальные настройки будут выполнены автоматически. Иногда встречаются даже инструменты по переносу работающих сайтов (на определённых шагах потребуется загрузить бэкап файлов и базы данных).

Мы рассмотрим универсальный вариант с раздельной настройкой БД и ручной загрузкой файлов (на случай, если у хостера нет скрипта автоустановщика).

Шаг 4. Создание базы данных

В хостинг-панели может быть вынесен специальный мастер по созданию и управлению базами данных, а может размещаться ссылка на специальный сервис, например, phpMyAdmin.

PhpMyAdmin

В общих чертах алгоритм создания новой базы данных (БД) для вашего сайта на Joomla сводится к следующим действиям:

  1. Нужно запустить специальный скрипт (например, кнопка «Мастер баз данных MySQL» в cPanel или просто кнопка «Базы данных MySQL», ссылка на phpMyAdmin и т.п.).
  2. Указать имя новой БД (для ввода может быть доступен только префикс, который будет сочетаться с вашим логином, параметр зависит от хостинга и панели управления).
  3. Создать нового пользователя БД и сгенерировать для него надёжный пароль.
  4. Выдать пользователю необходимые привилегии для доступа к БД (может быть организовано отдельным шагом мастера, вынесено специальной опцией в настройках при создании БД и т.п.).

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

Шаг 5. Скачивание/распаковка файлов движка

Обратите внимание, из-за того, что в качестве официального хранилища файлов движка и расширений к нему выступает инфраструктура Amazon, блокируемая на территории РФ, вы можете столкнуться с тем, что ссылки на скачивание работать не будут. Для исправления этой ситуации следует воспользоваться прокси-сервисом или VPN (наш рейтинг лучших VPN для ПК).

Перейдите на официальную страницу загрузки движка — https://downloads.joomla.org/ru/cms и выберите последнюю актуальную версию.

Скачайте архив на свой ПК. Лучше всего предварительно уточнить технические возможности хостинга (какие форматы архивов он поддерживает).

В большинстве случаев наиболее удобный формат – .zip

Скачанный файл будет называться, например, Joomla_4-2-6-Stable-Full_Package.zip

Теперь необходимо загрузить файлы в соответствующий каталог на сервере.

Чтобы это сделать, можно воспользоваться онлайн-файловым менеджером (запускается из хостинг-панели, имеет определённые ограничения при работе с файлами, но для простых задач более чем приемлем), FTP или SFTP-клиентом (подходят такие популярные программы, как FileZilla или WinSCP, их нужно предварительно скачать и установить на свой ПК, подключаться следует с логином и паролем FTP-пользователя).

Общий алгоритм:

  1. Перейти в нужный каталог сервера (тот, который был связан с новым доменом при его создании).
  2. При наличии посторонних файлов и каталогов – удалить их.
  3. Загрузить zip-файл.
  4. Выделить архив и выбрать пункт распаковки (при FTP-подключении недоступно).

Если ваш хостинг не поддерживает работу с архивами, нужно будет распаковать файл на своём ПК и закачать всё содержимое на сервер посредством FTP-подключения (этот процесс может занять много времени).

Шаг 6. Мастер установки

Когда файлы движка лежат в нужной директории, а БД создана и готова к подключению, можно начинать процесс установки.

Joomla - Мастер установки

Для этого просто откройте браузер и введите в адресную строку своё доменное имя. Если файлы движка загружены и распакованы правильно, без помещения в дочерние подкаталоги, то вас автоматически перенаправит на скрипт установки:

http://ваш.домен/installation/index.php

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

На первой вкладке (на первом шаге) нужно указать название сайта. Далее – данные администратора (имя, логин, пароль, email). Пароль должен быть не менее 12 символов.

На следующем шаге указываются параметры подключения к базе данных (те, что вы получили при создании новой БД и пользователя к ней). Префикс таблиц генерируется автоматически, но вы можете его заменить на свой.

Когда установка закончится, в корне сайта будет создан новый файл configuration.php, а мастер выведет панель с дальнейшими рекомендациями. Например, какие-то параметры сервера не будут совпадать с требуемыми и т.п. Плюс, будет предложена установка пакета локализации (если ваш хостинг работает в России, то установка выдаст ошибку).

Если по какой-то причине при попытке перехода в админ-панель сайта скрипт не сможет автоматически удалить папку «installation» в корне сайта, эту процедуру придётся завершить вручную – по FTP или в онлайн файловом менеджере.

Вход в панель управления осуществляется по адресу ваш-сайт.ру/administrator/

Шаг 7. Установка русского языка

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

Для этого необходимо авторизоваться в панели администратора и перейти в раздел

System -> Extensions

Откроется панель (форма) загрузки расширений. Нажмите кнопку «Or browse for file» и выберите zip-пакет с русским языком.

Сам пакет локализации нужно предварительно скачать на ПК с этой страницы.

Дождитесь сообщения «Installation of the package was successful».

Теперь перейдите в раздел «System -> блок Manage –> пункт Languages». Активируйте звёздочку в столбце «Default» напротив русского языка. Затем переключитесь в выпадающем списке слева вверху на пункт «Administrator» (вместо «Site», который там активен по умолчанию). Теперь снова нажмите на звёздочку в столбце «Default» напротив русского языка – так вы активируете перевод и для панели администратора.

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

Шаг 8. Установка шаблонов

В официальном каталоге Joomla представлены только дополнения/модули. А в пакет установки движка включена только одна тема – Cassiopeia.

Joomla - Установка шаблонов

Альтернативные шаблоны необходимо искать и скачивать на тематических площадках. Чтобы избежать проблем с безопасностью, лучше всего выбирать проверенные ресурсы. Например, Theme Forest или RocketTheme.

Средняя стоимость тем – 20-90 USD. Можно найти и полностью бесплатные варианты, но для них могут устанавливаться ограничения (обязательное присутствие копирайта, отсутствие техподдержки и т.п.).

Чтобы установить новый шаблон, его нужно загрузить в каталог /templates (каждая тема должна лежать в своём каталоге). Затем необходимо активировать шаблон в панели управления. А в разделе «Стили» необходимо переопределить стиль по умолчанию.

При подборе темы обязательно следует обращать внимание на совместимость с вашей версией движка. Тут стоит оговориться, что для последней актуальной 4 версии Joomla в сети пока не так много вариантов.

Шаг 9. Установка дополнений

Активировать или деактивировать нужные расширения можно в панели управления «Система» -> «Расширения» (или «Плагины»).

Установка новых элементов осуществляется через тот же менеджер расширений («Система –> блок Установка –> пункт Расширения»). Доступно несколько вариантов:

  • загрузка одиночного пакета (через специальную форму с выбором файла архива),
  • из каталога (из папки на сервере),
  • по прямой ссылке (по URL-адресу, указывающему на пакет расширения),
  • из JED (официальный каталог расширений Joomla, расшифровывается как Joomla Extensions Directory).

Ранее функционал JED по умолчанию был отключён и его нужно было активировать в настройках, но сейчас (в 4 версии движка) web-каталог дополнений работает по умолчанию.

Шаг 10. Русификация тем/шаблонов

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

  1. Полноценным переводом на русский язык. Для этого необходимо скопировать имеющиеся языковые файлы для плагина или темы из каталога language, которые обязательно имеются для английского языка (подкаталог «en-GB»), в папку с русским языком (подкаталог «ru-RU»). Например, файл с переводами для шаблона Cassiopeia будет называться tpl_cassiopeia.ini, В каталог ru-RU его необходимо перенести с таким же названием, а затем открыть в текстовом редакторе и поправить все переводы.
  2. Переопределением констант. Смысл аналогичен предыдущему пункту, но все ваши переводы не будут зависеть от файлов шаблонов или плагинов. Они будут сохраняться отдельно и иметь больший приоритет. Сделать это можно и в графическом интерфейсе админ-панели («Система» -> блок «Управление» -> пункт «Переопределение констант»).
  3. Непосредственно в исходном коде. Это крайняя мера, пригодится только тогда, когда разработчик не позаботился о переводе того или иного элемента интерфейса (для него нет константы).

Шаг 11. Переход на HTTPS

Почему современный сайт не может работать без защищённого протокола HTTPS, мы разбирали в отдельном материале – здесь.

Как включить поддержку SSL-сертификатов в Joomla? Очень просто, разработчики добавили необходимый функционал в код движка. Достаточно только активировать одну опцию:

  1. Войдите в админ-панель.
  2. На вкладке «Система» выберите пункт «Общие настройки».
  3. На вкладке «Сервер» найдите настройку «Включить HTTPS».
  4. Из выпадающего списка выберите пункт «Весь сайт».
  5. Нажмите кнопку «Сохранить» или «Сохранить и закрыть».
  6. Настройте автоматическое получение SSL-сертификатов в хостинг-панели (алгоритм будет отличаться в зависимости от выбранной панели).
  7. Настройте автоматический редирект в файле .htaccess (располагается в корне сайта, нужно дописать в него соответствующие правила, чтобы посетители страниц, начинающихся с http://…, перенаправлялись на https://…).
  8. Укажите в файле robots.txt в качестве главного зеркала ваш домен с протоколом HTTPS.
  9. При необходимости, вручную поправьте неправильные адреса в скриптах, CSS-стилях и в других файлах движка (это касается, прежде всего, самописного функционала).

Для большей надёжности можно принудительно задать адрес сайта в конфигурационном файле configuration.php, нужно задать переменную $live_site = ‘https://ваш-сайт.ру’;

Шаг 12. Другие настройки

Разработчики движка предусмотрели множество параметров «из коробки»: файловый кэш, gzip-сжатие, SEF (ЧПУ, они же ЧеловекоПонятныеУрлы/Ссылки, причём транслитерация кириллицы происходит автоматически), все базовые SEO-параметры (тайтл и дескрипшн можно задать к любому материалу, а название сайта можно добавлять к тайтлу в начале или в конце). Есть даже возможность автоматического перенаправления с неправильных адресов на правильные по заданным условиям (сюда же входят служебные адреса с index.php).

Из админ-панели без дополнительных плагинов можно настроить взаимодействие с SMTP-серверами (например, почта для домена или массовые рассылки).

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

Выводы и напутствия

Joomla – отличный движок для сайтов любого типа, от одностраничников/лендингов, до масштабных порталов и онлайн-магазинов. Создавать сайты на нём достаточно просто, но перед этим необходимо детально разобраться в настройках.

Даже после того, как вы освоитесь в админ-панели, придётся посвятить много времени самому сайту. Ведь CMS – это только инструмент. Любой web-ресурс требует тщательного планирования структуры, регулярной работы над новыми материалами. Ни в коем случае не стоит забывать про SEO-продвижение, если вам нужен трафик из поисковых систем. Если вам интересны и другие источники трафика, то следует развивать разные направления: рассылки, контекстную рекламу, ссылки на авторитетных ресурсах, каналы в мессенджерах, страницы в социальных сетях и т.д.