Как установить Discourse на VPS от OVH

Всем привет,

После долгих попыток настроить мой VPS с Discourse я решил поделиться простым пошаговым руководством, которое поможет вам установить Discourse на VPS от OVH.

В моём случае я использовал:

  • VPS от OVH

  • Доменное имя

  • Профессиональную почту (OVH Email Pro)

:warning: Примечание: Я не эксперт в настройке серверов. Если вы заметите ошибки или улучшения, пожалуйста, дайте мне знать.


Шаг 0 – Предварительные требования

Вам понадобятся следующие продукты от OVH:

  • VPS (с следующими опциями при покупке):

    • Выберите дата-центр, расположенный в стране вашей целевой аудитории (рекомендуется).

    • Операционная система: Debian 12

  • Доменное имя

  • Почта (OVH Email Pro)

Примечание: Прочитайте два важных письма от OVH, которые вы получите.

Дополнительные инструменты и аккаунты:

  • (Необязательно) MaxMind – для дополнительной безопасности:

    • Создайте аккаунт: Регистрация в MaxMind

    • Перейдите в Управление ключами лицензий > Создать новый ключ лицензии (сохраните и ID, и ключ, так как ключ больше не будет показан).

  • PuTTY (SSH-клиент, используемый в этом руководстве): Скачать PuTTY


Шаг 1 – Настройка ваших сервисов OVH

  1. Домен → VPS

    • Перейдите в: Web Cloud > Доменные имена > вашдомен.com > DNS-зона

    • Для каждой записи типа A замените целевой адрес на IPv4-адрес вашего VPS.

  2. Домен → Email Pro

    • Перейдите в: Web Cloud > Email Pro > Связанные домены

    • Добавьте купленное вами доменное имя.

  3. Создание почтового ящика

    • Перейдите в: Web Cloud > Email Pro > Почтовые ящики

    • Создайте новый адрес электронной почты (например, contact@вашдомен.com).


Шаг 2 – Настройка VPS

  1. Подключение через SSH

    • Откройте PuTTY

    • Имя хоста: IPv4-адрес вашего VPS

    • Порт: 22

    • В консоли: Войдите, используя имя пользователя и пароль, отправленные по электронной почте.

  2. Защита вашего сервера

    • Смените свой пароль.

    • Измените порт SSH (рекомендуется):
      sudo vi /etc/ssh/sshd_config

    • Найдите строку с “Port” (используйте стрелки).

    • Удалите символ # и замените номер порта (нажмите i для вставки) на число между 49152 и 65535.

      Сохраните и выйдите (Esc > :wq)

  3. Установка зависимостей (Debian)
    sudo apt install docker.io -y
    sudo apt install git -y

  4. Установка Discourse
    sudo -s
    git clone https://github.com/discourse/discourse_docker.git /var/discourse
    cd /var/discourse
    chmod 700 containers

  5. Запуск скрипта настройки
    sudo ./discourse-setup

    Заполните запросы:

    1. Имя хоста: ваш домен (например, вашдомен.com)
    2. Email администратора: ваш личный email
    3. Адрес SMTP-сервера: найден в панели управления OVH → Email Pro (например, proX.mail.ovh.net)
    4. Порт SMTP: 587
    5. Имя пользователя SMTP: созданный ранее email (например, contact@вашдомен.com)
    6. Пароль SMTP: пароль от этого почтового аккаунта
    7. Email для уведомлений: тот же, что и имя пользователя SMTP
    8. Email для Let’s Encrypt: ваш личный email (рекомендуется)
    9. ID аккаунта MaxMind: из вашего аккаунта MaxMind
    10. Ключ MaxMind: сгенерированный вами лицензионный ключ
  6. Тонкая настройка параметров SMTP
    sudo nano containers/app.yml

    Прокрутите до раздела SMTP.

    1. Отредактируйте следующим образом:
      • Домен SMTP: тот же, что и имя хоста SMTP

      • Аутентификация SMTP: замените “plain” на “login”

      • Включить STARTTLS: удалите # перед строкой

        Сохраните и выйдите (Ctrl + O, Enter, Ctrl + X).

  7. Пересборка приложения
    sudo ./launcher rebuild app


Шаг 3 – Финальное тестирование

Проверьте, работает ли отправка писем:

sudo ./discourse-doctor

  • Введите тестовый адрес электронной почты для получения тестового сообщения.

Если всё работает, вы можете завершить настройку Discourse прямо на своём сайте по адресу https://вашдомен.com

Murffy

Является ли почтовый сервис OVH транзакционным? При беглом поиске я не нашел информации о том, что он предназначен для транзакционной рассылки, но, возможно, это не так?

Отлично, нам как раз нужна была документация для OVH — один из моих любимых провайдеров. Мне очень нравится, что при покупке любого доменного имени вы получаете бесплатный адрес электронной почты (я ещё не тестировал их почтовый сервис в связке с Discourse, но, возможно, сделаю это позже и отпишусь здесь).

@murffy Кстати, если на вашем VPS от OVH установлены только Docker и Discourse, вы могли бы добавить в документацию настройку брандмауэра (iptables/ufw), чтобы она стала ещё более «plug-and-play» для новичков?

Советую не делать этого.
Это не сервис для транзакционной рассылки, и вы, скорее всего, столкнётесь с автоматической блокировкой со стороны OVH из-за подозрений в спаме.
Я какое-то время использовал бесплатный почтовый ящик OVH для Discourse, и это была плохая идея. Рекомендую вместо этого найти подходящий сервис для отправки писем. :slightly_smiling_face:

Спасибо за совет, я связался с OVH по этому вопросу, посмотрим, что они ответят. 200–500 писем в неделю с DKIM/SPF, официальными заголовками и кнопкой отписки — это не слишком много, чтобы их не считали спамом.

Обновление от OVH: 200 писем в час; приятный лимит для бесплатной почты :slight_smile:, а чтобы избежать попадания в спам, вот их рекомендации:

  • Три и более слова заглавными буквами в теме письма.
  • Отсутствие темы или текста в письме.
  • Письмо содержит только одно большое изображение (> 1 МБ) и несколько слов либо множество изображений и мало текста.
  • Определённые ключевые слова в теме или в начале письма: Hello, FREE, BUY, BUYING и т. д.
  • Письмо содержит более 70% пустого пространства (чрезмерное использование клавиш ПРОБЕЛ или ENTER на клавиатуре).
  • Шрифт, используемый для написания письма, слишком крупный.
  • Цвет шрифта и цвет фона совпадают, из-за чего текст нечитаем.
  • Ссылка (ссылки) в письме неверны.
  • URL-адреса не защищены (например, указаны как https://, хотя URL существует только как http://) или ведут на взломанный или вредоносный сайт.
  • Письмо содержит порнографические или подобные термины.
  • Письмо содержит исполняемый файл (EXE, BAT, PIF, XML, XLSX или любой документ с макросом), даже если он заархивирован.
  • Ваши получатели указаны только или преимущественно в поле BCC, хотя вы не используете систему, подходящую для рассылки по спискам рассылки.

Совет: 6K ~ 200 дней