Поиск по сайту:

Как установить BookStack на Ubuntu 16.04 LTS


На этой странице

  1. Предпосылки
  2. Что мы будем делать
  3. Шаг 1. Обновление и обновление Ubuntu
  4. Шаг 2. Установите Nginx в Ubuntu 16.04
  5. Шаг 3. Установка и настройка PHP-FPM
  6. Шаг 4. Установка и настройка базы данных MariaDB
  7. Шаг 5. Установите PHP Composer
  8. Шаг 6. Установите BookStack
  9. Шаг 7. Настройка виртуального хоста Nginx для BookStack
  10. Шаг 8. Тестирование
  11. Справочник

BookStack — это платформа с открытым исходным кодом для создания документации/вики-контента для вашего проекта. Он был написан на языке программирования PHP с использованием веб-фреймворка Laravel. По сути, документация вашего проекта/вики хранится в BookStack в виде книги, за которой следуют главы и страницы. Кроме того, вам будет проще создавать и читать документацию в виде книги на основе глав и страниц.

В этом руководстве я пошагово покажу вам, как установить и настроить BookStack на Ubuntu 16.04 под стеком LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). В этом руководстве будут подробно описаны, в том числе, как установить PHP Composer и создать базу данных MySQL вручную с помощью командной строки.

Предпосылки

  • Убунту 16.04
  • Привилегии root

Что мы будем делать

  1. Обновление репозитория и системы обновления
  2. Установите Nginx в Ubuntu 16.04.
  3. Установка и настройка PHP-FPM
  4. Установка и настройка базы данных MariaDB
  5. Установите PHP Composer
  6. Установка и настройка BookStack
  7. Настройка виртуального хоста Nginx для BookStack
  8. Тестирование

Шаг 1 - Обновите и обновите Ubuntu

Прежде чем устанавливать какие-либо пакеты для установки BookStack, убедитесь, что ваш репозиторий Ubuntu и система обновлены.

Если нет, вы можете обновить репозиторий Ubuntu и обновить систему, используя приведенные ниже команды.

sudo apt update
sudo apt upgrade

Шаг 2 — Установите Nginx на Ubuntu 16.04

В этом руководстве мы запустим платформу BookStack под стеком LEMP и установим веб-сервер Nginx из репозитория Ubuntu.

Установите веб-сервер Nginx в Ubuntu, используя приведенную ниже команду apt.

sudo apt install nginx -y

После завершения установки запустите службу и разрешите ей запускаться каждый раз при загрузке системы.

systemctl start nginx
systemctl enable nginx

Теперь проверьте статус службы nginx и открытый порт в системе, убедитесь, что в списке есть HTTP-порт 80.

Запустите команды ниже.

systemctl status nginx
netstat -plntu

Ниже приводится результат.

Веб-сервер Nginx установлен на сервере Ubuntu 16.04.

Шаг 3 — Установите и настройте PHP-FPM

На этом этапе мы установим и настроим PHP-FPM 7.0. Мы установим PHP и PHP-FPM с некоторыми расширениями, необходимыми для BookStack, включая PDO, Tokenizer, GD, Tidy, MBString и OpenSSL.

Установите PHP и PHP-FPM со всеми необходимыми расширениями, выполнив приведенную ниже команду apt.

sudo apt install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-tidy php7.0-zip php-soap libcurl3 curl -y

После завершения установки нам нужно настроить файлы конфигурации php.ini для php fpm и php cli.

Отредактируйте файл php.ini для конфигурации fpm с помощью vim.

vim /etc/php/7.0/fpm/php.ini

Раскомментируйте строку cgi.fix_pathinfo и измените значение на 0.

cgi.fix_pathinfo=0

Сохранить и выйти.

Отредактируйте файл php.ini для настройки cli с помощью vim.

vim /etc/php/7.0/cli/php.ini

Раскомментируйте строку cgi.fix_pathinfo и измените значение на 0.

cgi.fix_pathinfo=0

Сохранить и выйти.

Теперь запустите службу PHP-FPM и включите ее запуск каждый раз при загрузке системы.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

В системе Ubuntu PHP-FPM будет работать под файлом sock — проверьте это с помощью приведенной ниже команды netstat.

netstat -pl | grep fpm

И вы получите результат, как показано ниже.

Установлены PHP и PHP-FPM со всеми необходимыми расширениями.

Шаг 4 — Установите и настройте базу данных MariaDB

BookStack поддерживает только базу данных MySQL и работает только с версией MySQL >= 5.6. В этом руководстве мы будем использовать последнюю версию MariaDB, которую можно установить из репозитория Ubuntu.

Выполните следующую команду apt, чтобы установить базу данных MariaDB.

sudo apt install mariadb-server mariadb-client -y

После завершения установки запустите службу и разрешите ей запускаться каждый раз при загрузке системы.

systemctl start mysql
systemctl enable mysql

Теперь нам нужно настроить пароль root для базы данных.

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

mysql_secure_installation

