Хочу представить Вам приложение BookStack которое может выступить в роли Вашей Wiki в противовес DokuWiki, CMS WordPress, MediaWiki.

Каковы его достоинства:

1. ОЧЕНЬ легко ставить. На Ubuntu 18.04, даже при минимальных навыках администрирования все быстро разворачивается.

2. Элементарная и логически понятная структура:

Есть книжные полки — в полке книга — в книге главы — в главах статьи. Понятно и просто все, никто не путается.

И есть нечеткий поиск по статьям!

Например у меня:

  • Ubuntu
  • Bionic
  • глава Asterisk

Статья Как загрузить пользователей на кассу

3. 2 вида редактора для статей — обычный веб интерфейс «Аля Word» и HTML. В стандартном редакторе уже есть хороший функционал, можно создавать заголовки, параграфы, блоки с программным кодом и цитаты.

4. Можно выгружать статьи как веб страницы и как PDF документ и как текстовый документ, что очень удобно.

5. Что немаловажно — можно настроить и создать Администраторов, редакторов и пользователей. Видимость статей, стартовая страница, история изменения статей и прочие плюшки.

6. Отлично смотрится на планшетах и смартфонах. И вообще, интерфейс настраивается и брендируется, смотрится мягко и приятно

7. Если пользователь тупит — посылаешь его наху на «сервер инструкций.»

Что немаловажно — открытый исходный код и свободное использование.

Итак собственно сама установка:

Шаг №1: Привожу только что развернутую систему из посредством сервиса FOG Project + файл ответов к последующему использованию:

ekzorchik@srv-bionic:~$ hg clone --insecure https://ekzorchik@172.35.35.8/hg/dproject

ekzorchik@srv-bionic:~$ sudo ./dproject/default

Шаг №2: Устанавливаю необходимые пакеты:

ekzorchik@srv-bionic:~$ sudo apt install -y git apache2 php7.2 curl php7.2-fpm php7.2-curl php7.2-mbstring php7.2-ldap php7.2-tidy php7.2-xml php7.2-zip php7.2-gd php7.2-mysql mysql-server-5.7 libapache2-mod-php7.2

Шаг №3: Устанавливаю пароль на суперпользователя сервиса MySQL + создаю пользователя, базу и пароль под разворачиваемый сервис:

ekzorchik@srv-bionic:~$ sudo mysqladmin -u root password 712mbddr@

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create database db_bookstack"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_bookstack'@'localhost' identified by '612mbddr@'"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_bookstack.* to 'us_bookstack'@'localhost'"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "flush privileges"

Шаг №4: Загружаю BookStack:

ekzorchik@srv-bionic:~$ git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch bookstack

Шаг №5: Устанавливаю менеджер PHP-пакетов:

ekzorchik@srv-bionic:~$ curl -sS https://getcomposer.org/installer -o composer-setup.php

ekzorchik@srv-bionic:~$ sudo php composer-setup.php --install-dir=/usr/local/bin/ --filename=composer

Шаг №6: Копирую загруженный bookstack в корень Web-сервиса:

ekzorchik@srv-bionic:~$ sudo mv bookstack/ /var/www/html/

Шаг №7: Перехожу в каталог /var/www/html/bookstack и устанавливаю необходимые php-пакеты через менеджер composer:

ekzorchik@srv-bionic:~$ cd /var/www/html/bookstack/

ekzorchik@srv-bionic:/var/www/html/bookstack$ sudo composer install --no-dev

Шаг №8: Предопределяю переменные окружения для BookStack:

ekzorchik@srv-bionic:/var/www/html/bookstack$ sudo cp /var/www/html/bookstack/.env.example /var/www/html/bookstack/.env

ekzorchik@srv-bionic:/var/www/html/bookstack$ sudo nano /var/www/html/bookstack/.env

APP_KEY=SomeRandomString

DB_HOST=localhost

DB_DATABASE=db_bookstack

DB_USERNAME=us_bookstack

DB_PASSWORD=612mbddr@

MAIL_DRIVER=smtp

MAIL_FROM_NAME=BookStack

MAIL_FROM=bookstack@example.com

MAIL_HOST=localhost

MAIL_PORT=1025

MAIL_USERNAME=null

MAIL_PASSWORD=null

MAIL_ENCRYPTION=null

Шаг №9:

ekzorchik@srv-bionic:/var/www/html/bookstack$ sudo php artisan key:generate --no-interaction --force

Application key set successfully.

ekzorchik@srv-bionic:/var/www/html/bookstack$

ekzorchik@srv-bionic:/var/www/html/bookstack$ sudo php artisan migrate --no-interaction --force

ekzorchik@srv-bionic:/var/www/html/bookstack$ cd ~

ekzorchik@srv-bionic:~$

Шаг №10: Настраиваю Web-сервис Apache2:

ekzorchik@srv-bionic:~$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf

ServerName localhost

ekzorchik@srv-bionic:~$ sudo a2enmod rewrite

Enabling module rewrite.

To activate the new configuration, you need to run:

systemctl restart apache2

ekzorchik@srv-bionic:~$ sudo a2enmod php7.2

Considering dependency mpm_prefork for php7.2:

Considering conflict mpm_event for mpm_prefork:

Considering conflict mpm_worker for mpm_prefork:

Module mpm_prefork already enabled

Considering conflict php5 for php7.2:

Module php7.2 already enabled

ekzorchik@srv-bionic:~$

ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/bookstack.conf

<VirtualHost *:80>
ServerName 172.33.33.7
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/bookstack/public/
<Directory /var/www/html/bookstack/public/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ekzorchik@srv-bionic:~$ sudo a2dissite 000-default.conf

ekzorchik@srv-bionic:~$ sudo a2ensite bookstack.conf

ekzorchik@srv-bionic:~$ sudo apache2ctl configtest

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/bookstack/

ekzorchik@srv-bionic:~$ sudo rm /var/www/html/index.html

ekzorchik@srv-bionic:~$ sudo chmod -R 755 /var/www/html/bookstack/

После обращаюсь на URL http://172.33.33.7 и вижу страницу авторизации:

Web-страница авторизации в BookStack

Дефолтные данные для входа:

  • Адрес электронной почты: admin@admin.com
  • Пароль: password

и нажимаю «Вход»

и вот я внутри после успешно авторизации:

Вход в BookStack на Ubuntu 18.04 Server успешно произведен

Итого установка успешно завершена. В последующих заметка я может быть подробно остановлюсь на использовании данного продукта. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.