NodeBB è un software per forum moderno, open source e basato su NodeJS.
Con in mente i clienti, NodeBB offre ai proprietari di comunità potenti funzionalità e facilità d'uso per favorire il coinvolgimento della comunità.
In questo articolo, installeremo NodeBB su CentOS 7.
Prerequisiti
- Una nuova istanza del server Vultr CentOS 7 x64 di almeno 1 GB di RAM.
- Accesso come
root
utente.
- Il
EPEL
repository yum.
Passaggio 1: aggiornare il sistema
Accedere al server tramite SSH utilizzando l'utente sudo per installare epel
, aggiornare il sistema e riavviare per applicare gli aggiornamenti.
yum install epel-release -y
yum update -y && sudo shutdown -r now
Passaggio 2: installare le dipendenze per NodeBB
Successivamente, installeremo tutte le dipendenze di sistema richieste da NodeBB:
yum -y groupinstall "Development Tools"
yum -y install git redis ImageMagick npm
Avviare redis
e farlo funzionare ad ogni avvio del sistema:
systemctl start redis.service
systemctl enable redis.service
Passaggio 3: installare NodeJS utilizzando nvm
Utilizzare i seguenti comandi per installare NodeJS v6.9.5
, l'ultima versione LTS di NodeJS al momento della stesura di questo articolo.
Nota: il secondo comando seguente invocherà nvm v0.33.0
, l'ultima versione di nvm al momento della stesura di questo articolo. Puoi sempre controllare l'ultima versione di nvm qui e quindi modificare quel comando di conseguenza.
cd
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
source ~/.bash_profile
nvm list-remote
nvm install v6.9.5
Passaggio 4: installare NodeBB
Installare l'ultima versione di NodeBB, NodeBB v1.4.3
, come segue:
cd /opt
git clone -b v1.4.3 https://github.com/NodeBB/NodeBB nodebb
cd nodebb
npm install
Dopo l'installazione, esegui lo ./nodebb
script con il setup
flag per configurare NodeBB:
./nodebb setup
Rispondere ad alcune domande come segue per utilizzare le impostazioni predefinite con un database redis. Se appropriato, premere Enter
per accettare l'impostazione predefinita indicata tra parentesi.
- URL utilizzato per accedere a questo NodeBB (http: // localhost: 4567)
<Enter>
- Inserisci un segreto NodeBB (bb3244f1-3a7e-4ee2-bc77-5032fd4c8b00)
<Enter>
- Quale database usare (mongo)
redis
- IP host o indirizzo dell'istanza Redis (127.0.0.1)
<Enter>
- Porta host dell'istanza Redis (6379)
<Enter>
- Password del tuo database Redis
<Enter>
- Quale database usare (0..n) (0)
<Enter>
- Nome utente amministratore
admin
- Indirizzo email dell'amministratore
[email protected]
- Parola d'ordine
yourpassword
- conferma password
yourpassword
Dopo aver installato e configurato correttamente NodeBB, è possibile avviare / arrestare / riavviare manualmente NodeBB eseguendo:
./nodebb start
./nodebb stop
./nodebb restart
Passaggio 5: mantenere NodeBB in esecuzione per sempre
Per sempre è uno strumento in grado di mantenere in esecuzione app basate su nodejs. In produzione, questa è una funzione utile.
Innanzitutto, è necessario interrompere NodeBB:
./nodebb stop
Installa per sempre a livello globale:
npm install forever -g
Avvia NodeBB usando per sempre:
cd /opt/nodebb
forever start app.js
Puoi confermare che NodeBB è in esecuzione usando un curl
comando:
curl -I http://localhost:4567
L'output dovrebbe assomigliare a:
HTTP/1.1 200 OK
X-Powered-By: NodeBB
X-Frame-Options: SAMEORIGIN
Access-Control-Allow-Origin: null
Content-Type: text/html; charset=utf-8
Content-Length: 19845
ETag: W/"4d85-cXlw1a5DyxHkfjSEd7Ru5Q"
set-cookie: express.sid=s%3AqoIQ1-JSyw1tvrrhyXiP7Sm5D-gDJ9HT.Aum4qMXBPiCgZ7Il%2BtrePafZJWEt2dIJlS%2BBTRZjWZs; Path=/; Expires=Sun, 26 Feb 2017 15:14:35 GMT; HttpOnly
Vary: Accept-Encoding
Date: Sun, 12 Feb 2017 15:14:36 GMT
Connection: keep-alive
Passaggio 6: configurare un proxy inverso Nginx
Poiché NodeBB è in esecuzione su localhost per impostazione predefinita, è necessario configurare un proxy inverso Nginx per consentire l'accesso al web.
Installa Nginx usando YUM:
yum install nginx -y
Modifica le impostazioni di Nginx:
vi /etc/nginx/nginx.conf
Trova il location / {}
segmento all'interno del http {}
segmento:
http {
location / {
}
}
Inserisci le seguenti righe nel location / {}
segmento:
proxy_pass http://127.0.0.1:4567;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
Il risultato finale dovrebbe essere:
http {
location / {
proxy_pass http://127.0.0.1:4567;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
}
}
Salva ed esci:
:wq!
Avviare e abilitare il servizio Nginx:
systemctl start nginx.service
systemctl enable nginx.service
Passaggio 7: modificare le regole del firewall per consentire l'accesso dei visitatori:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Passaggio 8: accedere a NodeBB
Infine, punta il tuo browser Web http://203.0.113.1
per visitare il sito Web NodeBB appena creato. È possibile accedere utilizzando le credenziali di amministratore configurate in precedenza. Sentiti libero di navigare e personalizzare NodeBB dopo aver effettuato l'accesso come amministratore.