В этом руководстве вы узнаете, как перенести форум Discourse на новый сервер. Я расскажу о шагах, необходимых для создания резервной копии текущего форума, подготовки нового сервера и восстановления резервной копии на новом сервере.
Кроме того, я расскажу о конфигурации DNS и о том, как убедиться, что ваши пользователи не пострадают во время процесса миграции. К концу этого руководства вы успешно перенесете свой форум Discourse на новый сервер.
Необходимые сведения
- Доступ к старой учетной записи администратора Discourse
- Доступ к DNS-менеджеру домена
- Учетные данные SSH старого и нового сервера
- Учетные данные для входа в службы транзакционной электронной почты.
Шаг 1. Создайте локальную резервную копию старого Discourse
Во-первых, установите Local Storage и обязательно включите эскизы в настройках Backups. Без этого шага у меня был действительно ужасный опыт. Я научился этому тяжелым путем.

Создание резервной копии

Шаг 2. Зарегистрируйтесь на DigitalOcean 🎉.
🎁 Вы получите $100 кредитов на 60 дней.

Шаг 3. Создайте новый дуплет на DigitalOcean
- Выберите изображение > Распространение: Ubuntu 20.04×64
- Выберите план > Общий процессор (базовый)
- Параметры процессора > Премиум AMD с твердотельным накопителем NVMe
- План: 1 GB / 1 AMD CPU, 25 GB NVMe SSDs, 1000 GB перевод
- Выбор региона центра обработки данных > Banglore, India
- Аутентификация: Рекомендуется использовать ключи SSH. Выберите существующий открытый ключ или сгенерируйте новый с помощью PuTTyGen
- Выберите дополнительные параметры: Включить резервное копирование (рекомендуется по желанию)
- Имя хоста: Discourse
- Нажмите на Create Droplet
Шаг 4. Укажите домен на IP-адрес сервера DigitalOcean
- Используйте запись типа A для адреса IPV4
- Использовать запись типа AAAA для IPV6-адреса (необязательно).

Шаг 5. Установите Discourse на DigitalOcean
Пожалуйста, обратитесь к этим шагам и установите новый Discourse.
- Подключитесь к новому серверу с помощью SSH, PuTTy в Windows.
- Установите Docker / Git
- Установите Discourse
- Держите наготове свои учетные данные электронной почты
- Настройка конфигурации Discourse
- Этот процесс может занять до 5 минут.
- Подтвердить электронную почту
- Войдите в новый Discourse
Шаг 6. Перейдите в Настройки Discourse
Включить Разрешить восстановление.
cd /var/discourse
./launcher enter app
discourse enable_restore

Шаг 7. Перенесите файл резервной копии.
Подключитесь к старому серверу через SSH, перейдите в местоположение резервной копии
cd /var/discourse/shared/standalone/backups/default & vdir
Теперь вы увидите файл резервной копии в формате tar.gz. Запишите имя файла.
blogging-forum-for-beginners-and-advanced-bloggers-hgk-2019-07-27-062206-v20190717133743.tar.gz
- Вам нужно использовать то же имя файла с нижеприведенной командой SCP.
- Также замените 192.168.1.1 на новый IP вашего сервера.
- Используйте команду SCP для копирования файла со старого на новый облачный сервер.
scp *.tar.gz root@192.168.1.1:/var/discourse/shared/standalone/backups/default
Вывод будет выглядеть следующим образом
The authenticity of host '192.168.1.1 (139.180.139.234)' can't be established.
ECDSA key fingerprint is SHA256:WTiKVipml0QKCjAzFyk6/fEh8/MI8K8vtv+2QZ54sc0.
Are you sure you want to continue connecting (yes/no)?
- Введите yes и нажмите клавишу ввода.
- Затем введите пароль
Подсказка: (Щелкните правой кнопкой мыши, чтобы ввести пароль. Нажмите Enter. Он будет невидим, не волнуйтесь.)
Шаг 8. Войдите в новый Discourse
- Перейдите в раздел «Резервные копии«, теперь вы увидите файл резервной копии 😄.
- Восстановите файл, который мы перенесли со старого сервера

Важное замечание: Рекомендуется выполнять восстановление через Терминал.
cd /var/discourse
./launcher enter app
discourse restore blogging-forum-for-beginners-and-advanced-bloggers-hgk-2019-07-27-062206-v20190717133743.tar.gz
Шаг 9. Включите исходящие сообщения электронной почты

🎉 Поздравляем! Вы закончили! 😊
Использование S3 было для меня дорогостоящим. Это самый доступный и простой способ, который я смог придумать.
Этот процесс не требует локальной загрузки или выгрузки. Таким образом, вы можете экономить данные Интернета.
Если вам понравилось, поделитесь с нами, или у вас есть вопросы? Дайте мне знать ниже.
Ссылка: Резервное копирование / восстановление Discourse из командной строки — Мета