Установка и настройка

Системные требования

  • PHP: >= 8.1
  • MySQL: >= 8.0 или MariaDB >= 10.6
  • Веб-сервер: Apache с mod_rewrite
  • Расширения PHP:
    • PDO, PDO_MySQL
    • mbstring
    • gd или imagick (для работы с изображениями)
    • memcached (опционально, для кэширования)
    • curl, xml, zip, dom
  • Composer: для управления зависимостями

Установка необходимых модулей PHP (Ubuntu/Debian):

sudo apt install php8.1-{curl,xml,mysql,mbstring,zip,gd,dom,memcached}
sudo service apache2 restart
# Для PHP-FPM:
# sudo service php8.1-fpm restart

Быстрая установка

1. Скачивание платформы

Скачайте последнюю версию платформы с wepps.dev/downloads/ и распакуйте в целевую директорию:

# Создайте директорию проекта
sudo mkdir -p /var/www/your-project

# Распакуйте скачанный архив
sudo unzip wepps.platform-release.zip -d /var/www/your-project

2. Настройка конфигурации

Отредактируйте файл config.php в корне проекта. Все необходимые параметры с комментариями уже присутствуют в файле:

<?php
$projectSettings = [
    'DB' => [
        'driver' => 'mysql', // Тип базы данных
        'host' => 'localhost', // Адрес хоста базы данных
        'port' => '3306', // Порт базы данных
        'dbname' => 'your_database_name', // Имя базы данных
        'user' => 'your_db_user', // Имя пользователя базы данных
        'password' => 'your_db_password', // Пароль пользователя базы данных
        'charset' => 'utf8mb4', // Кодировка базы данных
        'cnf' => '', // Путь к конфигурационному файлу базы данных (При установке можно оставить пустым)
    ],
    'Dev' => [
        'author' => 'Your Name', // Имя автора проекта
        'email' => 'your@email.com', // Email автора проекта
        'debug' => 0, // Флаг отладки (1 - включена, 0 - выключена)
        'protocol' => 'https://', // Протокол для доступа к проекту
        'host' => 'ваш-сайт.com', // Адрес хоста проекта
        'root' => '/var/www/your-project', // Корневая директория проекта
    ],
    // ... остальные секции Info и Services с комментариями см. в файле
];

⚠️ Важно:

  • Файл config.php включен в .gitignore - не коммитьте его с реальными паролями!
  • Обязательно замените значения Services.wepps.sign, Services.wepps.git и Services.jwt.secret на уникальные

3. Создание базы данных

mysql -u root -p -e "CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

Опционально: Создайте файл config.cnf для CLI-операций (резервное копирование, обновления):

[client]
host=localhost
port=3306
user=your_db_user
password=your_db_password

⚠️ Рекомендация: Храните config.cnf за пределами папки веб-сервера для безопасности. Укажите путь к нему в config.phpDB.cnf

4. Запуск установщика

php install.php

💡 Примечание: Если composer-зависимости не были установлены, установщик автоматически предложит команду для их установки:

cd /var/www/your-project/packages && php composer.phar self-update && php composer.phar install && cd ../

После установки зависимостей запустите установщик повторно.

Установщик:

  1. Создаст необходимые таблицы в БД
  2. Настроит начальную структуру навигации
  3. Запросит у вас:
    • Логин администратора (формат email)
    • Пароль (минимум 8 символов)
    • Подтверждение пароля
  4. Создаст административного пользователя с указанными данными

Пример работы установщика:

Заполнение базы данных. Ждите.
База данных заполнена.
Введите логин администратора (email): admin@example.com
Введите новый пароль администратора (минимум 8 символов): ********
Введите пароль повторно для подтверждения: ********
Логин и пароль администратора успешно обновлены
Установка завершена.

6. Настройка веб-сервера

Apache (.htaccess уже настроен)

В проекте уже присутствует файл .htaccess с полной конфигурацией, включающей:

  • Настройки кэширования статических файлов
  • Защиту служебных файлов (.tpl, .conf, .sh и др.)
  • Маршрутизацию для расширений (/ext/, /rest/, /pdf/)
  • Обработку изображений через /pic/
  • ЧПУ для основной навигации

