Как установить Ботодром на Ubuntu
Полное руководство по самостоятельной установке, настройке и запуску Ботодрома на сервере Ubuntu 18.04 или 20.04.
Совет
Если вы не умеете настраивать сервер самостоятельно или у вас нет времени на его обслуживание, тогда поручите это системным администраторам.
К концу этого руководства у вас будет полностью настроенный и готовый к живому использованию Ботодром.
Эта установка не подходит для использования на локальном компьютере.
#
Что понадобитсяДля рекомендованной установки вам понадобятся:
- Зарегистрированное доменное имя (если у вас уже есть доменное имя, которое используется для других целей, оно также подойдет)
- Сервер с объемом оперативной памяти не менее 512МБ и установленным на нем Ubuntu 18.04 или Ubuntu 20.04
#
Домен для БотодромаЧтобы не занимать основное доменное имя Ботодромом, мы далее настроим для него домен третьего уровня. Это позволит вам использовать одно зарегистрированное имя для Ботодрома, вебсайта, блога, магазина, лэндингов или для нескольких Ботодромов.
Сейчас в инструкциях в качестве домена, на котором будет запущен Ботодром, используется bd.example.com. Для удобства, чтобы можно было быстро копировать и вставлять команды без ручной правки, введите ваше доменное имя и придумайте поддомен для Ботодрома в полях для ввода абзацем ниже. Домен Ботодрома будет автоматически вставлен во все команды этого руководства.
Зарегистрированное доменное имя:
Придумайте поддомен для Ботодрома:
Ботодром будет установлен на домене: bd.example.com
#
Все шагиЭто шаги для тех, кто уже настраивал сервера, и кому просто нужен быстрый алгоритм действий. Если вам нужна подробная инструкция по установке, тогда пропускайте этот раздел и переходите к следующему.
#
УстановкаСоздать A-запись для домена третьего уровня, указав IP-адрес сервера, на котором будет запущен Ботодром
Создать директорию для Ботодрома:
Перейти в нее:
Скачать текущую версию Ботодрома для Linux:
Распаковать:
Создать ссылку на исполняемый файл
botodrom-server
текущей версии Ботодрома:Настроить systemd-сервис:
Создать файл:
Вставить в него:
Запустить сервис:
Включить авто-запуск сервиса по старту сервера:
Установить Nginx:
Настроить фаервол:
Настроить Nginx как обратный прокси для перенаправления http запросов Ботодрому:
- Создать конфигурационный файл для домена:
- Вставить в него:
- Включить конфигурационный файл:
- Убедиться, что конфигурационный файл в порядке:
- Перезапустить Nginx:
- Создать конфигурационный файл для домена:
Установить Certbot и его плагин для Nginx:
Получить SSL сертификат с авто-обновлением и настроить переадресацию HTTP на HTTPS в Nginx:
Проверить Certbot-таймер:
Протестировать обновления сертификата:
#
Обновление- Перейти в директорию Ботодрома:
- Скачать новую версию Ботодрома для Linux:
- Распаковать:
- Обновить ссылку на исполняемый файл
botodrom-server
новой версии Ботодрома: - Перезапустить сервис:
#
Подробная установка#
Настройка доменаЧтобы вам было удобно открывать админку и редактор Ботодрома в браузере, а также, чтобы внешние сервисы могли устанавливать защищенное соединение с вашим Ботодромом, необходимо связать его с доменным именем.
Зайдите в панель управления вашего доменного провайдера или хостинга (если домен предоставлен хостингом) и откройте раздел управления ресурсными записями DNS (настройки DNS). Добавьте A-запись для домена, который вы планируете использовать, указав IP-адрес вашего сервера. Если ваше зарегистрированное доменное имя example.com
, и вы создадите A-запись bd
, тогда Ботодром будет доступен на bd.example.com
.
#
Установка Ботодрома#
Загрузка и распаковкаСоздайте директорию, в которой будет установлен Ботодром. Здесь будет использоваться /var/www/botodrom
, но любая другая директория также подойдет:
Перейдите в созданную директорию:
Скачайте в нее архив с текущей версией Ботодрома для Linux:
И распакуйте:
После распаковки будет создана поддиректория Botodrom-v0.7.0-linux-x64
, которая содержит файлы текущей версии Ботодрома. Файл botodrom-server
является исполняемым и запускает Ботодром.
#
Создание ссылки на botodrom-serverЧтобы упростить обращения к исполняемому файлу и дальнейшие установки обновлений, создайте на него ссылку для обращений через /var/www/botodrom/botodrom-server
:
Теперь файл /var/www/botodrom/Botodrom-v0.7.0-linux-x64/botodrom-server
можно запускать по пути /var/www/botodrom/botodrom-server
. Далее мы будем использовать этот путь вместо пути к файлу. Благодаря этому, когда возникнет необходимость скачать и установить новую версию Ботодрома, достаточно будет просто обновить ссылку на новую версию, и не искать: где использовались пути на прошлую версию.
#
Настройка авто-запускаЧтобы Ботодром автоматически стартовал при перезапуске сервера, или при падении по какой-то причине, мы воспользуемся системой инициализации systemd
, которая будет следить за тем, чтобы Ботодром был всегда запущен.
#
Добавление systemd-сервисаОткройте в текстовом редакторе новый файл конфигурации systemd-сервиса для Ботодрома:
Вставьте в него:
Нажмите Ctrl + X, чтобы закрыть текстовый редактор. На вопрос "Save modified buffer?" (Сохранить изменения?) — нажмите Y. И подтвердите имя файла для записи (File Name to Write: /lib/systemd/system/botodrom.service) нажатием Enter.
#
Старт сервисаТеперь запустите сервис:
И включите авто-запуск сервиса по старту сервера:
#
Настройка HTTPПо умолчанию Ботодром запущен на порте 8000
. Это означает, что обращения к нему должны быть с номером порта после имени узла (http://bd.example.com:8000).
Чтобы к Ботодрому можно было обращаться без порта в ссылке, мы установим Nginx, который будет перенаправлять запросы к серверу — Ботодрому. Мы также настроим его, чтобы Ботодрому перенаправлялись запросы только для домена bd.example.com. Это позволит в будущем при необходимости запустить на одном сервере несколько сервисов, доступных с разных доменов.
#
Установка NginxПеред установкой Nginx обновите информацию о последних версиях пакетов:
Установите Nginx:
Если появится сообщение вида: "The following additional packages will be installed: ... Do you want to continue?" (Следующие дополнительные пакеты будут установлены: ... Хотите продолжить?) — нажмите Y, затем Enter.
#
Настройка фаерволаДля работы Ботодрома нужны входящие подключения на сервере только по HTTP и HTTPS портам. Подключения к другим портам можно отключить, используя фаервол ufw
.
Разрешите доступ по HTTP и HTTPS:
А также SSH, иначе невозможно будет продолжать настройку:
И включите фаервол:
Когда появится предупреждение "Command may disrupt existing ssh connections" (Команда может прервать текущие ssh подключения) — нажмите Y, затем Enter.
#
Перенаправление HTTP запросов БотодромуОткройте в текстовом редакторе новый файл Nginx-конфигурации для домена:
Вставте в него:
Нажмите Ctrl + X, чтобы закрыть текстовый редактор. На вопрос "Save modified buffer?" (Сохранить изменения?) — нажмите Y. И подтвердите имя файла для записи (File Name to Write: /etc/nginx/sites-available/bd.example.com) нажатием Enter.
Добавьте ссылку на конфигурационный файл в раздел включенных, чтобы активировать его в Nginx:
Убедитесь, что конфигурационный файл в порядке:
Если все ок, вернется ответ "the configuration file /etc/nginx/nginx.conf syntax is ok".
Перезапустите Nginx:
#
Настройка HTTPSДля активации защищенных HTTPS соединений с Ботодромом используйте Certbot. Этот инструмент упрощает получение и установку бесплатных SSL-сертификатов, а также настраивает HTTPS в Nginx и автоматические обновления сертификата.
#
Установка CertbotУстановите Certbot и его плагин для Nginx:
Если появится сообщение вида: "The following additional packages will be installed: ... Do you want to continue?" (Следующие дополнительные пакеты будут установлены: ... Хотите продолжить?) — нажмите Y, затем Enter.
#
Запуск CertbotЗапустить Certbot:
На просьбу ввести емэйл (Enter email address) — введите ваш емэйл адрес, на который будут приходить уведомления, связанные с сертификатом. Например, если Certbot по какой-то причине не обновит его, вам придет уведомление с предупреждением о том, что сертификат истекает.
На сообщении о принятии условий (Please read the Terms of Service at...) — выбрать Agree (нажмите A, затем Enter).
На вопрос о подписке на рассылку от EFF ("Would you be willing to share your email address with the Electronic Frontier Foundation...) — нажмите Y (подписаться) или N (не подписываться), затем Enter.
Когда Certbot закончит проверку домена, и спросит о включении переадресации всех http запросов на https (Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access) — выберите Redirect (нажмите 2, затем Enter)
После успешного получения сертификата и обновления настроек появится сообщение начинающееся с:
Это значит, что сертификат получен и все успешно настроено.
#
Проверка CertbotПроверьте, что таймер автообновления сертификата запущен:
В ответ должно прийти сообщение вида:
Протестируйте получение обновлений:
В ответ должно прийти сообщение, содержащее фразу:
#
Обновление БотодромаДля установки обновления после выхода новой версии Ботодрома нужно выполнить шаги из раздела Все шаги > Обновление.
#
Что дальше?Ура! Ботодром запущен и готов к работе! Теперь создайте нового пользователя в админке, чтобы запретить анонимный доступ к Ботодрому, и затем — в редактор, творить автоматику.
- Админка: https://bd.example.com/admin
- Редактор: https://bd.example.com/editor