FAQ
Общие вопросы
Чем JournalPHP отличается от облачных платформ?
Вы размещаете платформу на своём сервере и полностью владеете данными. Нет ежемесячной платы за количество пользователей, нет ограничений от стороннего сервиса, нет риска закрытия платформы. Вы платите только за свою инфраструктуру.
Это коммерческий продукт?
Нет. JournalPHP — open-source проект под лицензией MIT. Исходный код полностью открыт, платы нет.
Можно ли использовать JournalPHP в коммерческих целях?
Да. Лицензия MIT разрешает использовать, изменять и распространять код в любых целях, в том числе коммерческих, при условии сохранения заголовка лицензии.
Есть ли мобильное приложение?
Отдельного нативного приложения нет, но интерфейс адаптирован под мобильные браузеры. Редактор, лента и личные сообщения работают на телефоне.
Установка и требования
Какие минимальные требования для запуска?
- PHP 8.4+
- MySQL 8.0+
- Redis
- Node.js 20+ (для сборки фронтенда)
Подробнее — в разделе Системные требования.
Работает ли JournalPHP без Docker?
Да. Docker — удобный способ поднять окружение, но не обязательный. Вы можете настроить PHP, MySQL, Redis и Node.js напрямую, указав параметры в .env.
Нужен ли Redis?
Да. Redis используется для кэширования, хранения сессий и очередей задач. Без Redis платформа не запустится в полном объёме.
Нужен ли Cloudinary для медиафайлов?
Нет. Cloudinary — опциональный провайдер хранения изображений и видео. Без него медиафайлы сохраняются локально в storage/.
Функциональность
Можно ли создавать несколько сообществ?
Да, но по умолчанию создание сообществ пользователями отключено (canCreateCommunity = false). Администратор может разрешить это в Admin Panel → Контент (/admin-panel/settings/content).
Поддерживается ли мультиязычность интерфейса?
Платформа включает переводы на русский и английский. Язык задаётся в настройках (VITE_APP_LOCALE) и переключается через админ-панель.
Как работает поиск?
Поиск реализован через Laravel Scout. В .env.example указано SCOUT_DRIVER=null (поиск отключён); в config/scout.php значение по умолчанию — algolia. Для простых сценариев можно использовать опциональный драйвер database.
Можно ли отключить AI-функции?
Да. AI настраивается в админ-панели (AI Настройки, /admin-panel/ai-settings). Если ключ не задан ни в админке, ни в переменных DEEPSEEK_* в .env, AI-возможности недоступны в интерфейсе. Ничего не сломается.
Какие OAuth-провайдеры поддерживаются?
Встроенная поддержка: Google, Яндекс, ВКонтакте, Facebook, Apple, GitHub. One Tap (Google, Яндекс) — быстрый вход без редиректа, настраивается в Аутентификация и регистрация (/admin-panel/settings/auth). Добавление других провайдеров возможно через Laravel Socialite.
Есть ли API?
Отдельного REST API пока нет: файла routes/api.php не существует. Laravel Sanctum установлен и может использоваться при добавлении API-маршрутов.
Администрирование
Где находится админ-панель?
По адресу /admin-panel (например, http://journalphp.test/admin-panel). Доступ только для пользователей с ролью администратора.
Как создать первого администратора?
После php artisan db:seed в dev-окружении доступен пользователь из AdminSeeder: admin@mail.com / password. В production — зарегистрируйте пользователя и назначьте роль администратора через БД или сидер.
Можно ли ограничить доступ к отдельным разделам админки?
Да. В разделе Права доступа (/admin-panel/admin-permissions) настраивается доступ к каждому из 30+ разделов для каждого администратора отдельно.
Где хранятся настройки сайта?
В таблице config базы данных. Редактируются через разделы настроек в админ-панели и кэшируются в Redis.
Подписки и монетизация
Какие платёжные провайдеры поддерживаются?
ЮКасса (YooKassa) и T-Bank. YooKassa подтверждает оплату через webhook (/payments/yookassa/result); T-Bank — через клиентское подтверждение (POST /subscriptions/payments/confirm).
Можно ли запустить платформу без подписок?
Да. Система подписок полностью опциональна. Если тарифные планы не созданы, функционал монетизации не отображается.
Разработка и расширение
Как добавить собственную функциональность?
JournalPHP строится на стандартных механизмах Laravel: Service Providers, Events, Listeners, Middleware, Observers. Подробнее — в разделе Расширение кода.
Есть ли система плагинов?
Встроенной plugin-системы нет. Расширение выполняется напрямую в коде через стандартные механизмы Laravel.
Как запустить тесты?
docker compose exec app php artisan testКак можно мигрировать с другой платформы?
Готового импортёра нет. Открытая схема БД позволяет написать скрипт переноса под конкретный случай.
Как сообщить об ошибке?
Через GitHub Issues: github.com/ADamCarraway/journalphp/issues. Подробнее — в разделе Сообщить об ошибке.