Хочу представить Вам приложение 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
и вижу страницу авторизации:
Дефолтные данные для входа:
Адрес электронной почты: admin@admin.com
Пароль: password
и нажимаю «Вход
»
и вот я внутри после успешно авторизации:
Итого установка успешно завершена. В последующих заметка я может быть подробно остановлюсь на использовании данного продукта. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.