И вам будет предложено ввести новый пароль root для MySQL — введите свой пароль для пользователя root и нажмите Enter. Для других просто введите Y для подтверждения и снова нажмите Enter.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Корневой пароль MySQL установлен.

Далее нам нужно создать новую базу данных для установки BookStack.

Мы создадим новую базу данных с именем bookstackdb с пользователем bookstak и паролем [email .

Войдите в оболочку MySQL как пользователь root.

mysql -u root -p

Теперь запустите все запросы MySQL ниже.

create database bookstackdb;
create user ';
flush privileges;
exit;

В системе Ubuntu установлен MySQL/MariaDB, создана база данных для установки BookStack.

Шаг 5 — Установите PHP Composer

Composer — это менеджер зависимостей для PHP. Это позволяет вам управлять зависимостями PHP, которые вам нужны для вашего проекта. На этом шаге мы установим Composer с помощью скрипта установки. Composer будет использоваться для загрузки всех библиотек PHP, необходимых BookStack.

Перейдите в домашний каталог и загрузите установщик с помощью curl.

cd ~/
curl -sS https://getcomposer.org/installer | php

И вы получите файл composer.phar в своем домашнем каталоге, переместите файл в каталог /usr/bin и запустите команду composer, как показано ниже.

mv composer.phar /usr/bin/composer
composer -v

Вы получите версию композитора, установленную в вашей системе.

PHP Composer теперь установлен в Ubuntu 16.04.

Шаг 6 — Установите BookStack

На этом шаге мы установим BookStack в каталог /var/www, который будет корневым каталогом приложения.

Перейдите в каталог /var/www и клонируйте исходный код BookStack с помощью команды git.

cd /var/www/
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch

Перейдите в каталог BookStack/ и установите все зависимости PHP с помощью команды composer, как показано ниже.

cd BookStack/
composer install

Убедитесь, что вы не получили ошибку, и когда она будет завершена, вы увидите результат, как показано ниже.

Теперь скопируйте файл конфигурации среды .env.example и отредактируйте его с помощью vim.

cp .env.example .env
vim .env

В строке сведений о базе данных измените все сведения о вашей базе данных, как показано ниже.

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack

Сохранить и выйти.

И измените владельца каталога BookStack на пользователя и группу www-data.

chown -R www-data:www-data /var/www/BookStack

Далее нам нужно сгенерировать уникальный ключ приложения для BookStack и обновить схему базы данных с помощью команд PHP artisan.

В корневом каталоге приложения /var/www/BookStack выполните команды, как показано ниже.

php artisan key:generate
php artisan migrate

Вас попросят подтвердить, введите yes и нажмите Enter.

Подождите, пока команда сгенерирует секретный ключ и импортирует схему базы данных.

Теперь BookStack установлен в Ubuntu 16.04, создано приложение с секретным уникальным ключом и обновлена схема базы данных для BookStack.

Шаг 7. Настройте виртуальный хост Nginx для BookStack

На этом этапе мы настроим виртуальный хост nginx для BookStack. Мы будем использовать book.hakase-labs.co в качестве доменного имени для нашего URL-адреса BookStack.

Перейдите в каталог /etc/nginx и создайте новый стек файлов виртуального хоста в каталоге, доступном для сайтов, с помощью редактора vim.

cd /etc/nginx/
vim sites-available/bookstack

Вставьте конфигурацию ниже.

server {
  listen 80;
  server_name book.hakase-labs.co;
  root /var/www/BookStack/public;

  access_log  /var/log/nginx/bookstack_access.log;
  error_log  /var/log/nginx/bookstack_error.log;

  client_max_body_size 1G;
  fastcgi_buffers 64 4K;

  index  index.php;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
    deny all;
  }

  location ~ \.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  }

  location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    access_log off;
  }
}

Сохранить и выйти.

Теперь активируйте виртуальный хост и проверьте конфигурацию.

ln -s /etc/nginx/sites-available/bookstack /etc/nginx/sites-enabled/
nginx -t

Убедитесь, что вы не получили ошибку, как показано ниже.

Теперь перезапустите службу Nginx.

systemctl restart nginx

Добавлен и активирован виртуальный хост Nginx для BookStack.

Шаг 8 — Тестирование

Откройте веб-браузер и введите URL-адрес BookStack в адресной строке, мой — http://book.hakase-labs.co/.

И вы будете перенаправлены на страницу входа в систему, как показано ниже.

Введите имя администратора по умолчанию [email  с паролем password, затем нажмите кнопку входа.

И вы получите панель пользователя BookStack.

Нажмите на меню настроек, и вы получите страницу настроек.

Теперь щелкните меню «Пользователи», а затем щелкните пользователя «Администратор». Измените адрес электронной почты по умолчанию на свой адрес электронной почты и пароль на свой секретный пароль.

Затем нажмите кнопку Сохранить.

На этом установка BookStack со стеком LEMP (Linux, Nginx, MariaDB и PHP-FPM) на Ubuntu 16.04 успешно завершена.

Ссылка

  • https://www.bookstackapp.com/docs/