Kuidas installida NodeBB foorum FreeBSD 12-sse

NodeBB on Node.js- il põhinev foorumitarkvara. See kasutab veebipistikupesasid vahetu suhtluse ja reaalajas teavituste jaoks. NodeBB lähtekoodi majutatakse avalikult Githubis . See juhend juhendab teid läbi NodeBB installiprotsessi värskel FreeBSD 12 Vultr eksemplaril, kasutades Node.js-i, MongoDB-d andmebaasina, Nginxi pöördpuhverserverina ja Acme.sh-i SSL-sertifikaatide jaoks.

Nõuded

NodeBB nõuab järgmise tarkvara installimist:

  • Node.js versioon 6.9.0 või uuem
  • MongoDB versioon 2.6 või uuem
  • Nginx
  • Git
  • Vähemalt 1024 MB RAM
  • Domeeninimi A/ AAAAkirjetega seadistatud

Enne alustamist

Kontrollige FreeBSD versiooni.

uname -ro
# FreeBSD 12.0-RELEASE

Veenduge, et teie FreeBSD süsteem on ajakohane.

freebsd-update fetch install
pkg update && pkg upgrade -y

Installige vajalikud paketid, kui neid teie süsteemis pole.

pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips

Loo uus kasutajakonto oma eelistatud kasutajanimega (kasutame johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Käivitage visudokäsk ja tühjendage %wheel ALL=(ALL) ALLrea kommentaarid , et wheelrühma liikmed saaksid mis tahes käsku täita.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Nüüd lülituge oma vastloodud kasutajale, kasutades su.

su - johndoe

MÄRKUS. Asendage johndoeoma kasutajanimega.

Seadistage ajavöönd.

sudo tzsetup

Installige Node.js

NodeBB-d juhib Node.js ja seetõttu tuleb see installida. Soovitatav on installida Node.js'i praegune LTS-versioon.

Installige Node.js ja npm.

sudo pkg install -y node10 npm-node10

Kontrollige versioone.

node -v && npm -v
# v10.15.3
# 6.9.0

Installige ja konfigureerige MongoDB

MongoDB on NodeBB vaikeandmebaas.

Installige MongoDB.

sudo pkg install -y mongodb40

Kontrolli versiooni.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6

Lubage ja käivitage MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

Looge NodeBB jaoks andmebaas ja kasutaja.

Ühendage kõigepealt MongoDB-ga.

mongo

Lülituge sisseehitatud adminandmebaasile.

> use admin

Looge administraatorikasutaja.

> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )

MÄRKUS. Asendage kohatäide <Enter a secure password>enda valitud parooliga.

Lisage uus andmebaas nimega nodebb.

> use nodebb

Andmebaas luuakse ja kontekst lülitub ümber nodebb. Järgmisena looge nodebbvastavate õigustega kasutaja.

> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )

MÄRKUS. Jällegi asendage kohahoidja <Enter a secure password>enda valitud parooliga.

Väljuge Mongo kestast.

> quit()

Taaskäivitage MongoDB ja veenduge, et varem loodud administraatorikasutaja saaks ühenduse luua.

sudo service mongod restart
mongo -u admin -p your_password --authenticationDatabase=admin

Installige ja konfigureerige Nginx

Installige Nginx.

sudo pkg install -y nginx

Kontrolli versiooni.

nginx -v
# nginx version: nginx/1.14.2

Lubage ja käivitage Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

NodeBB töötab vaikimisi pordis 4567. http://example.com:4567Tippimise vältimiseks konfigureerime Nginxi NodeBB rakenduse pöördpuhverserverina. Iga pordi 80või 443SSL-i kasutamise päring edastatakse porti 4567.

Käivitage sudo vim /usr/local/etc/nginx/nodebb.confja sisestage see alloleva pöördpuhverserveri põhikonfiguratsiooniga.

server {

  listen [::]:80;
  listen 80;

  server_name forum.example.com;

  root /usr/share/nginx/html;

  client_max_body_size 50M;

  location /.well-known/acme-challenge/ {
    allow all;
  }

  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_hide_header X-Powered-By;
    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";
  }

}

Ülaltoodud konfiguratsioonis värskendage server_namedirektiivi oma domeeni/hostinimega.

Salvestage fail ja väljuge klahviga :+ W+ Q.

Nüüd peavad sisaldama nodebb.confpeamistes nginx.conffaili.

Käivitage sudo vim /usr/local/etc/nginx/nginx.confja lisage http {}plokki järgmine rida .

include nodebb.conf;

Kontrollige konfiguratsiooni.

sudo nginx -t

Laadige Nginx uuesti.

sudo service nginx reload

Installige Acme.sh klient ja hankige Let's Encrypt sertifikaat (valikuline)

Foorumi kaitsmine HTTPS-iga ei ole vajalik, kuid see kindlustab teie saidi liikluse. Acme.sh on puhas unixi kestatarkvara, mis võimaldab hankida Let's Encrypt SSL-sertifikaate ilma sõltuvusteta.

