Установка Discourse на Plesk (Ubuntu 18.04 LTS)

Привет, ребята,

Я следовал руководству по установке Plesk Onyx (Ubuntu 14.04), но столкнулся с множеством проблем.

Теперь у меня всё работает на Plesk, и я решил создать новое руководство (настройка почты с использованием почтового сервера Plesk).

1. Настройка параметров в Plesk

2. Установка Docker

  • Перейдите в раздел «Расширения».

  • Найдите Docker и установите расширение. Теперь Docker появится в боковом меню.

3. Установка Discourse

Теперь вам нужен SSH-доступ к вашему серверу, на котором установлен Plesk.
Мои примеры данных:
Домен: forum.domain.tld
E-Mail: mail@domain.tld
Пароль: password123

  • Загрузите репозиторий через git.

    sudo -s
    git clone https://github.com/discourse/discourse_docker.git /var/discourse
    cd /var/discourse

  • Теперь необходимо отредактировать скрипт настройки.

    nano discourse-setup

  • Прокрутите вниз до этого места:

  • И измените его следующим образом:

  • Выйдите, нажав STRG+X, введите Y и нажмите Enter, чтобы сохранить файл.

  • Запустите настройку.

    ./discourse-setup

  • Теперь ответьте на несколько вопросов.

    Hostname for your Discourse? [discourse.example.com]: forum.domain.tld
    Email address for admin account(s)? [me@example.com,you@example.com]: mail@domain.tld
    SMTP server address? [smtp.example.com]: Plesk (Да, напишите Plesk в этой строке)
    SMTP port? [587]: 25 (Порт почтового сервера в Plesk — 25)
    SMTP user name? [user@example.com]: mail@domain.tld
    SMTP password? [pa$$word]: password123
    Let's Encrypt account email? (ENTER to skip) [me@example.com]: (Чтобы пропустить, нажмите Enter)

  • Это займёт некоторое время. Подождите, пока не вернётесь к командной строке. Контейнер Docker не запустится. Это не страшно. Теперь мы изменим файл app.yml, чтобы он работал с Plesk.

    nano containers/app.yml

  • Измените порты и закомментируйте две строки. До изменения:

  • После изменения:

  • Выйдите, нажав STRG+X, введите Y и нажмите Enter, чтобы сохранить файл.

  • Пришло время пересобрать контейнер.

    ./launcher rebuild app

  1. Измените файл hosts в эмуляции Docker.
  • Теперь мы изменим файл hosts, чтобы Discourse мог использовать почтовый сервер Plesk. Войдите в контейнер Docker.

    ./launcher enter app

  • Подождите, пока не вернётся командная строка. Теперь установим nano.

    apt-get install nano

  • Изменим файл hosts.

    nano /etc/hosts

  • Добавьте последнюю строку:
  • Выйдите, нажав STRG+X, введите Y и нажмите Enter, чтобы сохранить файл.
  • Выйдите из контейнера.

    exit

  1. Измените настройки прокси в Plesk.
  • Перейдите к вашему поддомену и нажмите «Правила прокси Docker».
  • Добавьте новое правило.
    plesk_docker_proxy_1
  • Страница должна выглядеть следующим образом:
  • Нажмите «ОК». Теперь обзор должен выглядеть так:
    plesk_docker_proxy_3

Надеюсь, это кому-нибудь поможет.

Привет из Германии

PS: Спасибо Google Переводчику :smiley:

@Vault1337 У меня не получается запустить, было бы здорово, если бы ты мог мне помочь, спасибо.

Привет!

По-прежнему получаю:
«WARNING:: Этот сервер, похоже, недоступен по адресу discourse.domain.com:443»

Даже после того, как я изменил проверенные порты в discourse-setup и открыл порты 8060 и 9443 в брандмауэре.

Поддомен discourse.agoraludica.eu доступен из интернета.

Есть ли что-то вроде IP-адреса, который нужно добавить в белый список?

Теперь я использую Plesk Obsidian на Ubuntu 20, и единственная настройка, которую мне нужно изменить, чтобы Discourse работал вместе с другими веб-приложениями, — это добавить правило прокси, перенаправляющее порт 80 на другой (в моём случае 8060). И, разумеется, в app.yml необходимо настроить перенаправления портов 8060 → 80 и 9443 → 443. Кроме того, SSL-сертификат автоматически обновляется без каких-либо дополнительных действий. Это намного проще, чем раньше.

Вам нужно самостоятельно отредактировать файл app.yml и выполнить команду:

./launcher rebuild app

Discourse-setup работает только для стандартной установки.

Эти строки говорят Discourse игнорировать адрес вашего прокси-сервера и сообщать адрес реального компьютера, отправляющего запрос.

Проблема с Let’s Encrypt заключается в том, что вам не нужно передавать этот запрос в Discourse, а в клиент Let’s Encrypt, запущенный на обратном прокси. Вы, вероятно, можете добавить некоторые настройки, чтобы он сам обрабатывал запросы к /well-known. Возможно, ваш друг W поможет разобраться с этим.

Привет,

Решил эту проблему, перезапустив службу Docker на хосте, чтобы принудительно пересоздать сетевой мост.

Здравствуйте,

К сожалению, я не получаю письмо для активации.
Когда я использую все настройки почты в Outlook, всё работает, но при использовании тех же настроек я ничего не получаю.

Я сделал всё точно так, как вы написали, но в логах даже нет данных о письмах.

У кого-то ещё есть эта проблема?

Есть ли обновление для Ubuntu 20.X и Plesk 18.X? Мне, к сожалению, не удаётся выполнить старую инструкцию.

Возможно, мой обновленный ответ вам поможет:

Помоги мне, пожалуйста, установить это — я просто не могу заставить это работать

Вполне возможно, что у вашего провайдера VPS есть конфигурация Plesk или ОС, требующая иных настроек, чем у меня, для корректной работы Discourse.

Я мог бы помочь вам через форум, но не другими способами, и в данный момент я не доступен для платной работы. Однако прошу учитывать, что я не являюсь экспертом ни по Discourse, ни по Linux, ни по Plesk.

Если вы хотите получить дополнительную помощь через форум, пожалуйста, предоставьте больше информации:

  1. Установлен ли Discourse?
  2. Применяли ли вы какие-либо рекомендации из самой первой темы? Возможно, эта информация устарела. Как я уже говорил, мне практически не пришлось ничего делать, чтобы Discourse заработал.
  3. Какое сообщение об ошибке возвращает форум при открытии URL? Можете ли вы поделиться URL, если он общедоступен?
  4. Можете ли вы сообщить информацию о прокси-настройках nginx/docker для вашего домена в Plesk?
  5. Запущен ли ваш контейнер Discourse?

Пожалуйста, предоставьте любую дополнительную информацию, которая может оказаться полезной.

Я имею в виду помощь через Дискорд или что-то в этом роде

Извините, я не имею ни малейшего понятия, о чём вы говорите.

Понимаю, что вам трудно, ведь я сам столкнулся с подобными трудностями, когда впервые устанавливал Discourse (к тому же это было на Plesk — неподдерживаемая установка).

Я снова готов помочь вам, так как полученная информация может пригодиться и другим людям, но, пожалуйста, ради других (и ради себя), предоставьте больше сведений о том, что именно вы сделали, что не работает, есть ли у вас сообщения об ошибках и т. д. Прочитайте моё предыдущее сообщение.

Если вы не сможете следовать этим простым рекомендациям, никто здесь не сможет или даже не захочет вам помочь.

Не торопитесь, отвечая, и постарайтесь быть максимально точными.