Убедитесь, что модуль mod_rewrite включен:

sudo a2enmod rewrite
sudo service apache2 restart

💡 Nginx как reverse proxy: При необходимости Nginx можно использовать в качестве reverse proxy перед Apache для обработки статики и балансировки нагрузки.

7. Настройка прав доступа

chmod -R 755 files/
chmod -R 755 pic/

8. Первый вход

Откройте в браузере:

  • Frontend: https://ваш-сайт.com/
  • Административная панель: https://ваш-сайт.com/_wepps/

Войдите с учетными данными, которые указали при установке:

  • Логин: ваш email
  • Пароль: ваш пароль

Режим разработки

Для включения режима разработки в config.php:

'Dev' => [
    'debug' => 1,  // Включает детальное логирование ошибок
]

В режиме разработки:

  • Отключается кэширование CSS/JS
  • Версии файлов рандомизируются при каждой загрузке
  • Выводятся детальные сообщения об ошибках

Настройка минификации файлов (опционально)

Для ускорения загрузки страниц можно включить минификацию CSS/JS файлов:

'Services' => [
    'minify' => [
        'active' => true,   // Включить минификацию (true/false)
        'lifetime' => 300,  // Время жизни минифицированных файлов в секундах
    ]
]

Как работает минификация:

  • При active => true: все CSS/JS файлы собираются в один, минифицируются и встраиваются inline в HTML
  • При active => false: файлы подключаются отдельными ссылками с версионированием
  • Минифицированные файлы сохраняются в /files/tpl/minify/ и пересоздаются при истечении lifetime

Настройка Memcached (опционально)

Для улучшения производительности можно включить Memcached:

'Services' => [
    'memcached' => [
        'active' => true,  // Включить кэширование
        'host' => 'localhost',
        'port' => 11211,
        'expire' => 300  // Время жизни кэша в секундах
    ]
]

Установка Memcached:

# Ubuntu/Debian
sudo apt install memcached php-memcached

# CentOS/RHEL
sudo yum install memcached php-pecl-memcached

Проверка установки

Проверьте, что все работает:

# Проверка версии платформы
php packages/WeppsAdmin/Updates/Request.php version

# Список доступных обновлений
php packages/WeppsAdmin/Updates/Request.php list

Структура установки и обновлений

Демонстрационный контент

При установке платформа включает полноценный интернет-магазин с примерами разделов:

  • Каталог товаров и корзина
  • Новости, галерея, контакты
  • Личный кабинет

⚠️ Важно: Эти расширения являются демонстрационными примерами с продуманным UI/UX, которые предназначены для изучения и адаптации под ваш проект. Они полностью рабочие и готовы к использованию, но подразумевается, что разработчик будет модифицировать их в соответствии с бизнес-логикой проекта.

Что обновляется

Система обновлений затрагивает только ядро платформы:

Обновляются автоматически:

  • packages/WeppsCore/ - ядро системы
  • packages/WeppsAdmin/ - административная панель
  • packages/WeppsExtensions/Template/ - базовая шаблонизация
  • packages/WeppsExtensions/Addons/ - системные аддоны (выборочно)

НЕ обновляются:

  • Демо-расширения (Products, Cart, News, Gallery и др.)
  • Ваши пользовательские расширения
  • Шаблоны и контент

Защита от перезаписи:
Апдейтер автоматически проверяет изменения в файлах. Если вы модифицировали файлы ядра, они не будут перезаписаны при обновлении. Об этом будет сообщено в процессе обновления и отражено в логе.

📖 Подробнее: Политика обновлений

Устранение проблем

Ошибка подключения к БД

  • Проверьте параметры в config.php
  • Убедитесь, что MySQL запущен: sudo systemctl status mysql
  • Проверьте права пользователя БД

Страница 404

  • Убедитесь, что включен mod_rewrite (Apache)
  • Проверьте права на файлы .htaccess

Ошибки прав доступа

# Установите правильного владельца
sudo chown -R www-data:www-data /path/to/wepps

# Установите права
chmod -R 755 files/ pic/

Дальнейшие шаги