в настоящее время мы работаем на версии 2.6.0.beta1 и теперь хотим перейти на последнюю стабильную версию. Поскольку 2.6.0 — это старая версия, есть ли что-то, о чём нам стоит беспокоиться? Конечно, мы сначала сделаем резервную копию, но, возможно, у вас есть какие-то советы
Вероятность того, что ОС вашей виртуальной машины поддерживается, крайне мала. Я рекомендую переместить сайт Discourse на другой VPS с помощью rsync, исключив файлы базы данных, создать новый контейнер, а затем восстановить резервную копию с существующего сайта.
На самом деле, я бы скорее рекомендовал выполнить чистую установку discourse-setup, вместо того чтобы использовать ваш текущий app.yml и переносить настройки SMTP и прочее. Там также произошли некоторые изменения.
Представим на минуту, что вы выполнили обновление ОС на виртуальной машине до актуальной версии: с тех пор как минимум дважды обновлялся PostgreSQL. Попытка выполнить обновление на месте, скорее всего, провалится. Если вы попробуете и это не удастся, я не скажу «я же предупреждал», но и ничего другого тоже не скажу.
Большое спасибо за ваш ответ. Поскольку нам также нужно переехать на новый сервер, первоначальный план заключался в том, чтобы сначала перенести старый Discourse на новый сервер, а затем выполнить обновление.
Вы всё ещё рекомендуете устанавливать новый Discourse?
Перенос на новый сервер гораздо безопаснее, так как старый сервер не нужно менять, пока новый не заработает!
Я бы поступил так: следовал бы руководству по rsync, исключив postgres_*. Затем переименовал бы app.yml и выполнил ./discourse-setup --skip-connection-test (так как DNS ещё не будет указывать на новый сервер). После этого восстановил бы резервную копию. Обычно можно проверить, что новый сервер работает, изменив локальный DNS так, чтобы он указывал на него, но в худшем случае вы просто меняете DNS, и если всё пойдёт плохо, возвращаете его обратно. (Если это Digital Ocean или другая платформа с плавающим IP, который можно назначать нескольким ВМ, то можно просто перенаправить IP и не возиться с DNS).
Я делал это около 10 раз за последние несколько месяцев. Если вы предпочитаете не делать это самостоятельно, я готов помочь.
Хорошо, это то, что меня всегда интересовало. Неужели не нужна промежуточная доменная зона? Ничего не переписывается (дважды) из-за смены домена (дважды)?
Если вы скопируете директории ssl и lets encrypt, у вас будут сертификаты для существующего имени хоста. Сервер готов обслуживать этот домен, но DNS не указывает на него, поэтому это не сработает.
Обычно я просто копирую существующие файлы yml, но для этого очень старого сайта получение свежей версии — не плохая идея. В данном случае я считаю, что были внесены какие-то странные изменения, от которых, думаю, лучше отказаться.
НО, если вы хитры, вы можете обмануть свой браузер, чтобы он перешёл туда, и увидите, что всё выглядит хорошо. Затем вы можете изменить DNS, чтобы все остальные тоже увидели сайт. (И, надеюсь, не забудете отменить обман своего браузера, чтобы в будущем не запутаться.)