ALBIREO CMS
version: 2025.11.01

Установка Albireo CMS

Требования к серверу

Albireo CMS рассчитана на обычные хостинги.

  • PHP 8.3..8.4. На практике будет работать на 8.1, но это не гарантировано.
  • SQLite 3.38 и выше. Лучше использовать 3.48 и выше.
  • Поддержка Phar. Это стандартная возможность PHP, но хостеры иногда её отключают.
  • Библиотеки mbstring, openssl и т.п. — давно уже базовые возможности PHP.
  • Сервер Apache, но можно другой, главное настроить его .htaccess.
Проверка минимальных требований к Albireo CMS с помощью тестового файла

Сохраните этот код как test-albireo.php и загрузите его на сервер. После этого наберите в браузере вашсайт/test-albireo.php. Он выдаст необходимый отчет.

<?php
/*
File: test-albireo.php

Проверка минимальных требований к Albireo CMS
Загрузите файл на сервер и наберите  в браузере вашсайт/test-albireo.php
*/

$phpVersion = PHP_VERSION;

if (version_compare($phpVersion, '8.1.0', '<')) {
    echo "❌ PHP ниже 8.1.0 — не поддерживается.<br>";
} elseif (version_compare($phpVersion, '8.3.0', '<')) {
    echo "⚠️ PHP $phpVersion работает, но рекомендуется обновить хотя бы до 8.3.<br>";
} else {
    echo "✅ PHP $phpVersion<br>";
}

echo class_exists('Phar') ? "✅ Phar доступен<br>" : "❌ Phar недоступен<br>";
echo extension_loaded('gd') ? "✅ Модуль <b>gd</b> доступен<br>" : "❌ Модуль <b>gd</b> не доступен.<br>";
echo extension_loaded('mbstring') ? "✅ Модуль <b>mbstring</b> доступен<br>" : "❌ Модуль <b>mbstring</b> не доступен.<br>";
echo extension_loaded('openssl') ? "✅ Модуль <b>openssl</b> доступен<br>" : "❌ Модуль <b>openssl</b> не доступен.<br>";
echo extension_loaded('exif') ? "✅ Модуль <b>exif</b> доступен<br>" : "⚠️ Модуль <b>exif</b> не доступен.<br>";
echo extension_loaded('zip') ? "✅ Модуль <b>zip</b> доступен<br>" : "⚠️ Модуль <b>zip</b> не доступен.<br>";
echo extension_loaded('pdo_sqlite') ? "✅ Модуль <b>pdo_sqlite</b> доступен<br>" : "❌ Модуль <b>pdo_sqlite</b> не доступен.<br>";

if (in_array('sqlite', PDO::getAvailableDrivers())) {
    try {
        $pdo = new PDO('sqlite::memory:');
        $currentVersion = $pdo->query('SELECT sqlite_version()')->fetchColumn();

        if (!version_compare($currentVersion, '3.38.0', '>=')) {
            echo "⚠️ Требуется SQLite версии 3.38.0 или выше. Обновите SQLite.<br>";
        } else {
            echo "✅ Текущая версия SQLite: $currentVersion<br>";
        }
    } catch (PDOException $e) {
        echo "❌ Ошибка подключения к SQLite: " . $e->getMessage();
    }
} else {
    echo "❌ SQLite не поддерживается на этом сервере.<br>";
}

# end of file

Загрузочные zip-архивы

Lite-версия состоит из одного zip-архива (примерно 25Мб). Ссылки на загрузку Albireo CMS Lite публикуются в телеграмм-канале maxsite . Полная версия высылается индивидуально для каждого клиента через телеграмм сразу после оплаты.

Полная версия Albireo CMS состоит из нескольких zip-файлов:

  • albireo-cms_X.zip (9Мб), который содержит каталог website с полным шаблоном,
  • домен_X.zip (200Кб), который содержит каталог system с персональным ключом лицензии,
  • demo.zip (9Мб) — демо-данные, которые нужно распаковать в website/pages.
  • landings.zip (56Мб) — дополнительные лендинги, которые нужно распаковать в website/pages.

Такое разделение обусловлено тем, что демо-данные и лендинги обновляются редко и нет смысла их заново загружать при обновлении Albireo CMS.

Для рабочего сайта можно убрать все демо-данные и примеры изображений.

Установка

Для установки Albireo CMS достаточно загрузить файлы из архивов на свой сервер.

Albireo CMS состоит из:

