Ripristino del forum su un nuovo server

Per i vari servizi di produzione che gestisco (siti WordPress, ecc.) mi piace eseguire anche un secondo sito “mirror”, oltre a quello di produzione. Ad esempio, potrei avere www.mydomain.com e anche mirror.mydomain.com. Quest’ultimo viene creato clonando il sito di produzione e poi disabilitando alcuni processi che non è necessario far eseguire.

Vorrei fare lo stesso con il mio forum. Per quanto ne so, la funzione di ripristino è “tutto incluso”: ripristina non solo i dati (argomenti, ecc.) ma anche l’intera configurazione. Questo mi lascia con due problemi che vorrei comprendere meglio.

  1. Utilizzo l’SSO di WordPress. Al termine del ripristino, vorrei che il sito Discourse mirror-forum.mydomain.com puntasse a mirror.mydomain.com come fonte di accesso. Come potrei modificare il sito forum mirror (ovviamente un circolo vizioso: dopo il ripristino e l’accesso, il sito mirror punterebbe presumibilmente al sito di produzione)?

  2. Voglio essere sicuro al 100% che non vengano inviate e-mail dal sito forum mirror. Ancora una volta, se eseguo il ripristino sul sito forum mirror, presumo che tutti i processi pianificati del sito di produzione (invio di email di riepilogo agli utenti, ecc.) verranno pianificati, giusto? Come posso evitarlo? Esiste una posizione centrale per disattivare TUTTE le e-mail da quel server?

Come posso affrontare questa situazione?

Grazie.

Date un’occhiata a Syncing Production to Staging

in particolare Questa sembra un’ottima strategia

Ecco uno script che utilizziamo per mantenere un sito di staging sincronizzato con il sito di produzione.

#!/bin/bash
echo "cd /var/www/discourse"
cd /var/www/discourse

echo "/usr/local/bin/rake site_settings:export > /var/www/discourse/settings.yml"
/usr/local/bin/rake site_settings:export >  /var/www/discourse/settings.yml

echo "cd /var/www/discourse/public/backups/default"
cd /var/www/discourse/public/backups/default

echo "/usr/local/bin/discourse restore " $(ls -r | head -1)
/usr/local/bin/discourse restore $(ls -r | head -1)

echo "cd /var/www/discourse"
cd /var/www/discourse

echo "/usr/local/bin/rake site_settings:import <  /var/www/discourse/settings.yml"
/usr/local/bin/rake site_settings:import <  /var/www/discourse/settings.yml

Viene eseguito da Docker.

Esempio di chiamata a uno script dall’esterno dell’istanza Discourse:

echo 'cd /var/www/discourse; RUBY_ENV=production rails r /var/www/discourse/script/import_scripts/wordpress-with-sabai-export.rb /var/www/discourse/script/import_scripts/wordpress-discourse-id-map.json' | docker exec -i $(docker ps | grep app | awk '{print $1}') /bin/bash

Imposta l’impostazione “disabilita e-mail” del sito speculare su “sì”

https://{fully-qualiified-domain-name}/admin/site_settings/category/email?filter=disable%20email

Sì, disattiva le e-mail dalle impostazioni del tuo sito. In alternativa, puoi impostare le e-mail solo per lo staff, il che è utile in alcune occasioni.

Ottimo lavoro a tutti. Sembra che questo mi fornisca tutto ciò di cui ho bisogno. Grazie.