Установка BookStack
На платформе Bookstack сделан этот сайт и если вы хотите попробовать установить его самостоятельно с минимальными издержками, то легко найдете понятные инструкции в сети, а я опишу свой опыт.
Выбор сервера для установки
Я купил у провайдера облачный сервер с самыми базовыми настройками для сохранения бюджета. Приобретен был также этот домен bazabazabaza.ru. Национальная доменная зона позволила не только существенно сэкономить, но и получить бесплатную опцию сокрытия владельца (если вам зачем-то это нужно).
Современные требования безопасности требуют от сайтов перехода на протокол https и использование сертификатов SSL, но не спешите покупать эту услугу у провайдера — позже я расскажу как сохранить ~2000 рублей в год легально и без хлопот.
Осталось только выбрать операционную систему, на которой будет работать наш будущий проект. Для кого-то будет сюпризом, но 95% самых популярных сервисов, приложений и сайтов имеют под капотом Linux. Я тоже не стал изобретать велосипед и в панели администратора на хостинге установил Ubuntu, которую помню еще с версии 2007 года — тогда она стояла у меня на домашнем компе. Вы можете поставить любой другой дистрибутив (CentOS, Arch, Astra), но самый приятный опыт гарантирует Ubuntu.
На почту, прикрёпленную к аккаунту, порядочный провайдер после установки операционной системы присылает письмо с логином и паролем. Чтобы ими правильно воспользоваться, придётся прибегуть к использованию терминала (командной строки, консоли) — такое приложение есть в любой системе (Windows, MacOS, Linux).
Всё, что вам потребуется — это подключиться в роли владельца системы к вашему серверу. В этом поможет команда SSH.
ssh root@bazabazabaza.ru
Так это выглядело в моем случае (вместо домена, можно указать IP-адрес вашего сервера — бездушной машине всё равно). Сервер запросит пароль, вы можете взять его из письма, который прислал провайдер.
Теперь можно приступить к установке самого BookStack.
Установка Bookstack
Процесс занимает минут 15, из них чтение манула — 10.
1. Скачиваем скрипт установки под нашу систему одной командой.
wget https://raw.githubusercontent.com/BookStackApp/devops/main/scripts/installation-ubuntu-22.04.sh
2. Назначаем через смену прав возможность исполняемости скрипту
chmod a+x installation-ubuntu-22.04.sh
3. Запускаем скрипт автоматической установки
sudo ./installation-ubuntu-22.04.sh
Все этапы нужно делать друг за другом, дожидаясь полного завершения операции. В ходе установки система попросит вас прописать адрес сервера, на который будет установлена платформа. В моем случае это был http://bazabazabaza.ru (без HTTPS, ведь SSL у меня пока не было).
Установка SSL для перевода сайта на HTTPS
Бесплатно выпустить сертификат для сайта вам поможет инициатива Let's Encrypt, а автоматизировать процесс обновления (раз в 90 дней) сервис Certbot. Сделать всё это вы легко сможете через консоль. Для этого нужно выбрать на сайте Certbot нужную вам инструкцию. От вас потребуется указать лишь два параметра:
- Программное обеспечение сервера (Apache по умолчанию)
- Операционная система, на которой оно развернуто (Ubuntu 22.04 в моем случае)
В моем случае инструкция получилась такой:
1. Подключиться по SSH к серверу
2. Установить систему управления пакетами snapd и обновить её
sudo apt install snapd
sudo snap install core; sudo snap refresh core
3. На всякий случай удалить certbot из системы
sudo apt-get remove certbot
4. Установить необходимую сборку
sudo snap install --classic certbot
5. Подготовить утилиту
sudo ln -s /snap/bin/certbot /usr/bin/certbot
6. Дайте команду прокачать конфигурацию Apache автоматически
sudo certbot --apache
7. Или получить сертификат вручную
sudo certbot certonly --apache
8. Протестировать автоматическое обновление сертификата
sudo certbot renew --dry-run
Включаем HTTPS для сайта
Теперь нашей базе знаний, которую мы ставили на протокол http, нужно сообщить, что появился более безопасный способ нахождения в сети. Для этого мы опять подключимся к серверу через SSH и сделаем всего два действия:
1. Зайдем в папку, где лежит платформа
cd /var/www/bookstack
2. Отредактируем файл настроек .env
sudo nano .env
3. Перемещайтесь курсором вниз, пока не найдете APP_URL=http://bazabazabaza.ru
4. Поменяйте строчку на APP_URL=https://bazabazabaza.ru
5. Переместитесь курсором вниз файлы и добавьте еще две строчки, которые сделают русский языком системы по умолчанию как для администратора, так и для пользователя:
APP_LANG=ru
APP_AUTO_LANG_PUBLIC=false
6. Запишем отредактированный файл сочетанием клавиш ^+O
7. Выйдем из файла через сочетание клавиш ^+X
Первая авторизация
Теперь достаточно зайти на сайт, который предложит вам авторизоваться.
login: admin@admin.com
password: admin
Сразу после авторизации смените пароль и контактный почтовый ящик. Поздравляю, вы развернули систему знаний BookStack и она надежно защищена SSL сертификатом.