Installa Discourse su Amazon Web Services (AWS) con Lightsail, SES e Route 53

:information_source: Questo argomento copre come installare Discourse utilizzando le istruzioni di installazione ufficiali con i servizi AWS per il provider DNS (Route 53), il provider di posta elettronica (SES) e il provider di server cloud (Lightsail).

Server cloud

Lightsail

  • Il valore predefinito di 1 GB di RAM funziona bene per le piccole community di Discourse. Consigliamo 2 GB di RAM per community più grandi.

^ $5/mese puoi ottenere un server che soddisfa il requisito minimo di Discourse, io uso quello da $10/mese ma pensavo che anche quello da $5/mese funzionerà.

Server di posta

Non puoi recuperare la chiave segreta, ma se l’hai persa puoi crearne una nuova da utilizzare.

Dominio

Configurazione passo passo

  1. Segui la documentazione di Route 53 per acquistare un dominio.

Se hai ricevuto un’e-mail “unable to process” in questo passaggio, AWS potrebbe dover prima rivedere il tuo account, apri un caso di supporto per farli avvisare quando il tuo account è stato rivisto e sei in grado di iniziare gli acquisti.

  1. Imposta il record DNS
    Apri la console Route 53

seleziona Hosted zones → crea hosted zone → inserisci il nome del tuo dominio → scorri verso il basso, fai clic su create hosted zone

Fai clic sul nome del dominio, aggiungendo un record A con il valore dell’indirizzo IP del tuo server cloud Lightsail, che puoi trovare nella tua console Lightsail. (Blocco rosso)

  1. Configura SES
    Apri la console SES

seleziona Verified identities → crea identity → inserisci il nome del tuo dominio (tipo domain) → scorri verso il basso, fai clic su create identity
crea identity → inserisci un indirizzo e-mail che utilizzerai per registrare l’account amministratore (tipo email address) → scorri verso il basso, fai clic su create identity


Poiché registriamo il dominio in Route 53, la verifica richiederà circa 5 minuti, riceverai un’e-mail per verificare l’indirizzo e-mail.

Quando entrambi sono verificati, fai clic sul nome del dominio, trova Publish DNS records, copia incolla la coppia DNS nella tua Route 53, sotto la hosted zone che hai appena creato nel passaggio 2

Vai su SMTP settings e fai clic su create SMTP credential, segui i passaggi e scarica un file CSV contenente il nome utente e la password SMTP.

L’endpoint SMTP è elencato anche più in basso in questa pagina.

  1. Configura Discourse
    I passaggi precedenti coprono i passaggi 1-3 nelle istruzioni di installazione ufficiali. Continua a seguire i passaggi 4-6.
Hostname per il tuo Discourse? [discourse.example.com]: // il tuo dominio
Indirizzo e-mail per l'account/gli account amministratore? /[me@example.com,you@example.com]: // quello verificato nelle identità verificate di SES
Indirizzo del server SMTP? [smtp.example.com]: // endpoint SMTP
Porta SMTP? [587]: // usa il valore predefinito
Nome utente SMTP? [user@example.com]: // nel tuo file CSV scaricato
Password SMTP? [pa$$word]: // nel tuo file CSV scaricato
E-mail dell'account Let's Encrypt? (ENTER per saltare) [me@example.com]: // usa il valore predefinito
Chiave di licenza Maxmind opzionale () [xxxxxxxxxxxxxxxx]: // usa il valore predefinito

Attendi l’installazione, quindi potrai registrare l’account amministratore con quello fornito sopra nelle impostazioni.

  1. Dopo l’installazione
    Quando sei pronto per presentare la tua community ai nuovi utenti, richiedi l’accesso alla produzione SES.
Nella descrizione del caso d'uso, spiega come intendi utilizzare Amazon SES per inviare e-mail. Per aiutarci a elaborare la tua richiesta, dovresti rispondere alle seguenti domande:

Come intendi creare o acquisire la tua mailing list?

Come intendi gestire rimbalzi e reclami?

Come possono i destinatari rinunciare a ricevere e-mail da te?

Come hai scelto la velocità di invio o la quota di invio che hai specificato in questa richiesta?

Si consiglia di seguire la guida di richiesta nell’URL, ma ciò non garantisce l’approvazione, se ricevi un’e-mail di rifiuto, prova ad aggiungere screenshot della lista di registrazione dei nuovi utenti e a dire loro che i nuovi utenti sono in attesa dell’e-mail di attivazione.

3 Mi Piace

Qualcuno può per favore aggiornare un tutorial passo passo appropriato per ospitare discourse su AWS Lightsail con SES.

Hai motivo di credere che qualcosa non vada?

3 Mi Piace

Ho trovato la guida qui estremamente utile per fare una prova delle configurazioni SES

basta copiare/incollare lo script mostrato lì in un nuovo file script, modificare l’endpoint (ad esempio email-smtp.us-east-1.amazonaws.com), e sembra funzionare bene. Per qualche motivo, il metodo telnet non sembra funzionare con SES, non so perché.

oh sì per quella guida ho fatto anche questo per “creare un set di configurazione”, non sono sicuro se fosse effettivamente richiesto o meno per Discourse ma l’ho fatto comunque solo per poter testare SES come descritto nello script Creating configuration sets in SES - Amazon Simple Email Service

ecco un’altra cosa che mi ha confuso: Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service

Per il record MX DNS richiesto da applicare al tuo dominio, AWS SES fornisce il “Valore” del record in un formato come questo;

10 inbound-smtp.region.amazonaws.com

Tuttavia, il mio registrar di dominio mi ha dato un errore che “il Valore deve essere un hostname”, ovvero non gli piaceva il " 10 " che era prefissato lì. La console AWS non ti diceva direttamente cosa significasse o cosa farne, quindi come da documentazione collegata lì, devi fare questo per il tuo registrar DNS;

I pannelli di gestione di alcuni provider DNS includono campi separati per il Valore del record e la Priorità del record. Se questo è il caso del tuo provider DNS, inserisci 10 per il valore di Priorità e inserisci l’URL dell’endpoint di posta in arrivo per il Valore.

Dovrebbe apparire così nella dashboard del tuo registrar di dominio;

1 Mi Piace

Come follow-up, forse potremmo espandere questo post per includere la configurazione per AWS Cloudfront CDN? Dato che si adatta bene al resto dello stack AWS descritto qui. L’ho fatto funzionare seguendo i consigli di questo post

ma sarebbe fantastico includere una guida più completa.