Гид по технологиям

Установка BookStack на Ubuntu 18.04 с Apache

• 5 min read • DevOps • Обновлено 17 Nov 2025
Установка BookStack на Ubuntu 18.04
Установка BookStack на Ubuntu 18.04

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

Скриншот главной страницы BookStack

BookStack — бесплатная платформа для управления знаниями с поддержкой вики и документации. Она написана на PHP и использует фреймворк Laravel. BookStack позволяет переименовывать сайт, менять логотип, настраивать регистрацию пользователей и роли. В этой инструкции показано, как установить BookStack на сервер Ubuntu 18.04 с веб‑сервером Apache и MariaDB.

Что понадобится

  • Сервер с Ubuntu 18.04.
  • Непривилегированный пользователь с правами sudo.
  • Домен или тестовый A‑запись для сервера (рекомендуется).

Важно: используйте надёжные пароли и резервную копию конфигурации перед изменениями.

Быстрая структура процесса

  1. Обновить систему.
  2. Установить LAMP‑стек (Apache, MariaDB, PHP и модули).
  3. Конфигурировать PHP и MariaDB.
  4. Установить BookStack, Composer и зависимости.
  5. Настроить Apache‑виртуальный хост.
  6. Проверить доступ, сменить пароль и включить 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.

Страница входа BookStack

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

Панель BookStack после входа

Рекомендации по безопасности и эксплуатация

  • Немедленно смените дефолтный пароль администратора.
  • Запретите доступ к /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).
  • Создать тестовую книгу/страницу и проверить рендеринг.

Типичные ошибки и устранение неполадок

  1. Ошибка 500 после установки
  • Проверьте логи Apache: /var/log/apache2/error.log
  • Убедитесь, что права установлены для www-data.
  • Проверьте, что .env имеет корректные параметры БД.
  1. Ошибка при миграции artisan
  • Убедитесь, что подключение к БД работает: mysql -u bookstack -p bookstackdb
  • Проверьте, что у пользователя bookstack есть права на создание таблиц.
  1. Проблемы с загрузкой файлов
  • Проверьте upload_max_filesize и права каталога storage.
  1. Перенаправления циклом или 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.

Мини‑методология развёртывания

  1. Подготовка сервера и резервного копирования.
  2. Установка и базовая настройка LAMP.
  3. Настройка БД и пользователей с минимальными правами.
  4. Установка приложения и проверка зависимостей.
  5. Настройка HTTPS, логирования и бэкапов.
  6. Документирование конфигурации и передачa администраторам.

Шаблон проверки приёмки (быстрая таблица)

  • Домен отвечает: Да/Нет
  • HTTPS: Да/Нет
  • Вход админ: Да/Нет
  • Миграции: Завершены/Ошибка
  • Бэкап настроен: Да/Нет

Заключение

Поздравляем — вы установили BookStack на Ubuntu 18.04 с Apache. После первоначальной настройки уделите внимание безопасности, резервированию и регулярным обновлениям. Если появятся ошибки, посмотрите раздел «Типичные ошибки и устранение неполадок» и логи сервера.

Важно: задавайте вопросы по шагам установки, конфигурации HTTPS или миграции — я помогу уточнить и адаптировать инструкции под ваш сценарий.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро