Українська
Почати

← Усі шаблони · Сайти й магазини

Задеплойте Joomla в один клік

CMS із відкритим кодом для сайтів: кілька мов, рівні доступу й тисячі розширень

Альтернатива Wix і Squarespace на вашій машині.

Що таке Joomla?

Joomla — безкоштовна система керування вмістом із відкритим кодом для будь-яких сайтів, від сторінок клубу до багатомовного сайту компанії. Статті розкладаються за категоріями й показуються через меню та модулі, а в ядрі є шаблон Cassiopeia, менеджер медіа, контакти з формами, теги, розумний пошук і дружні до пошукових систем адреси. Багатомовному сайту не потрібне розширення: кожна мова має свій вміст і головну сторінку, а статті пов’язуються зі своїми перекладами. Групи користувачів і рівні доступу визначають, хто що бачить і редагує, а в Joomla Extensions Directory понад 5 000 розширень.

Цей шаблон запускає Joomla 6 з офіційного образу разом із MariaDB і встановлює її під час першого запуску з полів, тож вебінсталятор ніколи не відкритий для сторонніх. Файли Joomla зберігаються в томі й оновлюються з адміністративної частини, а з Joomla 5.4 сайт, до якого може дістатися сервіс оновлень Joomla, сам встановлює мінорні й патч-релізи. Підводний камінь: на нову мажорну версію переходять вручну, коли її підтримуватимуть ваші розширення.

Хостинг Joomla на Pethost

  1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
  2. Вікно «Новий проєкт» відкривається на застосунку Joomla. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: Електронна пошта, Ім’я користувача, Пароль адміністратора.
  3. За хвилину-дві Joomla працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
  4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

Питання про Joomla

Joomla безкоштовна?

Так. Joomla безкоштовна й має відкритий код за ліцензією GNU General Public License версії 2 або пізнішої. Її створюють волонтери, а керує проєктом неприбуткова організація Open Source Matters.

Чи підтримується Joomla досі?

Так. Joomla 6.2 вийшла 13 жовтня 2026 року, Joomla 6 отримуватиме виправлення помилок до 17 жовтня 2028 року, а виправлення безпеки — до 16 жовтня 2029 року; Joomla 6.3 заплановано на квітень 2027 року.

Як оновити Joomla?

Спершу зробіть бекап, потім відкрийте розділ «Система», у блоці «Оновлення» виберіть «Joomla» і натисніть «Почніть оновлення» або виконайте php cli/joomla.php core:update в оболонці сервісу joomla. Автоматичні оновлення ввімкнені на новому сайті, до якого може дістатися сервіс оновлень Joomla, і тоді вона сама встановлює мінорні й патч-релізи.

Як зробити багатомовний сайт на Joomla?

Вистачить самого ядра: встановіть мови, опублікуйте для кожної мову вмісту, увімкніть плагін «Система. Багатомовність» (Language Filter), створіть пункт меню головної сторінки для кожної мови й пов’яжіть кожну статтю з її перекладами на вкладці «Асоціації».

Чому Joomla вимагає пароль із 12 символів?

Новий сайт Joomla вимагає паролі щонайменше з 12 символів, зокрема й для суперкористувача. Цей шаблон передає ваш пароль адміністратора інсталятору Joomla, який відхиляє коротший: тоді сайт запуститься, щойно ADMIN_PASSWORD у .env стане довшим.

Скільки пам’яті й диска потрібно Joomla?

Joomla має скромні вимоги: близько 170 MB пам’яті разом із MariaDB, а сайт росте із зображеннями й файлами, які ви завантажуєте. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

Joomla: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

Контейнери: joomla (joomla:6-apache), db (mariadb:11.8).

Томи, у щонічному бекапі: joomla, db.

services:
  joomla:
    image: joomla:6-apache
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    environment:
      JOOMLA_DB_HOST: db
      JOOMLA_DB_NAME: joomla
      JOOMLA_DB_USER: joomla
      JOOMLA_DB_PASSWORD: ${DB_PASSWORD}
      SITE_NAME: ${HOST}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # A new Joomla opens its web installer to whoever comes first. So the image's entrypoint is
    # run first only to copy Joomla into the volume and make the database, Joomla's own CLI
    # installer then makes the site and its Super User from the fields, and Apache starts only
    # once the site is installed: a refusal (Joomla takes a password of 12 characters at least)
    # stops the start, says why in the logs, and is tried again at the next.
    #
    # PHP's own upload limit is 2 MB, too little for a photo, and the image has no variable for it.
    entrypoint:
      - sh
      - -c
      - |
        set -e
        printf 'upload_max_filesize = 64M\npost_max_size = 64M\n' > /usr/local/etc/php/conf.d/uploads.ini
        /entrypoint.sh apache2 -v > /dev/null
        if [ -e installation/joomla.php ]; then
          php installation/joomla.php install --no-interaction \
            --site-name="$$SITE_NAME" \
            --admin-user="$$ADMIN_USERNAME" \
            --admin-username="$$ADMIN_USERNAME" \
            --admin-password="$$ADMIN_PASSWORD" \
            --admin-email="$$ADMIN_EMAIL" \
            --db-type=mysqli \
            --db-host="$$JOOMLA_DB_HOST" \
            --db-user="$$JOOMLA_DB_USER" \
            --db-pass="$$JOOMLA_DB_PASSWORD" \
            --db-name="$$JOOMLA_DB_NAME" \
            --db-prefix=jos_ \
            --db-encryption=0
          rm -rf installation
          chown -R www-data:www-data .
          chmod 444 configuration.php
        fi
        exec /entrypoint.sh apache2-foreground
    volumes:
      - joomla:/var/www/html

  db:
    image: mariadb:11.8
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: joomla
      MARIADB_USER: joomla
      MARIADB_PASSWORD: ${DB_PASSWORD}
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
    volumes:
      - db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 20
      start_period: 30s

volumes:
  joomla:
  db:

Ще в категорії «Сайти й магазини»