Перейти к основному контенту

Настройка гостевого доступа в BookStack


Краткое руководство по созданию публичной базы знаний (режим Википедии) без обязательной авторизации

Настоящее руководство описывает процесс настройки BookStack для работы в режиме «Википедии» — когда любой неавторизованный пользователь может просматривать разрешенные администратором страницы без ввода логина и пароля.

1. Архитектура каталогов и поиск файла настроек

В типовой self-hosted конфигурации BookStack (при развертывании в Docker) данные разделены на две ключевые директории:

  • db_data — файлы СУБД (MySQL/MariaDB). Напрямую не редактируются.
  • app_data — пользовательские файлы, темы оформления, логи и параметры конфигурации.

Конфигурационный файл .env располагается внутри вложенной папки www. Полный путь к нему выглядит следующим образом:

app_data/
├── backups/
├── keys/
├── log/
├── nginx/
├── php/
└── www/  <-- Переходим сюда
    └── .env  <-- Целевой скрытый файл конфигурации

2. Изменение конфигурации системы

Поскольку файлы, начинающиеся с точки, по умолчанию скрыты в Linux, для их изменения выполните следующие шаги в терминале вашего сервера:

  1. Перейдите в папку с веб-приложением:
    cd app_data/www/
  2. Проверьте наличие файла (флаг -a отобразит скрытые объекты):
    ls -la
  3. Откройте файл в текстовом редакторе:
    nano .env
  4. Найдите параметр ALLOW_PUBLIC_VIEWING и измените его значение на true. Если строка отсутствует, просто допишите её в конец файла:
    ALLOW_PUBLIC_VIEWING=true
  5. Сохраните изменения (в nano: Ctrl+O, затем Enter) и закройте редактор (Ctrl+X).
  6. Перезапустите ваши Docker-контейнеры, чтобы BookStack применил новые переменные окружения:
    docker compose restart

3. Настройка прав гостевой роли

После активации параметра в системе включается виртуальный неавторизованный пользователь, привязанный к системной роли Public (в панели управления она может называться «Общедоступный» или «Гость»).

Перейдите в раздел Настройки ➔ Роли ➔ Public и выберите один из сценариев настройки:

Сценарий А: Полностью открытая Вики

Если цель — сделать все статьи доступными без авторизации по умолчанию, в разрешениях роли Public отметьте галочками пункт Просмотр (View) для всех типов сущностей (Книги, Полки, Главы, Страницы).

Сценарий Б: Выборочный (точечный) доступ

Если большая часть вашей базы должна быть скрыта, а гостям вы хотите показывать лишь некоторые статьи:

  1. В настройках роли Public снимите вообще все галочки разрешений и сохраните изменения.
  2. Перейдите к нужной книге, полке или отдельной странице, которую хотите опубликовать.
  3. Нажмите кнопку Права (Permissions) на панели управления справа.
  4. Поставьте галочку «Включить собственные разрешения» (Enable custom permissions).
  5. В строке для роли Public установите галочку напротив пункта Просмотр (View) и сохраните настройки.
Важное примечание по безопасности:

При использовании выборочного доступа (Сценарий Б) неавторизованные пользователи увидят пустую главную страницу BookStack. Доступ к разрешенным статьям они смогут получить либо по прямым ссылкам, либо воспользовавшись встроенным поиском.