Laadige alla ja installige Acme.sh.

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Kontrolli versiooni.

/etc/letsencrypt/acme.sh --version
# v2.8.1

Hankige RSA ja ECDSA sertifikaadid forum.example.com.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload"  --keylength ec-256

Pärast ülaltoodud käskude käivitamist on teie sertifikaadid ja võtmed:

  • RSA: /etc/letsencrypt/forum.example.com.
  • ECC/ECDSA: /etc/letsencrypt/forum.example.com_ecc.

Pärast Let's Encrypti sertifikaatide saamist peame konfigureerima Nginxi nende kasutamiseks.

Käivitage sudo vim /usr/local/etc/nginx/nodebb.confuuesti ja konfigureerige Nginx HTTPS-i pöördpuhverserverina.

server {

  listen [::]:443 ssl http2;
  listen 443 ssl http2;
  listen [::]:80;
  listen 80;

  server_name forum.example.com;

  root /usr/share/nginx/html;

  client_max_body_size 50M;

  location /.well-known/acme-challenge/ {
    allow all;
  }

  # RSA
  ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;

  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";
  }

}

Kontrollige konfiguratsiooni.

sudo nginx -t

Laadige Nginx uuesti.

sudo service nginx reload

Installige NodeBB

Looge dokumendi juurkataloog.

sudo mkdir -p /usr/local/www/nodebb

Muutke /usr/local/www/nodebbkataloogi omandiõigus johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/nodebb

Liikuge dokumendi juurkausta.

cd /usr/local/www/nodebb

Kloonige uusim NodeBB dokumendi juurkausta.

git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .

Käivitage NodeBB häälestuskäsk ja vastake igale küsimusele, kui seda küsitakse.

./nodebb setup

Kui NodeBB seadistamine on lõpetatud, käivitage ./nodebb startoma NodeBB serveri käsitsi käivitamine.

./nodebb start

Pärast seda käsku pääsete veebibrauseris juurde oma NodeBB foorumi eksemplarile.

Käivitage NodeBB PM2-ga

Kui ./nodebb startNodeBB käivitatakse kaudu , ei käivitu see süsteemi taaskäivitamisel automaatselt uuesti. Selle vältimiseks peame seadistama NodeBB süsteemiteenusena.

Kui töötab, peatage NodeBB.

./nodebb stop

Installige PM2 globaalselt.

sudo npm install pm2 -g

Kontrolli versiooni.

pm2 -v
# 3.5.0

Liikuge NodeBB dokumendi juure.

cd /usr/local/www/nodebb

Käivitage NodeBB PM2 kaudu.

pm2 start app.js

Loetlege NodeBB protsess.

pm2 ls

Tuvastage saadaolev init-süsteem.

pm2 startup

Käivituskonksu seadistamiseks kopeerige ja kleepige selle käsu väljund CLI-sse.

Salvestage oma protsesside loend.

pm2 save

See on kõik. Teie NodeBB eksemplar on nüüd valmis ja töötab.


Kuidas installida väike väike RSS-lugeja FreeBSD 11 FAMP VPS-i

Kuidas installida väike väike RSS-lugeja FreeBSD 11 FAMP VPS-i

Kas kasutate teistsugust süsteemi? Tiny Tiny RSS Reader on tasuta ja avatud lähtekoodiga isehostitav veebipõhine uudistevoo (RSS/Atom) lugeja ja koondaja, mis on loodud

Kuidas installida Wiki.jsi FreeBSD 11-sse

Kuidas installida Wiki.jsi FreeBSD 11-sse

Kas kasutate teistsugust süsteemi? Wiki.js on tasuta avatud lähtekoodiga kaasaegne vikirakendus, mis on üles ehitatud Node.js-ile, MongoDB-le, Gitile ja Markdownile. Wiki.js lähtekood on avalik

Kuidas installida Pagekit 1.0 CMS FreeBSD 11 FAMP VPS-i

Kuidas installida Pagekit 1.0 CMS FreeBSD 11 FAMP VPS-i

Kas kasutate teistsugust süsteemi? Pagekit 1.0 CMS on ilus, modulaarne, laiendatav ja kerge, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS).

Kuidas installida MODX Revolution FreeBSD 11 FAMP VPS-i

Kuidas installida MODX Revolution FreeBSD 11 FAMP VPS-i

Kas kasutate teistsugust süsteemi? MODX Revolution on kiire, paindlik, skaleeritav avatud lähtekoodiga ettevõttetasemel sisuhaldussüsteem (CMS), mis on kirjutatud PHP-s. See i

Seadistage OpenBSD 5.5 64-bitine

Seadistage OpenBSD 5.5 64-bitine

See artikkel juhendab teid OpenBSD 5.5 (64-bitise) seadistamise kaudu KVM-is Vultr VPS-iga. Samm 1. Logige Vultri juhtpaneelile sisse. Samm 2. Klõpsake nuppu DEPLOY

Kuidas installida osTicket FreeBSD 12-sse

Kuidas installida osTicket FreeBSD 12-sse

