Неправильная настройка DNS мешает завершению установки Discourse

Привет,

Я создал новый droplet «Discourse-beta-ubuntu», подключился к нему через PuTTY (root — пароль) и запустил установку Discourse.

Однако установка не прошла:

Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 1GB of memory and 1 physical CPU cores
setting db_shared_buffers = 128MB
setting UNICORN_WORKERS = 2
containers/app.yml memory parameters updated.

Hostname for your Discourse? [discourse.example.com]: forum.mywebsite.eu

Checking your domain name . . .
WARNING:: This server does not appear to be accessible at forum.mywebsite.eu:443.

A connection to http://forum.mywebsite.eu (port 80) also fails.

This suggests that forum.mywebsite.eu resolves to the wrong IP address
or that traffic is not being routed to your server.

Google: "open ports YOUR CLOUD SERVICE" for information for resolving this problem.

If you want to proceed anyway, you will need to
edit the containers/app.yml file manually.
Discourse is now installed.  Log into your admin account in a browser to continue
configuring Discourse.

Я купил домен у register.it и добавил его в Cloudflare. Изменил только DNS-записи, чтобы перенаправить трафик на Cloudflare.

Хорошо, и говорит ли Cloudflare, что домен теперь активен в их сервисе? Поскольку вы заменили URL в сообщении выше, мы не можем проверить это напрямую.

Создали ли вы в Cloudflare запись типа ‘A’ для поддомена вашего форума, указывающую на IP-адрес droplet?

Если бы в этом сообщении было написано это, было бы это http?

Имя хоста для вашего Discourse? [discourse.example.com]: myforum.us

Проверка вашего доменного имени . . .
ПРЕДУПРЕЖДЕНИЕ: Порт 443 компьютера, по-видимому, недоступен по имени хоста: myforum.us.
ПРЕДУПРЕЖДЕНИЕ: Подключение к http://myforum.us (порт 80) также не удаётся.

Это означает, что myforum.us разрешается в некоторый IP-адрес, который не ведёт к этой машине, на которой вы устанавливаете Discourse.

Первое, что нужно сделать, — убедиться, что myforum.us разрешается в IP-адрес этого сервера.
Обычно это делается там же, где вы покупали домен.

Если вы уверены, что IP-адрес разрешается корректно, проблема может быть в брандмауэре.
Поиск в интернете по запросу «открыть порты ВАШЕ ОБЛАЧНОЕ ОБСЛУЖИВАНИЕ» может помочь.

Этот инструмент предназначен только для самых стандартных установок. Если вы не сможете решить описанную выше проблему, вам потребуется самостоятельно отредактировать containers/app.yml, а затем выполнить команду

./launcher rebuild app

Хорошо, я всё изменил. Теперь я не использую Cloudflare, а напрямую изменил NS-серверы в Namecheap, указав серверы DigitalOcean:

В панели управления доменом DO я добавил всё (и даже больше :D):

Домен omaggieconcorsi.online

Поддомен forum.omaggieconcorsi.online создан только в панели управления DO

Спасибо :frowning:

Значит, формулировка в моём посте помогла?

Кстати, вы могли бы использовать Cloudflare в качестве DNS-сервера, но для этого нужно было бы просто создать A-запись для вашего сервера DigitalOcean (с выключенным оранжевым облаком). Однако, если вы помните, что в будущем управление DNS нужно осуществлять через DigitalOcean, то ваше текущее решение вполне подходит.

Вы добавили дополнительные NS-записи для поддомена forum.omaggieconcorsi.online, или это особенность интерфейса DNS DigitalOcean?

Для ясности: вам нужны NS-записи только для корневого домена (omaggieconcorsi.online), если вы не планируете делегировать DNS для конкретных поддоменов на другие серверы имен.

Если вы добавили их самостоятельно, удалите их — всё будет работать и без них.

Также обратите внимание: хотя вы перенаправили три домена на свой Droplet, Discourse может работать только с одним DNS-адресом. Остальные будут перенаправляться, если протокол не указан явно.

Я вручную добавил forum.omaggieconcorsi.online в панель управления DNS DigitalOcean.

При настройке, когда система спрашивает «Hostname для вашего Discourse? [discourse.example.com]:», что мне указать — только omaggieconcorsi.online?

Потому что, если я укажу forum.omaggieconcorsi.online, а в DNS такой поддомен отсутствует, всё не сработает, верно? Ведь Discourse не найдёт этот поддомен «forum».

Извините, я всегда усложняю себе жизнь :frowning:

Вы можете использовать любое из трех доменных имен, указывающих на IP-адрес вашего Droplet, при условии, что оно станет URL-адресом вашего форума, а два других будут работать только как перенаправления.

Какое имя хоста для вашего форума вы хотите?

РЕДАКТИРОВАТЬ: Я предположу, что вы хотите forum.omaggieconcorsi.online.

Удалите записи, помеченные КРАСНЫМ :x:
Вероятно, удалите запись, помеченную КРАСНЫМ :question:
Удалите записи, помеченные ФИОЛЕТОВЫМ :x:, если вы хотите использовать forum.omaggieconcorsi.online

Огромное спасибо всем! Пока я установил Discourse на домене omaggieconcorsi.online, немного тестирую, чтобы понять, подходит ли он для моего проекта.

Я использую это:

Первые впечатления: действительно мощный! Даже уведомления через браузер, когда пользователь создаёт пост :o

Затем Onebox — очень полезно для меня, так как я публикую промо с других сайтов. Мне достаточно просто вставить ссылку, и автоматически отображается превью сайта и сама ссылка — восхитительно.

То же самое касается закладок (отслеживание истекающих конкурсов, ежедневных, ежемесячных) и всех настроек дат событий.

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

Единственное, что немного мешает мне использовать его: импорт лайков из mybb будет очень сложным (я всё ещё пытаюсь импортировать хотя бы пользователей и сообщения из mybb, но это в другой теме); если что-то пойдёт не так с сервером или мне придётся переустанавливать всё, это превратится в хаос (с обычным форумом достаточно просто сохранить файлы по FTP и базу данных и переустановить как было раньше, но здесь у меня практически ничего нет, всё установлено через DigitalOcean, я использовал их маркетплейс).

Не знаю :frowning: У Discourse действительно много полезных функций, которых нет на других форумах, но с другой стороны, думаю, он предназначен для тех, кто является экспертом в серверах, Ruby и т. д., и кто готов разбираться с различными проблемами. Только PHP и MySQL проще.

Попробуйте посетить https://forum.omaggieconcorsi.online/admin/backups :slight_smile: — именно так осуществляется перенос на новый сервер.

Если вы выполняете импорт, возможно, стоит обратиться за помощью к более технически подкованным участникам вашего сообщества или к кому-то из нашего сообщества, имеющему опыт в импорте.

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

Вам нужен только файл резервной копии, содержащий базу данных и все загруженные файлы. FTP не требуется.

Discourse обычно не требует каких-либо специальных знаний. Мне никогда не приходилось знать о чём-либо из упомянутого вами для установки и администрирования Discourse. Поэтому я не хочу, чтобы ваши комментарии отпугнули потенциальных пользователей.

Редактирование файла YAML для добавления плагина — это максимальный уровень технических навыков, который мне потребовался, и этот простой процесс хорошо задокументирован на этом форуме.

Одно большое исключение — если бы мне нужно было перенести данные из другого приложения. Но, в зависимости от приложения, это также делали люди, не являющиеся экспертами ни в одной области ИТ.

@nory ваша проблема заключалась не в неправильной настройке DNS, что было бы абсолютно одинаковым для любого веб-сайта.