Skip to content

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.

Как запустить тесты?

bash
docker compose exec app php artisan test

Как можно мигрировать с другой платформы?

Готового импортёра нет. Открытая схема БД позволяет написать скрипт переноса под конкретный случай.

Как сообщить об ошибке?

Через GitHub Issues: github.com/ADamCarraway/journalphp/issues. Подробнее — в разделе Сообщить об ошибке.

Released under the MIT License.