Установка и настройка BookStack на Ubuntu 18.04

В инструкции описан процесс установки платформы BookStack на виртуальный сервер под управлением Ubuntu 18.04.

Что это такое?

BookStack - это платформа с открытым исходным кодом для создания документации и вики-контента для пользователей. Платформа построена на стеке LAMP или LEMP и отлично подходит для создания документов для любого проекта. Интерфейс BookStack прост и понятен. Редактор страниц имеет простой интерфейс WYSIWYG.

Первоначальные требования

Важно: рекомендуется использовать версию PHP 7.1, о том как ее установить из сторонних репозиториев написано в следующем разделе.

На вашем виртуальном сервере должен быть установлен LAMP-стек, о том как это сделать рассказано в нашей инструкции.

Установка PHP 7.1

Выполните следующие команды, чтобы добавить сторонний репозиторий для обновления или возврата PHP до версии 7.1:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Обновите локальную базу пакетов:

sudo apt update
sudo apt upgrade

Установите необходимы для работы модули:

sudo apt install php7.1 libapache2-mod-php7.1 php7.1-common php7.1-sqlite php7.1-curl php7.1-intl php7.1-mbstring php7.1-xmlrpc php7.1-mysql php7.1-gd php7.1-xml php7.1-cli php7.1-mcrypt php7.1-tidy php7.1-zip

После установки PHP 7.1 откройте файл конфигурации PHP по умолчанию для Apache2:

sudo nano /etc/php/7.1/apache2/php.ini

Затем измените значения следующих параметров на указанные ниже и сохраните изменения:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
cgi.fix_pathinfo = 0
max_execution_time = 360
date.timezone = Russia/Moscow

Для применения изменений конфигурации php перезапустите Apache:

sudo systemctl restart apache2.service

Настройка базы данных

Далее необходимо создать пользователя и базу данных для Bookstack. Войдите в СУБД с помощью следующей команды и введите пароль:

sudo mysql -u root -p

Создайте базу данных:

CREATE DATABASE bookstack;

Создайте пользователя и задайте ему пароль:

CREATE USER 'bookstackuser'@'localhost' IDENTIFIED BY 'example';

Затем предоставьте пользователю полный доступ к базе данных:

GRANT ALL ON bookstack.* TO 'bookstackuser'@'localhost' IDENTIFIED BY 'example' WITH GRANT OPTION;

Сохраните изменения и выполните выход:

FLUSH PRIVILEGES;
EXIT;

Загрузка BookStack и настройка окружения

Выполните следующие команды для установки программы Composer и Git, которые используется для загрузки BookStack:

sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
cd /var/www/html/
sudo apt install git
sudo git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
cd BookStack
sudo composer install

Затем создайте файл конфигурации среды из файла с примером переменных окружения:

sudo mv .env.example .env

Откройте файл для редактирования и укажите информацию о подключении к базе данных:

sudo nano .env

Вставьте следующие строки, при необходимости замените значения параметров на свои:

# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstackuser
DB_PASSWORD=example

Запустите следующие команды, чтобы создать уникальный ключ приложения и перенести базу данных:

sudo php artisan key:generate
sudo php artisan migrate

Выполните приведенные ниже команды, чтобы изменить права доступа к каталогам:

sudo chown -R www-data:www-data /var/www/html/BookStack/
sudo chmod -R 755 /var/www/html/BookStack/

Наконец, настройте конфигурационный файл Apache2 для BookStack, который будет контролировать доступ пользователей к содержимому BookStack. Выполните приведенные ниже команды, чтобы создать новый файл конфигурации bookstack.conf:

sudo nano /etc/apache2/sites-available/bookstack.conf

Вставьте следующие строки, заменив значение e-mail адреса и IP-адрес:

<VirtualHost *:80>
ServerAdmin admin@1cloud.ru
DocumentRoot /var/www/html/BookStack/public
ServerName 111.111.111.111
<Directory /var/www/html/BookStack/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

После настройки VirtualHost необходимо применить настройки, выполнив команды ниже:

sudo a2ensite bookstack.conf
sudo a2enmod rewrite
sudo systemctl restart apache2.service

Подключение к BookStack

Примечание: не забудьте открыть порт 80 для подключения из браузера

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables-save

Откройте браузер и перейдите по адресу:
<ip-адрес_или_домен>

Введите пользователя по умолчанию 'admin@admin.com' с паролем 'password', а затем нажмите кнопку Вход.

Ввод email и пароля

Теперь вы можете использовать все возможности BookStack.

bookstack

 


Средняя оценка: 5,0, всего оценок: 1