📁 system/
📁 website/
📝 index.php
📝 license.md
📝 zip.php
  • Каталог system хранит системные файлы ядра, а также файл лицензии. Не нужно ничего в нём менять!
  • Каталог website — хранит все файлы вашего сайта. Это ваш рабочий каталог.
  • Файл index.php — это входящий файл вашего сайта.
  • Файл license.md — лицензия Albireo CMS.
  • Файл zip.php — скрипт, с помощью которого можно сделать бэкап вашего сайта (инструкция внутри).

После загрузки файлов на сервер, наберите в браузере ваш-сайт/index.php (именно с index.php!). В основном каталоге должен появится файл .htaccess, который отвечает за организацию адресов ЧПУ («человеко понятный УРЛ»). Если файл не появился или возникли какие-то сложности, то файл можно создать вручную на основе каркаса: system/install/htaccess.txt.

Точно также будет автоматически создан файл robots.txt (если его нет).

Если уже есть .htaccess, то система его не будет менять — вам нужно будет переименовать старый .htaccess, потом зайти на сайт и система создаст новый .htaccess.

На некоторых хостингах файл .htaccess также служит для указания версии PHP. В этом случае вам лучше вначале создать .htaccess согласно правил хостинга, а потом добавить в него ниже код из system/install/htaccess.txt.

Если вы используете не сервер Apache, а какой-то другой, то нужно чтобы сервер все обращение отправлял на корневой index.php. Используйте system/install/htaccess.txt в качестве образца.

500 ошибка

Если сервер выдаёт 500 ошибку, то с 99% вероятностью можно сказать, что дело в .htaccess. Albireo CMS рассчитана на самые распространённые хостинги, где указанные команды работают без проблем. Но если на сервере какие-то особые настройки, то что-то в .htaccess может не работать на вашем сервере. Поэтому нужно обратиться либо к разделу помощи хостера, либо посмотреть логи сервера, где будет указана ошибка.

Например (очень) старые хостинги не поддерживают Options +SymLinksIfOwnerMatch. Вместо неё нужно использовать Options +FollowSymLinks. Этот код уже есть в .htaccess в закомментированном виде.

Также некоторые хостинги указывают версию PHP в .htaccess:

AddHandler application/x-httpd-php83 .inc .php .php4 .php3 .php5 .phtml .phps # phpvs v83

Эта строчка также есть в файле, но лучше свериться с документацией хостинга.

Изменение рабочего каталога сайта

Вы можете изменить имя каталога сайта с website на любое другое, например my. Для этого просто переименуйте website, а потом укажите его в корневом index.php в строчке:

// имя каталога web-сайта
define('FRONT_NAME', 'website');

на

// имя каталога web-сайта
define('FRONT_NAME', 'my');

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

Мультисайтинг. Создание «подсайтов»

Например ваш сайт mysite.com. Когда происходит обращение по этому адресу, то система автоматически подключит сайт, указанный в FRONT_NAME (по умолчанию это website). Если вам нужен ещё один сайт, например mysite.com/blog, то вам нужно сделать копию каталога website как каталог blog. Больше ничего нигде указывать не нужно.

При первом обращении к mysite.com/blog в нём появится файл .htaccess, как и в корне сайта, только будет уже учитываться путь к blog.

Каталоги сайтов полностью изолированы друг от друга, но используют общее ядро системы.

Если вы используете несколько сайтов на одном ядре, то возможно вам будет удобней использовать и общий каталог шаблонов. По умолчанию он расположен в website/templates. Вы можете вынести его в корень своего сайта, а потом создать файл base-constants.php в каталоге каждого своего сайта, например website/base-constants.php, blog/base-constants.php и т.п.

<?php
// каталог шаблонов на уровень выше
define('TEMPLATES_DIR', LEVEL_UP_DIR . 'templates' . DIRECTORY_SEPARATOR);
define('TEMPLATES_URL', LEVEL_UP_URL . 'templates/');

# end of file

Избегайте смешивания протоколов http и https

Albireo CMS автоматически определяет протокол сайта и может работать с любым из них. Но учитывайте, что одновременная работа и по http и по https может вызывать некоторые проблемы. На уровне системы адреса хранятся в полном виде, включая протокол. Если смешать протоколы, то часть данных окажется недоступна, поскольку это будут другие адреса страниц. Например это может привести к неотображению части комментариев, хотя все они будут находиться в базе.

Чтобы исключить подобные ситуации, лучше сделать автоматический редирект с http-адресов на https. В файле .htaccess уже есть готовый для этого код (нужно убрать комментарии в исходном файле):

# for 301-redirect http to https
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]

После этого желательно обновить кэш сайта. Для этого вы можете изменить файл любой страницы — Albireo CMS автоматически перестроит кэш. Или вручную удалить файл website/service/storage/filesinfo.sqlite.