У меня была такая установка
forum.example.com
У меня был аккаунт администратора admin@forum.example.com с паролем и двухфакторной аутентификацией (2FA)
В итоге я решил мигрировать его на новый домен
community.newexample.com
Перед этим я создал резервную копию forum.example.com
Сегодня я решил создать новое сообщество на example.com
Установил всё, создал новый аккаунт администратора (admin@example.com) и так далее.
Войдя в систему,
перешёл в раздел резервных копий и загрузил резервную копию, созданную для forum.example.com.
Меня выкинуло из системы.
Когда я попытался войти с использованием новых учётных данных (admin@example.com), система не пустила, потому что, полагаю, она теперь пытается использовать учётные данные из первой установки (admin@forum.example.com).
Проблема также в том, что у меня больше нет доступа к 2FA для forum.example.com, но система требует и его.
Что мне теперь делать?
ОБНОВЛЕНИЕ: Мне удалось выполнить это, следуя инструкциям ChatGPT:
Шаг 1: Подключитесь к серверу через SSH
ssh your-user@your-server
Шаг 2: Войдите в контейнер приложения Discourse
cd /var/discourse
./launcher enter app
Шаг 3: Создайте или сбросьте пароль администратора
Этот шаг гарантирует, что вы сможете войти с известным паролем.
rake admin:create
- При запросе введите адрес электронной почты администратора из резервной копии (например,
admin@forum.example.com).
- Введите новый пароль.
- Введите
Y, когда будет предложено предоставить права администратора (даже если пользователь уже является администратором — это не навредит).
Шаг 4: Откройте консоль Rails
rails c
Шаг 5: Найдите пользователя по электронной почте
Замените адрес электронной почты на тот, для которого вы сбрасываете доступ:
user = User.find_by_email("admin@forum.example.com")
Вы должны увидеть вывод с объектом пользователя.
Шаг 6: Отключите двухфакторную аутентификацию (2FA) для этого пользователя
user.user_second_factors.destroy_all
Это удалит все ключи 2FA, связанные с данным пользователем, не затрагивая других.
Шаг 7: Выйдите из консоли и контейнера
exit
Шаг 8: Войдите через веб-интерфейс
Перейдите на сайт Discourse в браузере и войдите с использованием:
- Электронная почта:
admin@forum.example.com
- Пароль: тот, который вы установили на Шаге 3
- 2FA: больше не потребуется