Введение в UniSite CMS

Добро пожаловать в документацию UniSite CMS! Это гибкая и быстрая система управления контентом, созданная для современных веб-проектов. Здесь вы найдете всё для успешного старта.

Подготовка сервера

Для установки UniSite CMS вам понадобится VDS или VPS. В этой статье мы расскажем как зарегистрировать и выбрать не дорогой VPS для ваших проектов. Читать статью

Настройка окружения

Для установки UniSite CMS вам понадобится PHP 8.3 или 8.4 и база данных MySQL или PostgreSQL. Процесс установки максимально автоматизирован, но перед началом требуется выполнить базовую настройку сервера и установить необходимые модули PHP.

Необходимые модули PHP:

PDO, ionCube Loader, ZIP, imagick, GD, openssl, mbstring, curl

Рекомендуемые параметры PHP:

Параметр memory_limit. Выделенная память, должно быть от 512 мб

Параметр max_execution_time. Время выполнения скрипта, должно быть от 300 секунд

Параметр post_max_size. Размер загружаемых файлов, должно быть от 256 мб

Параметр upload_max_filesize. Размер загружаемых файлов, должно быть от 256 мб

Установка

1. Классическая установка

Простая установка через установщик которая подходит для большинства пользователей. Читать статью

2. Установка через консоль

Данная установка позволяет быстро развернуть UniSite CMS через консоль linux.

Зайдите в консоль вашего сервера с root правами и перейдите в директорию сайта куда будет произведена установка. Далее запустите команду указанную ниже:

install_unisite.sh
wget https://unisite.org/repo/install_unisite.sh && chmod +x install_unisite.sh && sudo ./install_unisite.sh

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

После установки удалите файл install_unisite.sh

Разработчикам

Доработки и изменения в коде

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

После любых изменений в папке core небходимо запустить команду для пересборки файлов. Для этого авторизуйтесь в админ панели, роль у вас должна быть супер админ. Далее запустите в URL строке: https://вашсайт.ru/ваш-алиас-админ-панели/compile-core. После выполнения - файлы собирутся в папке app/Components, app/Http/Controllers, app/Systems/User.php, app/Systems/Ui.php, app/Systems/System.php, app/Systems/Notify.php, app/Systems/Event.php, app/Systems/Api.php

Внимание!
Не вносите изменения в файлы из папки app/Components, app/Http/Controllers, app/Systems/User.php, app/Systems/Ui.php, app/Systems/System.php, app/Systems/Notify.php, app/Systems/Event.php, app/Systems/Api.php. Так как вы можете их потерять при последующих обновлениях системы.

Почему функции в папке core?
Такая логика сделана для обновлений, чтобы нам при обновлении не заменять целиком файлы компонентов и контроллеров, а была возможность делать это точечно, чтобы ваши функции или изменения не перезаписались. Но если изменения были в том файле которое участвовало в обновлении, то файл перезапишется. Рекомендуем всегда перед обновлением делать копии файлов, чтобы потом можно было восстановить ваши доработки.

Изменения в шаблоне сайта
Вы можете свободно делать различные изменения в шаблоне сайта, так как при обновлении шаблон не перезаписывается, а при необходимости файлы шаблона, js файлы обновляются точечно, стили CSS при этом так же не обновляются.

Структура системы

Система состоит из 7-ми основных папок:

app - Папка содержить: дополнения, компоненты, контроллеры, модели и системные файлы
config - Папка содержит различные файлы настроек: подключение к бд, телефонные коды, временные зоны и различные системные настройки
core - Папка содержит файлы функций компонентов и контроллеров
resources - Папка содержит файлы почтовых писем, админ панели и сайта
routes - Папка содержит все маршруты системы
storage - Папка содержит изображения, файлы, временные файлы загруженные на сайт, кэш, изображения товаров и пользователей
vendor - Папка содержит различные зависимости модулей и пакетов

Содержание папки App

Addons - Папка содержить модули для: платежных систем, смс сервисов, сервисов авторизации, мессенджеры, сервисы доставок, поставщики карт, сервисы SMTP.
Components - Папка содержит файлы отвечающие за функционал системы, данные файлы и функции собираются из папки core
Http - Папка содержит контроллеры. Контроллеры отвечают за вывод контента, они тесно связаны с роутами из папки routes
Models - Папка содержит модели всех таблиц из базы данных. Модели нужны для создания запросов в конкретную таблицу
Services - Папка содержит системные зависимости
Systems - Папка содержит различные системные файлы