Kuidas installida NodeBB foorum Fedora 28-sse

NodeBB on Node.js- il põhinev foorum. See kasutab veebipistikupesasid vahetu suhtluse ja reaalajas teavituste jaoks. NodeBB lähtekoodi majutatakse avalikult Githubis . See juhend juhendab teid NodeBB installiprotsessist värskel Fedora 28 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:

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

Enne alustamist

Kontrollige Fedora versiooni.

cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

Looge uus juurdepääsuga mitte-root kasutajakonto sudoja lülituge sellele.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

MÄRKUS . Asendage johndoeoma kasutajanimega.

Seadistage ajavöönd.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Veenduge, et teie süsteem on ajakohane.

sudo dnf check-upgrade || sudo dnf upgrade -y

Installige vajalikud paketid.

sudo dnf install -y git wget vim gcc-c++ make

Lihtsuse huvides keelake SELinux ja tulemüür.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

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.

sudo dnf install -y nodejs

Kontrollige Node.js ja npm installimist.

node -v && npm -v
# v8.11.3
# 5.6.0

Installige ja konfigureerige MongoDB

MongoDB on NodeBB vaikeandmebaas.

Installige MongoDB.

sudo dnf install -y mongodb mongodb-server

Kontrolli versiooni.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3

Lubage ja käivitage MongoDB teenus.

sudo systemctl enable mongod.service
sudo systemctl start mongod.service

Looge NodeBB jaoks MongoDB andmebaas ja kasutaja.

Esmalt looge ühendus MongoDB serveriga.

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 kontrollige, kas varem loodud administraatorikasutaja saab ühenduse luua.

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

Installige ja konfigureerige Nginx

Installige Nginx.

sudo dnf install -y nginx

Kontrolli versiooni.

sudo nginx -v
# nginx version: nginx/1.12.1

Lubage ja käivitage Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

NodeBB töötab vaikimisi pordis 4567. http://example.com:4567Tippimise vältimiseks konfigureerime Nginxi NodeBB rakenduse pöördpuhverserverina. Iga päring pordis 80või 443( kui kasutatakse SSL-i ) edastatakse pordile 4567.

Käivitage sudo vim /etc/nginx/conf.d/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.

Kontrollige konfiguratsiooni.

sudo nginx -t

Laadige Nginx uuesti.

sudo systemctl reload nginx.service

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 ~
source ~/.bashrc

Kontrolli versiooni.

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

Hankige forum.example.comdomeeni/hostinime jaoks RSA ja ECDSA sertifikaadid .

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --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 systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256

Pärast ülaltoodud käskude käivitamist asuvad teie sertifikaadid ja võtmed järgmistes kataloogides:

  • 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 /etc/nginx/conf.d/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 systemctl reload nginx.service

Installige NodeBB

Looge dokumendi juurkataloog.

sudo mkdir -p /var/www/nodebb

Muutke /var/www/nodebbkataloogi omandiõigus johndoe.

sudo chown -R johndoe:johndoe /var/www/nodebb

Liikuge dokumendi juurkausta.

cd /var/www/nodebb

Kloonige uusim NodeBB dokumendi juurkausta.

git clone -b v1.10.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 oma veebibrauseris oma foorumisse.

Käivitage NodeBB süsteemiteenusena

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 see töötab, peatage NodeBB.

./nodebb stop

Looge uus nodebbkasutaja.

sudo useradd nodebb

Muutke /var/www/nodebbkataloogi omandiõigus nodebbkasutajaks.

sudo chown -R nodebb:nodebb /var/www/nodebb

Looge süsteemiüksuse nodebb.servicekonfiguratsioonifail. See üksuse fail käsitleb NodeBB deamoni käivitamist. Käivitage sudo vim /etc/systemd/system/nodebb.serviceja sisestage fail järgmise sisuga.

