Установка BookStack на Ubuntu 18.04 с Apache
Установка BookStack на Ubuntu 18.04 с Apache — пошаговая инструкция по развёртыванию, настройке базы данных, PHP и виртуального хоста Apache. Включены рекомендации по безопасности, контрольный список и распространённые ошибки.

BookStack — бесплатная платформа для управления знаниями с поддержкой вики и документации. Она написана на PHP и использует фреймворк Laravel. BookStack позволяет переименовывать сайт, менять логотип, настраивать регистрацию пользователей и роли. В этой инструкции показано, как установить BookStack на сервер Ubuntu 18.04 с веб‑сервером Apache и MariaDB.
Что понадобится
- Сервер с Ubuntu 18.04.
- Непривилегированный пользователь с правами sudo.
- Домен или тестовый A‑запись для сервера (рекомендуется).
Важно: используйте надёжные пароли и резервную копию конфигурации перед изменениями.
Быстрая структура процесса
- Обновить систему.
- Установить LAMP‑стек (Apache, MariaDB, PHP и модули).
- Конфигурировать PHP и MariaDB.
- Установить BookStack, Composer и зависимости.
- Настроить Apache‑виртуальный хост.
- Проверить доступ, сменить пароль и включить HTTPS.
Обновление системы
Перед началом обновите пакеты:
sudo apt-get update -y
sudo apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, если это требуется системой.
Установка LAMP‑стека
Установите Apache, MariaDB, PHP 7.2 и необходимые модули. В примере используются пакеты для PHP 7.2, как в оригинальной инструкции:
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-tidy php7.2-zip unzip wget git -yПримечание: если вы используете более новые релизы Ubuntu, установите соответствующую версию PHP и адаптируйте команды.
Настройка PHP
Откройте файл конфигурации PHP для Apache и пропишите рекомендуемые значения:
sudo nano /etc/php/7.2/apache2/php.iniИзмените (или добавьте) следующие строки:
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Asia/KolkataСохраните и закройте файл.
Важно: корректно укажите временную зону сервера (пример: Asia/Kolkata).
Настройка MariaDB
Защита инстанса MariaDB:
sudo mysql_secure_installationОтветьте на вопросы, как в примере (рекомендуется удалять анонимных пользователей, отключать удалённый логин под root, удалять тестовую базу и перезагружать таблицы привилегий).
Далее зайдите в клиент MariaDB и создайте базу и пользователя для BookStack:
mysql -u root -pВнутри клиента выполните:
CREATE DATABASE bookstackdb;
CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'ваш_безопасный_пароль';
GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;Замените ‘вашбезопасныйпароль’ на надёжный пароль и сохраните его безопасно.
Совет: лучше хранить пароли в менеджере секретов, а не в открытых текстовых файлах.
Установка Composer и BookStack
Установите Composer — менеджер зависимостей PHP:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composerПерейдите в каталог веб‑документов и скачайте релиз BookStack:
cd /var/www/html/
sudo git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branchУстановите зависимости проекта:
cd Bookstack
sudo composer installСкопируйте пример конфигурации окружения и отредактируйте её:
sudo cp .env.example .env
sudo nano .envВнесите параметры подключения к базе данных:
# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
DB_PASSWORD=ваш_безопасный_парольСохраните файл.
Создайте ключ приложения и выполните миграции:
sudo php artisan key:generate
sudo php artisan migrateПри запуске команд artisan вы увидите предупреждение об окружении production — подтвердите выполнение команд вводом “yes”.
После миграций установите права на файлы для Apache:
sudo chown -R www-data:www-data /var/www/html/BookStack/
sudo chmod -R 755 /var/www/html/BookStack/Настройка Apache
Создайте виртуальный хост для BookStack:
sudo nano /etc/apache2/sites-available/bookstack.confВставьте:
ServerAdmin [email protected]
DocumentRoot /var/www/html/Bookstack
ServerName example.com
ServerAlias www.example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Замените example.com и www.example.com на ваш домен. Сохраните файл и включите сайт и модуль перезаписи:
sudo a2ensite bookstack.conf
sudo a2enmod rewrite
sudo systemctl restart apache2Если вы используете брандмауэр (ufw), откройте HTTP/HTTPS:
sudo ufw allow 'Apache Full'Доступ к BookStack и начальная авторизация
Откройте браузер и перейдите по вашему домену, например http://example.com.

