Kuidas installida NodeBB foorum Debian 9-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 uuel Debian 9 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 Debiani versiooni.

lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)

Veenduge, et teie süsteem on ajakohane.

apt update && apt upgrade -y

Installige vajalikud paketid.

apt install -y sudo dirmngr git build-essential apt-transport-https

Looge uus juurdepääsuga non-rootkasutajakonto sudoja lülituge sellele.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

MÄRKUS . Asendage johndoeoma kasutajanimega.

Seadistage ajavöönd.

sudo dpkg-reconfigure tzdata

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 NodeSource'i hoidlast.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs

Kontrollige Node.js ja npm installimist.

node -v && npm -v
# v10.15.0
# 5.6.0

Installige ja konfigureerige MongoDB

MongoDB on NodeBB vaikeandmebaas.

Installige MongoDB ametlikust MongoDB hoidlast.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt update
sudo apt install -y mongodb-org

Kontrolli versiooni.

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

Käivitage ja lubage MongoDB.

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

Looge NodeBB jaoks MongoDB andmebaas ja kasutaja.

Ühendage 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 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 Nginxi uusim põhiversioon ametlikust Nginxi hoidlast.

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Kontrolli versiooni.

sudo nginx -v
# nginx version: nginx/1.15.0

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 pordi 80või 443(kui kasutatakse SSL-i) päring edastatakse porti 4567.

Käivitage sudo vim /etc/nginx/conf.d/nodebb.confja sisestage see allpool näidatud 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.

acme.sh --version
# v2.7.9

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

./nodebb stop

Loo uus nodebbkasutaja:

sudo adduser nodebb

Muutke /var/www/nodebbkataloogi omandiõigus väärtuseks nodebb.

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

Looge nodebb.servicesüsteemiüksuse konfiguratsioonifail. 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.


Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte

Seadistage Debianis/Ubuntus oma DNS-server

Seadistage Debianis/Ubuntus oma DNS-server

See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil

Kuidas installida Kanboard Debian 9-le

Kuidas installida Kanboard Debian 9-le

Kas kasutate teistsugust süsteemi? Sissejuhatus Kanboard on tasuta ja avatud lähtekoodiga projektihaldustarkvara, mis on loodud hõlbustama ja visualiseerima

Kuidas installida Gitea Debian 9-le

Kuidas installida Gitea Debian 9-le

Kas kasutate teistsugust süsteemi? Gitea on alternatiivne avatud lähtekoodiga isehostitav versioonikontrollisüsteem, mida toetab Git. Gitea on kirjutatud golangi keeles ja on

Installige Lynis versioonile Debian 8

Installige Lynis versioonile Debian 8

Sissejuhatus Lynis on tasuta avatud lähtekoodiga süsteemiauditi tööriist, mida paljud süsteemiadministraatorid kasutavad oma süsteemide terviklikkuse kontrollimiseks ja tugevdamiseks. ma

Kuidas installida Thelia 2.3 Debian 9-le

Kuidas installida Thelia 2.3 Debian 9-le

Kas kasutate teistsugust süsteemi? Thelia on avatud lähtekoodiga tööriist e-äri veebisaitide loomiseks ja PHP-s kirjutatud veebisisu haldamiseks. Thelia lähtekood i

Minecrafti serverite võrgu loomine BungeeCordi abil opsüsteemides Debian 8, Debian 9 või CentOS 7

Minecrafti serverite võrgu loomine BungeeCordi abil opsüsteemides Debian 8, Debian 9 või CentOS 7

Mida vajate Vultr VPS-i, millel on vähemalt 1 GB muutmälu. SSH-juurdepääs (juur-/administraatoriõigustega). 1. samm: BungeeCordi installimine Kõigepealt

Kuidas installida Golang 1.8.3 operatsioonisüsteemidesse CentOS 7, Ubuntu 16.04 ja Debian 9

Kuidas installida Golang 1.8.3 operatsioonisüsteemidesse CentOS 7, Ubuntu 16.04 ja Debian 9

Golang on Google'i poolt välja töötatud programmeerimiskeel. Tänu oma mitmekülgsusele, lihtsusele ja töökindlusele on Golangist saanud üks populaarsemaid

Lähtestage MySQL-i juurparool Debianis/Ubuntus

Lähtestage MySQL-i juurparool Debianis/Ubuntus

Kui olete oma MySQL-i juurparooli unustanud, saate selle lähtestada, järgides selles artiklis toodud juhiseid. Protsess on üsna lihtne ja töötab nende peal

Counter Strikei seadistamine: allikas Debianis

Counter Strikei seadistamine: allikas Debianis

Selles juhendis seadistame Debian 7-s mänguserveri Counter Strike: Source. Neid käske testiti Debian 7-s, kuid need peaksid ka töötama

Kuidas installida versiooni Unturned 2.2.5 Debian 8-le

Kuidas installida versiooni Unturned 2.2.5 Debian 8-le

Sellest juhendist saate teada, kuidas seadistada Unturned 2.2.5 serverit Vultr VPS-is, kus töötab Debian 8. Märkus. See on Unturned'i redigeeritud versioon, mis ei võimalda

Cacheti installimine Debian 8-sse

Cacheti installimine Debian 8-sse

Sellest õpetusest saate teada, kuidas installida Cachet Debian 8-le. Cachet on võimas avatud lähtekoodiga olekulehtede süsteem. Paigaldamine See õpetus on käimas

Varundage automaatselt mitu MySQL või MariaDB andmebaasi

Varundage automaatselt mitu MySQL või MariaDB andmebaasi

Sissejuhatus Selles kirjutises kirjeldage, kuidas varundada mitut samas masinas asuvat MySQL- või MariaDB-andmebaasi, kasutades kohandatud bash-skripti.

Chrooti seadistamine Debianis

Chrooti seadistamine Debianis

See artikkel õpetab teile, kuidas seadistada Debianis chroot-vanglat. Eeldan, et kasutate versiooni Debian 7.x. Kui kasutate Debian 6 või 8, võib see toimida, bu

Kuidas installida Reader Self 3.5 RSS-lugeja Debian 9 LAMP VPS-ile

Kuidas installida Reader Self 3.5 RSS-lugeja Debian 9 LAMP VPS-ile

Kas kasutate teistsugust süsteemi? Reader Self 3.5 on lihtne ja paindlik, tasuta ja avatud lähtekoodiga isehostitav RSS-lugeja ja Google Readeri alternatiiv. Lugeja Sel

Backdrop CMS 1.8.0 installimine Debian 9 LAMP VPS-ile

Backdrop CMS 1.8.0 installimine Debian 9 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

SteamCMD installimine oma VPS-i

SteamCMD installimine oma VPS-i

Selles õpetuses installime SteamCMD. SteamCMD abil saab alla laadida ja installida palju Steami mänguservereid, näiteks Counter-Strike: Global Offensiv

Täiendage Python Debianis

Täiendage Python Debianis

Nagu võib-olla teate, värskendatakse Debiani hoidlaid väga aeglaselt. Kirjutamise ajal olid Pythoni väljalaskeversioonid 2.7.12 ja 3.5.2, kuid Debian 8 hoidlas

Kuidas seadistada Samba plokisalvestusega Debian 9-s

Kuidas seadistada Samba plokisalvestusega Debian 9-s

Samba on avatud lähtekoodiga lahendus, mis võimaldab kasutajatel kiiresti ja turvaliselt seadistada faile ja printida ühiskasutusse. Selles artiklis käsitlen Samba vaimukuse seadistamist

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