Questa guida è destinata a chi è interessato all’auto-ospitazione di un sito Discourse su Azure e vi accompagnerà nei dettagli iniziali del portale Azure necessari per creare la vostra VM Linux, in modo da poter poi seguire la guida di installazione cloud standard indipendente dal provider di hosting web. Se non siete interessati all’auto-ospitazione ma desiderate che ospitiamo noi il vostro forum Discourse, iscrivetevi qui.
1) Creare un gruppo di risorse
Prima di creare la VM, creiamo un gruppo di risorse. Qui risiederanno tutti gli elementi relativi al vostro sito Discourse, come i dischi di archiviazione della VM, la rete, i gruppi di sicurezza, l’archiviazione blob, ecc. Per creare un gruppo di risorse, fate clic sul segno più verde, selezionate “Gruppo di risorse”, quindi compilate il campo “Nome gruppo di risorse”, selezionate la vostra “Sottoscrizione” e la “Posizione del gruppo di risorse”, infine premete “Crea”.
2) Creare la VM Linux
Per questa guida creeremo una VM Ubuntu 16.04 LTS. Per farlo, fate di nuovo clic sul segno più verde, cercate “Ubuntu Server 16.04 LTS” e dovrebbe apparire come una delle VM disponibili.
Selezionatela, quindi assicuratevi che il modello di distribuzione sia impostato su “Resource Manager” e fate clic su “Crea”.
3) Configurare le impostazioni di base
Ora dovreste trovarvi nella scheda “Base” di “Crea una macchina virtuale”. Compilate tutti i campi obbligatori per configurare la VM. Selezionate il gruppo di risorse “discourse” creato in precedenza, assegnate alla VM un nome come “discourse” e scegliete la regione che preferite utilizzare.
Sempre nella stessa scheda “Base”, dovrete scegliere le dimensioni della VM. Di default è impostata su “Standard D2s v3”, che dispone di 8 GB di memoria e costa 71,42 $ al mese; assicuratevi quindi di selezionare “Cambia dimensioni” e scegliere una dimensione della VM adatta al vostro carico di lavoro.
Per il minimo indispensabile, selezionate l’opzione “B1ms” con 2 GB di RAM. Anche se l’opzione “B1s” viene pubblicizzata con 1 GB, a livello di sistema operativo si ottengono solo circa 800 MB di RAM, insufficienti per far funzionare bene Discourse. Il costo della “B1ms” è di 17,11 $ al mese.
Ora compilate il nome utente Linux e caricate la vostra chiave pubblica SSH. In alternativa, potete configurare un accesso basato sulla password, ma si preferisce l’accesso tramite chiave SSH.
Ora dobbiamo assicurarci di avere accesso web e SSH alla macchina selezionando il pulsante radio “Consenti porte selezionate” e scegliendo HTTP, HTTPS e SSH dal menu a discesa “Seleziona porte in entrata”. Al termine della configurazione, è buona norma limitare l’accesso SSH solo al vostro indirizzo IP.
Selezionate “Revisiona + crea”. Verificate che tutto sia corretto nella pagina Riepilogo, quindi premete “Crea”. La creazione della VM richiederà alcuni minuti.
4) Connettersi alla VM via SSH
Avremo bisogno dell’accesso da riga di comando per configurare lo swap e installare Discourse. Una volta creata la VM, dovreste poterla selezionare dal portale Azure; nella schermata Panoramica verrà visualizzato l’indirizzo IP pubblico. Aprite il terminale e connettetevi alla VM tramite SSH utilizzando il nome utente specificato al punto 3 di questa guida.
Se non siete sicuri di come effettuare la connessione SSH alla VM, potete in alternativa utilizzare la “Console seriale” all’interno del portale Azure: selezionate la VM e, nella parte inferiore della navigazione a sinistra, scegliete “Console seriale”.
Questo aprirà una shell in cui potrete inserire il nome utente e la password specificati prima di creare la VM. Se non ricordate la password, potete utilizzare l’opzione “Reimposta password”.
Ora dovreste trovarvi in un terminale dove potete digitare i comandi:
5) Configurazione dello swap
Ogni VM Azure dispone di un disco temporaneo separato dal disco del sistema operativo, solitamente montato su /dev/sdb1. Dovete assicurarvi che lo swap sia configurato su questo disco temporaneo e non sul disco del sistema operativo, perché:
Questo disco di archiviazione temporanea è presente sulla macchina fisica che ospita la vostra VM e può quindi offrire IOPS più elevati e latenza inferiore rispetto all’archiviazione persistente come il disco dati. - Comprendere il disco temporaneo nelle macchine virtuali Azure
Modificate il file /etc/waagent.conf e aggiornate le seguenti righe:
ResourceDisk.Format=y
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=2048
Nota: Se avete già configurato lo swap sul disco del sistema operativo (magari perché ./discourse-setup lo ha fatto per voi), potete disattivarlo commentando la riga /swapfile in /etc/fstab.
Se non sapete come modificare il file /etc/waagent.conf con un editor da riga di comando come vim, potete semplicemente copiare e incollare il seguente comando nel terminale e premere Invio:
sudo sed -i '/ResourceDisk.Format=n/c\\ResourceDisk.Format=y' /etc/waagent.conf && sudo sed -i '/ResourceDisk.EnableSwap=n/c\\ResourceDisk.EnableSwap=y' /etc/waagent.conf && sudo sed -i '/ResourceDisk.SwapSizeMB=0/c\\ResourceDisk.SwapSizeMB=2048' /etc/waagent.conf
Se è la prima volta che eseguite un comando sudo, potrebbe chiedervi la password.
Riavviate quindi la VM con sudo shutdown -r now.
Per verificare che lo swap funzioni, ricollegatevi alla VM e digitate swapon --show; dovreste vedere qualcosa del genere:
root@azure:~# swapon --show
NAME TYPE SIZE USED PRIO
/mnt/swapfile file 2G 0B -2
Notate che il file di swap si trova in /mnt; questo è positivo perché si tratta del nostro disco temporaneo.
Potete anche digitare free -h e vedere qualcosa del genere:
root@azure:~# free -h
total used free shared buff/cache available
Mem: 1.9G 174M 1.5G 3.0M 172M 1.5G
Swap: 2.0G 0B 2.0G
Lo swap dovrebbe mostrare un valore nella colonna total, il che significa che è stato configurato correttamente.
6) Installare Discourse
Ora che la VM Linux è stata creata su Azure e abbiamo una partizione di swap, è il momento di seguire la Guida ufficiale di installazione cloud.
7) Installare il plugin Azure Blob Storage (opzionale)
Una volta installato Discourse, potete seguire le istruzioni di installazione presenti nell’argomento Plugin Azure Blob Storage. L’installazione e l’attivazione di questo plugin faranno sì che le immagini caricate dagli utenti vengano archiviate nell’archiviazione blob invece che sulla vostra VM Linux, migliorando le prestazioni ed evitando che il disco del sistema operativo si riempia.









