BookStack - это простая, самостоятельная платформа для организации и хранения информации. BookStack полностью бесплатен и имеет открытый исходный код, а также лицензирован MIT. Источник доступен на GitHub . В этом руководстве мы установим BookStack на свежий экземпляр Fedora 28 Vultr.
Требования
	- Версия PHP 7.0.0 или выше и следующие расширения: 
	
		- OpenSSL
- PDO
- MBstring
- Tokenizer
- GD
- MySQLND
- Tidy
- SimpleXML
- DOM
 
- MariaDB
- Git (не обязательно, но помогает управлять обновлениями)
- Композитор
Прежде чем вы начнете
Проверьте версию Fedora.
cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)
Создайте новую учетную запись пользователя без полномочий rootsudo и перейдите на нее.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
ПРИМЕЧАНИЕ.  Замените johndoeна свое имя пользователя.
Установите часовой пояс.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Убедитесь, что ваша система обновлена.
sudo dnf check-upgrade || sudo dnf upgrade -y
Установите необходимые пакеты.
sudo dnf install -y curl git wget vim unzip bash-completion 
Для простоты отключите SELinux и Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Установите PHP и необходимые расширения PHP
Установите PHP и необходимые расширения PHP.
sudo dnf install -y php-cli php-fpm php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-xmlrpc php-common php-tidy php-ldap php-mcrypt php-xml php-zip
Проверьте версию.
php -v
Запустите и включите php-fpm.service.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Установить MariaDB
Установите MariaDB.
sudo dnf install -y mariadb-server
Проверьте версию.
mysql --version
Запустите и включите MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Запустите mysql_secure installationскрипт, чтобы улучшить безопасность MariaDB и установить пароль пользователя root.
sudo mysql_secure_installation
Подключитесь к оболочке MariaDB от имени пользователя root.
mysql -u root -p
# Enter password:
Создайте пустую базу данных MariaDB и пользователя для BookStack и запомните учетные данные.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT
Установить Nginx
Установите Nginx.
sudo dnf install -y nginx
Проверьте версию.
sudo nginx -v
Запустите и включите Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Настройте Nginx для BookStack. Запустите sudo vim /etc/nginx/conf.d/bookstack.confи добавьте следующую конфигурацию.
server {
  listen 80;
  listen [::]:80;
  server_name example.com;
  root /var/www/bookstack/public;
  index index.php index.html;
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  location ~ \.php$ {
    fastcgi_index index.php;
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/run/php-fpm/www.sock;
  }
}
Протестируйте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Установите Composer
Установите Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Проверьте версию.
composer --version
Установить BookStack
Создайте корневую папку документа.
sudo mkdir -p /var/www/bookstack
Изменить владельца /var/www/bookstackкаталога на johndoe.
sudo chown -R johndoe:johndoe /var/www/bookstack
Клонируйте ветку релиза репозитория BookStack GitHub в корневую папку документа.
cd /var/www/bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch .
Запустите composer installиз /var/www/bookstackкаталога.
composer install
Скопируйте .env.exampleфайл .envи заполните его собственной базой данных и почтовыми данными.
cp .env.example .env
Убедитесь в том, что storage, bootstrap/cacheи public/uploadsпапки для записи веб - сервером.
В корне приложения запустите, php artisan key:generateчтобы сгенерировать уникальный ключ приложения.
Запустите php artisan migrateдля обновления базы данных.
Изменить владельца /var/www/bookstackкаталога на nginx.
sudo chown -R nginx:nginx /var/www/bookstack
Запустите sudo vim /etc/php-fpm.d/www.confи установите пользователя и группу на nginx. Первоначально будет установлено значение apache.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Перезапустите php-fpmсервис.
sudo systemctl restart php-fpm.service
Теперь вы можете войти, используя стандартные данные администратора [email protected]с паролем password. Рекомендуется изменить эти данные непосредственно после первого входа в систему.