Kas kasutate teistsugust süsteemi? osTicket on avatud lähtekoodiga klienditoe piletimüügisüsteem. osTicketi lähtekoodi majutatakse avalikult Githubis. Selles õpetuses

Kuidas installida Flarum Forum FreeBSD 12-sse

Kuidas installida Flarum Forum FreeBSD 12-sse

Kas kasutate teistsugust süsteemi? Flarum on tasuta ja avatud lähtekoodiga järgmise põlvkonna foorumitarkvara, mis muudab veebiarutelu lõbusaks. Flarum lähtekoodi majutatakse o

Kuidas lubada TLS 1.3 Nginxis FreeBSD 12-s

Kuidas lubada TLS 1.3 Nginxis FreeBSD 12-s

Kas kasutate teistsugust süsteemi? TLS 1.3 on transpordikihi turvalisuse (TLS) protokolli versioon, mis avaldati 2018. aastal RFC 8446 pakutud standardina.

Installige WordPress OpenBSD 6.2-le

Installige WordPress OpenBSD 6.2-le

Sissejuhatus WordPress on Internetis domineeriv sisuhaldussüsteem. See võimaldab kõike alates ajaveebidest kuni keeruliste dünaamilise sisuga veebisaitideni

Kuidas installida Subrion 4.1 CMS FreeBSD 11 FAMP VPS-ile

Kuidas installida Subrion 4.1 CMS FreeBSD 11 FAMP VPS-ile

Kas kasutate teistsugust süsteemi? Subrion 4.1 CMS on võimas ja paindlik avatud lähtekoodiga sisuhaldussüsteem (CMS), mis pakub intuitiivset ja selget sisu

Kuidas konfigureerida DJBDNS-i FreeBSD-s

Kuidas konfigureerida DJBDNS-i FreeBSD-s

See õpetus näitab teile, kuidas konfigureerida DNS-teenust, mida on lihtne hooldada, lihtne konfigureerida ja mis on üldiselt turvalisem kui klassikaline BIN.

Kuidas installida Nginxi, MySQL-i ja PHP (FEMP) pinu FreeBSD 12.0-sse

Kuidas installida Nginxi, MySQL-i ja PHP (FEMP) pinu FreeBSD 12.0-sse

FEMP-pinn, mis on võrreldav LEMP-pinuga Linuxis, on avatud lähtekoodiga tarkvara kogum, mis tavaliselt installitakse koos FreeBS-i lubamiseks.

MongoDB installimine FreeBSD 10-sse

MongoDB installimine FreeBSD 10-sse

MongoDB on maailmatasemel NoSQL-i andmebaas, mida kasutatakse sageli uuemates veebirakendustes. See pakub suure jõudlusega päringuid, jagamist ja replikatsiooni

Kuidas installida Monicat FreeBSD 12-sse

Kuidas installida Monicat FreeBSD 12-sse

Kas kasutate teistsugust süsteemi? Monica on avatud lähtekoodiga isiklike suhete haldussüsteem. Mõelge sellele kui CRM-ile (populaarne tööriist, mida kasutavad müügimeeskonnad th

OpenBSD as an E-Commerce Solution With PrestaShop and Apache

OpenBSD as an E-Commerce Solution With PrestaShop and Apache

Introduction This tutorial demonstrates OpenBSD as an e-commerce solution using PrestaShop and Apache. Apache is required because PrestaShop has complex UR

Fork CMS-i installimine FreeBSD 12-sse

Fork CMS-i installimine FreeBSD 12-sse

Kas kasutate teistsugust süsteemi? Fork on avatud lähtekoodiga CMS, mis on kirjutatud PHP-s. Forksi lähtekoodi hostitakse GitHubis. See juhend näitab teile, kuidas Fork CM-i installida

Directus 6.4 CMS installimine FreeBSD 11 FAMP VPS-i

Directus 6.4 CMS installimine FreeBSD 11 FAMP VPS-i

Kas kasutate teistsugust süsteemi? Directus 6.4 CMS on võimas ja paindlik, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis pakub arendajatele

FreeBSD turvalisuse suurendamine IPFW ja SSHGuardi abil

FreeBSD turvalisuse suurendamine IPFW ja SSHGuardi abil

VPS-serverid on sageli sissetungijate sihikule. Levinud ründetüüp kuvatakse süsteemilogides sadade volitamata ssh-i sisselogimiskatsetena. Seadistan

httpd seadistamine OpenBSD-s

httpd seadistamine OpenBSD-s

Sissejuhatus OpenBSD 5.6 tutvustas uut deemonit nimega httpd, mis toetab CGI-d (FastCGI kaudu) ja TLS-i. Uue http installimiseks pole vaja täiendavat tööd teha

Seadistage iRedMail FreeBSD 10-s

Seadistage iRedMail FreeBSD 10-s

See õpetus näitab teile, kuidas installida grupitöö iRedMail värskele FreeBSD 10 installile. Peaksite kasutama serverit, millel on vähemalt üks gigabaid

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit