Вопросы по миграции сайта

Всем привет. Я пытаюсь перенести сайт Discourse на новый веб-ресурс и перевести все ресурсы S3 на новый аккаунт. Суть в следующем: у нас появляется вторая компания, отделившаяся от исходной материнской, и сайт Discourse нужно перенести на системы второй компании (и на новый веб-домен).

Сразу отмечу, что это не идеальный сценарий, и мне приходится обходить некоторые сложные ограничения. Основная проблема в том, что у меня нет доступа к настройкам DNS исходного домена, и внесение изменений туда, скорее всего, займёт несколько недель. Другая ключевая проблема: у меня нет учётных данных с правами root для аккаунта AWS, в котором размещены используемые корзины S3.

Мы уже перенесли всю почту на новый аккаунт SES, и на новом поддомене я настроил A-запись, указывающую на наш Droplet в DigitalOcean, где размещён Discourse. Как и следовало ожидать, это перенаправление вызывает предупреждение SSL перед тем, как перенаправить на исходный URL, с которым Discourse уже настроен. Это приемлемо, и я предполагаю, что проблема исчезнет, когда мы перенастроим Discourse с новым базовым доменом. Однако у меня есть несколько вопросов:

  • При повторном запуске мастера настройки Discourse и его перенастройке под новый URL есть ли способ сохранить перенаправление со старого URL, не меняя уже установленную A-запись? Мне кажется, что DigitalOcean и установка Discourse продолжат перенаправлять на новый URL, но при этом будут выдавать неприятные предупреждения SSL.

  • Мастер настройки Discourse автоматически перенастроит SSL-сертификат Let’s Encrypt или это ручной процесс, который мне нужно учесть?

  • При миграции корзин S3 в новый аккаунт AWS учётных данных, которые использует Discourse, будет достаточно для копирования содержимого корзины или потребуются учётные данные с правами root? Есть ли какие-то серьёзные сложности, о которых мне следует знать?

Спасибо всем за помощь. Я очень ценю это сообщество, даже если почти не пишу. И хотя я всё ещё очень новичок в этом… я учусь!

Если у вас есть доступ к текущему серверу, вы можете выполнить следующие команды:

./launcher enter app
rails c
SiteSetting.include_s3_uploads_in_backups=true
exit
discourse backup

Это создаст резервную копию, включающую файлы S3. Затем вы сможете восстановить их на новом сайте, независимо от того, настроен ли S3 на новом сайте.

Если вы не можете изменить A-запись, то изменить её нельзя. Если у вас есть доступ к серверу, вы можете настроить веб-сервер, который будет выполнять только 301-перенаправление на новый URL.

Команда ./discourse-setup настроит Let’s Encrypt. Мастер настройки — это другое.