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

Как установить вики-документацию BookStack на CentOS 7


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

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

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

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

Предпосылки

  • СентОС 7
  • Привилегии root

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

  1. Установить репозиторий EPEL
  2. Установите Nginx
  3. Установка и настройка PHP-FPM
  4. Установка и настройка MySQL/MariaDB
  5. Установите PHP Composer
  6. Установить BookStack
  7. Настройка BookStack виртуального хоста Nginx
  8. Тестирование

Шаг 1 — Установите репозиторий EPEL

Добавьте новый сторонний репозиторий в систему. Нам нужно добавить репозиторий EPEL (Extra Packages for Enterprise Linux) в нашу систему CentOS 7, чтобы мы могли установить Nginx и другие пакеты.

Установите репозиторий EPEL, используя приведенную ниже команду yum.

sudo yum -y install epel-release

Шаг 2 — Установите Nginx на CentOS 7

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

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

sudo yum -y install nginx

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

systemctl start nginx
systemctl enable nginx

Теперь проверьте это с помощью команды netstat.

netstat -plntu

Убедитесь, что вы указали порт 80 в списке и он используется службой Nginx.

Веб-сервер Nginx теперь установлен в системе CentOS 7.

Дополнительно: если в вашей системе используется firewalld, добавьте новую службу HTTP в конфигурацию, выполнив приведенные ниже команды.

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

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

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

Перед установкой PHP и PHP-FPM добавьте новый репозиторий webtatic в систему CentOS 7 с помощью приведенной ниже команды rpm.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Теперь установите PHP и PHP-FPM со всеми необходимыми расширениями с помощью команды yum следующим образом.

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

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

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

vim /etc/php.ini

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

cgi.fix_pathinfo=0

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

Затем отредактируйте файл конфигурации пула www.conf.

vim /etc/php-fpm.d/www.conf

Измените пользователя по умолчанию для запуска службы PHP-FPM на пользователя и группу nginx.

user = nginx
group = nginx

В строке прослушивания измените значение на файл sock, как показано ниже. Мы будем запускать PHP-fpm в файле sock.

listen = /var/run/php-fpm/php-fpm.sock

Теперь о разрешении сокета и конфигурации владельца. Раскомментируйте эти строки и измените значение, как показано ниже.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Наконец, раскомментируйте среду PHP-FPM.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

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

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

systemctl start php-fpm
systemctl enable php-fpm

Теперь проверьте это с помощью команды netstat.

netstat -pl | grep php

И убедитесь, что вы получили sock-файл PHP-FPM.

PHP и PHP-FPM 7.0 со всеми расширениями, необходимыми для платформы BookStack, были установлены в системе CentOS 7.

Шаг 4 - Установите и настройте MySQL/MariaDB

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

Запустите команду yum ниже, чтобы установить базу данных MariaDB.

yum install -y mariadb mariadb-server

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

systemctl start mariadb
systemctl enable mariadb

Теперь нам нужно настроить пароль 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 установлен.

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

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

mysql -u root -p

Запустите все запросы MySQL ниже в оболочке.

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

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

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

Композитор — это менеджер зависимостей для 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 теперь установлен в системе CentOS 7.

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

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

Перед установкой BookStack установите git в свою систему.

yum -y install git

Теперь создайте новый каталог /var/www.

mkdir -p /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 на пользователя и группу nginx.

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

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

В корневом каталоге приложения /var/www/BookStack выполните следующие команды.

php artisan key:generate
php artisan migrate

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

Подождите, пока перенос таблицы не завершится успешно.

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

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

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

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

cd /etc/nginx
vim conf.d/bookstack.conf

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

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:/var/run/php-fpm/php-fpm.sock;
  }

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

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

Теперь проверьте конфигурацию nginx и убедитесь, что ошибок нет, затем перезапустите службу nginx.

nginx -t
systemctl restart nginx

Создан и активирован виртуальный хост Nginx для приложения BookStack.

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

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

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

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

Вы должны получить панель управления пользователя BookStack.

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

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

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

Установка BookStack со стеком LEMP (Linux, Nginx, MariaDB и PHP-FPM) на CentOS 7 успешно завершена.

Ссылка

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