In questo articolo, ti mostreremo come installare NodeBB su un VPS Ubuntu 18.04 .
NodeBB è un software per forum open source che funziona sulla piattaforma Node.js, è gratuito e facile da usare. È ottimo per alimentare qualsiasi tipo di forum, discussione o bacheca della community. NodeBB utilizza socket web per interazioni istantanee e notifiche in tempo reale.
Prerequisiti:
- Un Ubuntu 18.04 VPS
- Node.js
- Database:utilizzeremo MongoDB in questo tutorial
- Server web Nginx
- Accesso SSH con privilegi di root
Fase 1:connettiti al tuo server
Per connetterti al tuo server tramite SSH come utente root, usa il seguente comando:
ssh root@IP_ADDRESS -p PORT_NUMBER
e sostituisci "IP_ADDRESS" e "PORT_NUMBER" con l'indirizzo IP del tuo server effettivo e il numero di porta SSH.
Una volta effettuato l'accesso, assicurati che il tuo server sia aggiornato eseguendo i seguenti comandi:
$ apt-get update $ apt-get upgrade
Passaggio 2:installa Node.js
Sui sistemi Ubuntu, puoi installare Node.js dal repository NodeSource:
$ apt-get update $ apt-get install curl git gcc g++ make
Successivamente, installa il repository Node.js con il seguente comando
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Successivamente, esegui i comandi seguenti per installare Node.js:
$ apt-get install nodejs
Ciò dovrebbe installare la versione 10 di Node.js insieme a "npm". Puoi verificare le versioni utilizzando:
$ node -v v10.15.3 $ npm -v 6.4.1
Fase 3:installa MongoDB
MongoDB è il database predefinito per NodeBB. Avvia l'installazione importando la chiave pubblica utilizzata dal sistema di gestione dei pacchetti.
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Aggiungi il repository MongoDB:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
Aggiorna l'indice del pacchetto apt e installa il server MongoDB:
$ apt-get update $ apt-get install -y mongodb-org
Avvia il servizio MongoDB:
$ systemctl start mongod.service $ systemctl enable mongod.service
Verifica l'installazione di MongoDB. Dovresti avere almeno la versione 4.0:
$ mongod --version db version v4.0.6 git version: caa42a1f75a56c7643d0b68d3880444375ec42e3 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64
Fase 4:configura MongoDB
Accedi a MongoDB eseguendo i seguenti comandi:
$ mongo
Quindi imposta il db su "admin" e crea un nuovo utente amministratore...
use admin
Crea un nuovo utente amministratore chiamato "admin" con una nuova password...
db.createUser( { user: "admin", pwd: "admin_password", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
Non dimenticare di sostituire "password_admin" con una password complessa.
Quindi, crea un nuovo database chiamato nodebb
use nodebb
Quindi crea un nuovo utente NodeBB denominato "nodebbuser" con i diritti per amministrare il database...
db.createUser( { user: "nodebbuser", pwd: "strong_password", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
Ancora una volta, non dimenticare di sostituire "strong_password" con una password reale e complessa.
Successivamente, esci dalla shell di MongoDB.
quit()
Successivamente, esegui i comandi seguenti per aprire il file di configurazione di MongoDB...
$ nano /etc/mongod.conf
cambia la riga evidenziata in abilitata.
# network interfaces net: port: 27017 bindIp: 127.0.0.1 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled #operationProfiling: #replication: #sharding:
quando hai finito, salva le modifiche.
Fase 5:installa Nginx
NodeBB può funzionare perfettamente con molti server web. In questo tutorial, lo configureremo per funzionare con Nginx, uno dei server Web più personalizzabili in circolazione.
Per installare Nginx sul tuo server Ubuntu 18.04, devi eseguire il seguente comando:
$ apt-get install nginx
Al termine dell'installazione, avvia Nginx e abilita l'avvio automatico dopo un riavvio con questi due comandi:
$ systemctl start nginx.service $ systemctl enable nginx.service
Passaggio 6:installa NodeBB
Vai alla directory appena creata eseguendo:
$ cd /var/www
Clona NodeBB in questa directory eseguendo questo comando:
$ git clone -b v1.12.0 https://github.com/NodeBB/NodeBB.git nodebb
* sostituisci la v1.12.0 con l'ultima versione elencata qui.
Crea un nuovo nodebb
utente:
$ useradd nodebb
Ora applica i permessi consigliati per file e cartelle di /var/www/nodebb
directory nel nodebb
utente:
sudo chown -R nodebb:nodebb /var/www/nodebb
Entra nella directory nodeBB con
$ cd nodebb
Avvia l'installazione utilizzando il seguente comando:
$ ./nodebb setup
Rispondi a ciascuna delle domande. Questo installerà i moduli da npm e quindi entrerà nell'utilità di installazione.
Ora avvia NodeBB con questo comando:
$ ./nodebb start Starting NodeBB "./nodebb stop" to stop the NodeBB server "./nodebb log" to view server output "./nodebb help" for more commands
Fase 7:crea un file Unit di sistema
Questo passaggio ci consentirà di eseguire NodeBB come servizio all'interno di systemd. Questo ci consente di avviarlo all'avvio e di farlo funzionare indipendentemente dalla nostra sessione del terminale.
Se è già in esecuzione, ferma NodeBB:
$ ./nodebb stop
Nel passaggio successivo, creeremo un file di unità di servizio in modo da poter eseguire NodeBB come servizio.
Apri il tuo editor di testo (useremo nano):
$ nano /etc/systemd/system/nodebb.service
e incolla la configurazione qui sotto:
[Unit] Description=NodeBB Documentation=https://docs.nodebb.org After=system.slice multi-user.goal mongod.service [Service] Kind=forking Person=nodebb StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodebb Setting=NODE_ENV=manufacturing WorkingDirectory=/var/www/nodebb PIDFile=/var/www/nodebb/pidfile ExecStart=/usr/bin/env node loader.js Restart=at all times [Install] WantedBy=multi-user.goal
Salva ed esci dal file. Ora devi ricaricare il demone in modo che il sistema possa prendere la nuova unità che abbiamo creato per systemd.
$ systemctl daemon-reload
Infine, possiamo avviare l'istanza NodeBB con il comando:
$ systemctl start nodebb
Per verificare lo stato del servizio NodeBB puoi eseguire il seguente comando:
$ systemctl status nodebb
Fase 8:Configura Nginx
NodeBB per impostazione predefinita viene eseguito sulla porta 4567. Configurare Nginx per inoltrare le richieste ad esso.
Crea un file di configurazione Nginx:
$ nano /etc/nginx/conf.d/nodebb.conf
Quindi aggiungi i seguenti contenuti:
server { listen 80; server_name forum.your_domain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
NOTA: Sostituisci "tuo_dominio.com" con il tuo nome di dominio registrato.
Ora controlla il file di configurazione per assicurarti che non ci siano errori di sintassi. Eventuali errori potrebbero causare il crash del server Web al riavvio.
$ nginx -t
Uscita:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Se non ci sono errori, puoi ricaricare la configurazione di Nginx.
$ systemctl reload nginx
Fase 9:accedi all'interfaccia Web di NodeBB
A questo punto, dovresti aver installato correttamente NodeBB sul tuo server Ubuntu 18.04. Dovresti essere in grado di accedere a http://forum.your_domain.com
e interagisci con il tuo forum.
Per accedere all'amministratore dashboard, utilizza http://forum.your_domain.com/admin
invece e usa le credenziali che hai impostato in precedenza.
Se hai seguito correttamente i passaggi, dovresti avere una copia corretta di NodeBB in esecuzione sul tuo server.
Naturalmente, non devi i installa NodeBB su Ubuntu 18.04 se hai un VPS Ubuntu con noi. Puoi semplicemente chiedere al nostro team di supporto di installare NodeBB su Ubuntu 18.04 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e saranno in grado di aiutarti con l'installazione.
PS . Se ti è piaciuto leggere questo post del blog su come installare NodeBB su Ubuntu 18.04, o se lo hai trovato utile, sentiti libero di condividerlo sui social network usando le scorciatoie qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.