[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service

[Service]
Type=forking
User=nodebb

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb

Environment=NODE_ENV=production
WorkingDirectory=/var/www/nodebb
PIDFile=/var/www/nodebb/pidfile
ExecStart=/usr/bin/env node loader.js
Restart=always

[Install]
WantedBy=multi-user.target

MÄRKUS. Määrake kasutajanimi ja kataloogiteed vastavalt valitud nimedele.

Lubage nodebb.servicetaaskäivitamisel ja käivitage kohe nodebb.service.

sudo systemctl enable nodebb.service
sudo systemctl start nodebb.service

Kontrollige nodebb.serviceolekut.

sudo systemctl status nodebb.service
sudo systemctl is-enabled nodebb.service

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


BigTree CMS-i installimine Fedora 26 LAMP VPS-ile

BigTree CMS-i installimine Fedora 26 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? BigTree CMS 4.2 on kiire ja kerge, tasuta ja avatud lähtekoodiga ettevõttetasemel sisuhaldussüsteem (CMS), millel on ulatuslik

Kuidas installida Koel Fedora 28-le

Kuidas installida Koel Fedora 28-le

Kas kasutate teistsugust süsteemi? Koel on lihtne veebipõhine isiklik heli voogesituse rakendus, mis on kirjutatud kliendi poolel Vue ja serveri poolel Laraveli keeles. Koe

Kuidas installida Grav CMS-i Fedora 28-sse

Kuidas installida Grav CMS-i Fedora 28-sse

Kas kasutate teistsugust süsteemi? Grav on avatud lähtekoodiga lamefailide CMS, mis on kirjutatud PHP-s. Gravi lähtekoodi majutatakse avalikult GitHubis. See juhend näitab teile, kuidas t

Akauntingi installimine Fedora 28-le

Akauntingi installimine Fedora 28-le

Kas kasutate teistsugust süsteemi? Akaunting on tasuta avatud lähtekoodiga ja veebipõhine raamatupidamistarkvara, mis on mõeldud väikeettevõtetele ja vabakutselistele. See on üles ehitatud vaimukalt

Kuidas installida väike väike RSS-lugeja Fedora 26 LAMP VPS-ile

Kuidas installida väike väike RSS-lugeja Fedora 26 LAMP VPS-ile

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 InvoicePlane seadmesse Fedora 28

Kuidas installida InvoicePlane seadmesse Fedora 28

Kas kasutate teistsugust süsteemi? InvoicePlane on tasuta ja avatud lähtekoodiga arveldusrakendus. Selle lähtekoodi leiate sellest Githubi hoidlast. See juhend

Installige Fedora 26-le Minecrafti server

Installige Fedora 26-le Minecrafti server

Kas kasutate teistsugust süsteemi? Selles õpetuses juhendan teid Minecrafti serveri seadistamisel suure jõudlusega SSD VPS-is Vultris. Õpid ho

Kuidas kompileerida Nginxi allikast Fedora 25-s

Kuidas kompileerida Nginxi allikast Fedora 25-s

Kas kasutate teistsugust süsteemi? NGINX-i saab kasutada HTTP/HTTPS-serverina, pöördpuhverserverina, meili puhverserverina, koormuse tasakaalustajana, TLS-i lõpetajana või vahemäluna.

Pagekit 1.0 CMS installimine Fedora 26 LAMP VPS-ile

Pagekit 1.0 CMS installimine Fedora 26 LAMP VPS-ile

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

Subrion 4.1 CMS installimine Fedora 26 LAMP VPS-ile

Subrion 4.1 CMS installimine Fedora 26 LAMP 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

Installige TaskServer (taskd) Fedora 26-sse

Installige TaskServer (taskd) Fedora 26-sse

Kas kasutate teistsugust süsteemi? TaskWarrior on avatud lähtekoodiga ajahaldustööriist, mis täiustab rakendust Todo.txt ja selle kloone. Tänu th

Kuidas installida CMS Made Simple 2.2 Fedora 26 LAMP VPS-ile

Kuidas installida CMS Made Simple 2.2 Fedora 26 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? CMS Made Simple 2.2 on paindlik ja laiendatav tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis on intelligentselt loodud

Bro IDS installimine Fedora 25-le

Bro IDS installimine Fedora 25-le

Kas kasutate teistsugust süsteemi? Sissejuhatus Bro on avatud lähtekoodiga võrguliikluse analüsaator. See on peamiselt turvamonitor, mis kontrollib kogu liini liiklust

Kuidas installida X-Cart 5 Fedora 31-le

Kuidas installida X-Cart 5 Fedora 31-le

Kas kasutate teistsugust süsteemi? X-Cart on äärmiselt paindlik avatud lähtekoodiga e-kaubanduse platvorm, millel on palju funktsioone ja integratsioone. X-Carti lähtekood on hoste

Matomo Analyticsi installimine Fedora 28-sse

Matomo Analyticsi installimine Fedora 28-sse

Kas kasutate teistsugust süsteemi? Matomo (endine Piwik) on avatud lähtekoodiga analüüsiplatvorm, mis on Google Analyticsi avatud alternatiiv. Matomo allikas on majutatud o

Kuidas installida MyBB Fedora 28

Kuidas installida MyBB Fedora 28

Kas kasutate teistsugust süsteemi? MyBB on tasuta ja avatud lähtekoodiga intuitiivne ja laiendatav foorumiprogramm. MyBB lähtekoodi hostitakse GitHubis. See juhend sho

TaskBoardi installimine ja konfigureerimine Fedora 30-s

TaskBoardi installimine ja konfigureerimine Fedora 30-s

Kas kasutate teistsugust süsteemi? Sissejuhatus TaskBoard on tasuta avatud lähtekoodiga tööriist, mida saab kasutada tehtavate asjade jälgimiseks. See pakub

Fork CMS-i installimine Fedora 28-sse

Fork CMS-i installimine Fedora 28-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

Kuidas installida LimeSurvey CE Fedora 28-le

Kuidas installida LimeSurvey CE Fedora 28-le

Kas kasutate teistsugust süsteemi? LimeSurvey on avatud lähtekoodiga küsitlusprogramm, mis on kirjutatud PHP-s. LimeSurvey lähtekoodi hostitakse GitHubis. See juhend näitab teile

Backdrop CMS 1.8.0 installimine Fedora 26 LAMP VPS-ile

Backdrop CMS 1.8.0 installimine Fedora 26 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? Backdrop CMS 1.8.0 on lihtne ja paindlik, mobiilisõbralik, tasuta ja avatud lähtekoodiga sisuhaldussüsteem (CMS), mis võimaldab meil

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