По умолчанию учётные данные (в тестовом окружении) могут быть [email protected] / password. Сразу смените пароль администратора после входа.

Рекомендации по безопасности и эксплуатация
- Немедленно смените дефолтный пароль администратора.
- Запретите доступ к /storage и /bootstrap/cache из публичной части сайта через конфигурацию Apache, если нужно.
- Храните .env за пределами систем публичного доступа или применяйте правильные права: 640 или 600 для .env.
- Включите HTTPS с помощью Let’s Encrypt:
sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com- Регулярно применяйте обновления системы и резервируйте базу данных и каталог BookStack.
Критерии приёмки
- Сайт доступен по HTTP и (по возможности) HTTPS по указанному домену.
- Успешный вход в админ‑панель и смена пароля администратора.
- Таблицы БД успешно созданы (artisan migrate завершился без ошибок).
- Права файлов позволяют Apache читать и записывать необходимые каталоги (storage, uploads).
Контрольный список ролей
Администратор:
- Проверить вход и права ролей.
- Сменить дефолтные пароли.
- Настроить политику паролей.
DevOps / Системный администратор:
- Настроить бэкапы БД и файлов.
- Обновлять ОС, PHP и Composer‑зависимости.
- Настроить HTTPS и автоматическое продление сертификатов.
Контент‑менеджер / Автор:
- Проверить работу редактора (Markdown/WYSIWYG).
- Создать тестовую книгу/страницу и проверить рендеринг.
Типичные ошибки и устранение неполадок
- Ошибка 500 после установки
- Проверьте логи Apache: /var/log/apache2/error.log
- Убедитесь, что права установлены для www-data.
- Проверьте, что .env имеет корректные параметры БД.
- Ошибка при миграции artisan
- Убедитесь, что подключение к БД работает: mysql -u bookstack -p bookstackdb
- Проверьте, что у пользователя bookstack есть права на создание таблиц.
- Проблемы с загрузкой файлов
- Проверьте upload_max_filesize и права каталога storage.
- Перенаправления циклом или 404
- Проверьте настройки DocumentRoot и директивы AllowOverride All.
- Убедитесь, что модуль rewrite включён.
Альтернативные подходы и масштабирование
- Вместо Apache можно использовать Nginx с PHP‑FPM. Это часто даёт лучшую производительность на высокой нагрузке.
- Для небольших команд можно использовать SQLite (модуль php7.2-sqlite3 уже установлен в примере). Для продакшна чаще применяют MariaDB/MySQL.
- Рассмотрите контейнеризацию (Docker) для упрощённого развёртывания и миграции между средами.
Миграция и обновление (советы)
- Перед обновлением BookStack делайте резервную копию БД и каталога BookStack.
- Для перехода на более позднюю версию PHP установите совместимую версию и проверьте зависимости composer.
- При смене домена обновите поля в .env и, при необходимости, выполните php artisan config:cache.
Мини‑методология развёртывания
- Подготовка сервера и резервного копирования.
- Установка и базовая настройка LAMP.
- Настройка БД и пользователей с минимальными правами.
- Установка приложения и проверка зависимостей.
- Настройка HTTPS, логирования и бэкапов.
- Документирование конфигурации и передачa администраторам.
Шаблон проверки приёмки (быстрая таблица)
- Домен отвечает: Да/Нет
- HTTPS: Да/Нет
- Вход админ: Да/Нет
- Миграции: Завершены/Ошибка
- Бэкап настроен: Да/Нет
Заключение
Поздравляем — вы установили BookStack на Ubuntu 18.04 с Apache. После первоначальной настройки уделите внимание безопасности, резервированию и регулярным обновлениям. Если появятся ошибки, посмотрите раздел «Типичные ошибки и устранение неполадок» и логи сервера.
Важно: задавайте вопросы по шагам установки, конфигурации HTTPS или миграции — я помогу уточнить и адаптировать инструкции под ваш сценарий.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента