В инструкции описан процесс установки платформы 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', а затем нажмите кнопку Вход.
Теперь вы можете использовать все возможности BookStack.