Установка · 7 min read · Dec 08, 2025
Как установить документацию Wiki BookStack на CentOS 7
BookStack — это платформа с открытым исходным кодом для создания документации/вики-контента для вашего проекта. Она написана на языке программирования PHP и использует веб-фреймворк Laravel. В основном, ваша документация/вики будет храниться в BookStack как ‘Книга’, за которой следуют ‘Глава’ и ‘Страницы’. Это упрощает создание и чтение документации в виде Книги, основанной на Главах и Страницах.
В этом руководстве я покажу вам шаг за шагом, как установить и настроить BookStack на CentOS 7 в стеке LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB). Это руководство охватывает такие темы, как установка PHP Composer и создание базы данных MySQL с помощью командной строки.
Предварительные требования
- CentOS 7
- Привилегии root
Что мы будем делать
- Установить репозиторий EPEL
- Установить Nginx
- Установить и настроить PHP-FPM
- Установить и настроить MySQL/MariaDB
- Установить PHP Composer
- Установить BookStack
- Настроить виртуальный хост Nginx для BookStack
- Тестирование
Шаг 1 - Установить репозиторий EPEL
Добавьте новый сторонний репозиторий в систему. Нам нужно добавить репозиторий EPEL (Дополнительные пакеты для корпоративного 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На строке ‘listen’ измените значение на сокетный файл, как показано ниже. Мы будем запускать PHP-fpm под сокетным файлом.
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И убедитесь, что вы получили сокетный файл 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’ для базы данных.
Выполните команду ниже, чтобы установить пароль ‘root’ для базы данных.
mysql_secure_installation
И вам будет предложено ввести новый пароль root MySQL - введите свой пароль для пользователя root и нажмите Enter. Для остальных просто введите ‘Y’ для подтверждения и снова нажмите Enter.
Установить пароль root? [Y/n] Y
Удалить анонимных пользователей? [Y/n] Y
Запретить удаленный вход root? [Y/n] Y
Удалить тестовую базу данных и доступ к ней? [Y/n] Y
Перезагрузить таблицы привилегий сейчас? [Y/n] YПароль root MySQL теперь установлен.
Далее нам нужно создать новую базу данных MySQL для установки BookStack. Мы создадим новую базу данных с именем ‘bookstackdb’ с пользователем ‘bookstack’ и паролем ‘bookstack@’.
Войдите в оболочку MySQL с пользователем root.
mysql -u root -pВыполните все запросы MySQL ниже в оболочке.
create database bookstackdb;
create user bookstack@localhost identified by 'bookstack@';
grant all privileges on bookstackdb.* to bookstack@localhost identified by 'bookstack@';
flush privileges;
exit;
MySQL/MariaDB была установлена на системе CentOS 7, и база данных для установки ‘BookStack’ была создана.
Шаг 5 - Установить PHP Composer на CentOS 7
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И вы получите версию composer, установленную на вашей системе.

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На строке с данными базы данных измените все на вашу информацию о базе данных, как показано ниже.
# Данные базы данных
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
DB_PASSWORD=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/
И вы будете перенаправлены на страницу ‘login/‘, как показано ниже.

Введите имя пользователя администратора по умолчанию ‘ [email protected] ‘ с паролем ‘password’, а затем нажмите кнопку ‘Войти’.
Вы должны получить панель управления пользователем BookStack.

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

Теперь нажмите ‘Пользователи’, а затем нажмите на пользователя ‘Admin’. Измените адрес электронной почты по умолчанию на свой адрес электронной почты и пароль на свой собственный секретный пароль.

Затем нажмите кнопку ‘Сохранить’.
Установка BookStack с использованием стека LEMP (Linux, Nginx, MariaDB и PHP-FPM) на CentOS 7 была успешно завершена.
Ссылки
Get new posts in your inbox
No spam. Unsubscribe anytime.