Hvernig á að setja upp NodeBB spjallborð á Debian 9

NodeBB er vettvangur sem byggir á Node.js. Það notar vefinnstungur fyrir tafarlaus samskipti og rauntíma tilkynningar. NodeBB frumkóði er hýst opinberlega á Github . Þessi handbók mun leiða þig í gegnum NodeBB uppsetningarferlið á nýju Debian 9 Vultr tilviki með því að nota Node.js, MongoDB sem gagnagrunn, Nginx sem öfugt umboð og Acme.sh fyrir SSL vottorð.

Kröfur

NodeBB krefst þess að eftirfarandi hugbúnaður sé uppsettur:

  • Git
  • Node.js útgáfa 6.9.0 eða nýrri
  • MongoDB útgáfa 2.6 eða nýrri
  • Nginx
  • Lágmark 1024MB vinnsluminni
  • Lén með A/ AAAAskrár sett upp

Áður en þú byrjar

Athugaðu Debian útgáfuna.

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

Gakktu úr skugga um að kerfið þitt sé uppfært.

apt update && apt upgrade -y

Settu upp nauðsynlega pakka.

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

Búðu til nýjan non-rootnotandareikning með sudoaðgangi og skiptu yfir í hann.

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

ATH : Skiptu út johndoefyrir notendanafnið þitt.

Settu upp tímabeltið.

sudo dpkg-reconfigure tzdata

Settu upp Node.js

NodeBB er knúið áfram af Node.js og því þarf að setja það upp. Mælt er með uppsetningu á núverandi LTS útgáfu af Node.js.

Settu upp Node.js frá NodeSource geymslunni.

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

Staðfestu uppsetningu á Node.js og npm.

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

Settu upp og stilltu MongoDB

MongoDB er sjálfgefinn gagnagrunnur fyrir NodeBB.

Settu upp MongoDB frá opinberu MongoDB geymslunni.

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

Athugaðu útgáfuna.

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

Ræstu og virkjaðu MongoDB.

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

Búðu til MongoDB gagnagrunn og notanda fyrir NodeBB.

Tengstu við MongoDB.

mongo

Skiptu yfir í innbyggða admingagnagrunninn.

> use admin

Búðu til stjórnunarnotanda.

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

ATHUGIÐ: Skiptu um staðgengil <Enter a secure password>fyrir þitt eigið lykilorð.

Bættu við nýjum gagnagrunni sem heitir nodebb.

> use nodebb

Gagnagrunnurinn verður búinn til og samhengi skipt yfir í nodebb. Næst skaltu búa til nodebbnotandann með viðeigandi réttindi.

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

ATHUGIÐ: Aftur skaltu skipta um staðgengil <Enter a secure password>fyrir þitt eigið lykilorð.

Farðu úr Mongo skelinni.

> quit()

Endurræstu MongoDB og staðfestu að stjórnunarnotandinn sem var búinn til áður geti tengst.

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

Settu upp og stilltu Nginx

Settu upp nýjustu aðalútgáfuna af Nginx frá opinberu Nginx geymslunni.

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

Athugaðu útgáfuna.

sudo nginx -v
# nginx version: nginx/1.15.0

Virkjaðu og ræstu Nginx.

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

NodeBB, sjálfgefið, keyrir á port 4567. Til að forðast að slá inn http://example.com:4567munum við stilla Nginx sem öfugt umboð fyrir NodeBB forritið. Sérhver beiðni um höfn 80eða 443(ef SSL er notað) verður send á höfn 4567.

Keyrðu sudo vim /etc/nginx/conf.d/nodebb.confog fylltu það út með grunnstillingu um öfugri proxy sem sýnd er hér að neðan.

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

}

Í stillingunni hér að ofan, uppfærðu server_nametilskipunina með léninu/hýsingarnafninu þínu.

Athugaðu stillinguna.

sudo nginx -t

Endurhlaða Nginx.

sudo systemctl reload nginx.service

Settu upp Acme.sh viðskiptavin og fáðu Let's Encrypt vottorð (valfrjálst)

Það er ekki nauðsynlegt að tryggja spjallborðið þitt með HTTPS, en það mun tryggja umferð vefsvæðisins þíns. Acme.sh er hreinn Unix skel hugbúnaður til að fá SSL vottorð frá Let's Encrypt með núll ósjálfstæði.

Sæktu og settu upp 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

Athugaðu útgáfuna.

acme.sh --version
# v2.7.9

Fáðu RSA og ECDSA vottorð fyrir 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

Eftir að hafa keyrt ofangreindar skipanir verða vottorð þín og lyklar í eftirfarandi möppum:

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

Eftir að hafa fengið vottorð frá Let's Encrypt þurfum við að stilla Nginx til að nota þau.

Keyrðu sudo vim /etc/nginx/conf.d/nodebb.confaftur og stilltu Nginx sem HTTPS öfugt umboð.

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

}

Athugaðu stillinguna.

sudo nginx -t

Endurhlaða Nginx.

sudo systemctl reload nginx.service

Settu upp NodeBB

Búðu til rótarskrá skjalsins.

sudo mkdir -p /var/www/nodebb

Breyttu eignarhaldi /var/www/nodebbmöppunnar í johndoe.

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

Farðu í rótarmöppuna skjalsins.

cd /var/www/nodebb

Klónaðu nýjasta NodeBB í rótarmöppu skjalsins.

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

Keyrðu NodeBB uppsetningarskipunina og svaraðu hverri spurningu þegar beðið er um það.

./nodebb setup

Eftir að uppsetningu NodeBB er lokið skaltu keyra ./nodebb starttil að ræsa NodeBB netþjóninn þinn handvirkt.

./nodebb start

Eftir þessa skipun muntu geta opnað spjallborðið þitt í vafranum þínum.

Keyra NodeBB sem kerfisþjónustu

Þegar ræst er í gegnum ./nodebb startmun NodeBB ekki sjálfkrafa ræsa aftur þegar kerfið endurræsir. Til að forðast það verðum við að setja upp NodeBB sem kerfisþjónustu.

Ef þú keyrir skaltu stöðva NodeBB.

./nodebb stop

Búðu til nýjan nodebbnotanda:

sudo adduser nodebb

Breyttu eignarhaldi /var/www/nodebbmöppunnar í nodebb.

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

Búðu til nodebb.servicesystemd unit config file. Þessi einingaskrá mun sjá um ræsingu NodeBB deamon. Keyrðu sudo vim /etc/systemd/system/nodebb.serviceog fylltu út skrána með eftirfarandi efni:

[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

ATHUGIÐ: Stilltu notendanafn og skráarslóðir í samræmi við valin nöfn.

Virkjaðu nodebb.servicevið endurræsingu og byrjaðu strax nodebb.service.

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

Athugaðu nodebb.servicestöðuna.

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

Það er það. NodeBB tilvikið þitt er nú í gangi.


Settu upp Cacti á Debian Jessie

Settu upp Cacti á Debian Jessie

Inngangur Cacti er opinn vöktunar- og grafatól sem byggir að fullu á RRD gögnum. Í gegnum Cacti geturðu fylgst með næstum hvers kyns tækjum

Settu upp iRedMail á Debian Wheezy

Settu upp iRedMail á Debian Wheezy

Að nota annað kerfi? Þessi kennsla mun sýna þér hvernig á að setja upp hópbúnaðinn iRedMail á nýrri uppsetningu á Debian Wheezy. Þú ættir að nota þjóna

Hvernig á að setja upp eftirlitslausar uppfærslur á Debian 9 (Stretch)

Hvernig á að setja upp eftirlitslausar uppfærslur á Debian 9 (Stretch)

Að nota annað kerfi? Ef þú kaupir Debian netþjón, þá ættirðu alltaf að vera með nýjustu öryggisplástrana og uppfærslurnar, hvort sem þú ert sofandi eða ekki

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Þessi kennsla útskýrir hvernig á að setja upp DNS netþjón með Bind9 á Debian eða Ubuntu. Í gegnum greinina skaltu skipta út-léninu þínu.com í samræmi við það. Á þ

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Í þessari grein munum við sjá hvernig á að setja saman og setja upp Nginx mainline frá opinberum heimildum Nginx með PageSpeed ​​einingunni, sem gerir þér kleift að

How to Install Kanboard on Debian 9

How to Install Kanboard on Debian 9

Using a Different System? Introduction Kanboard is a free and open source project management software program which is designed to facilitate and visualiz

Hvernig á að setja upp Gitea á Debian 9

Hvernig á að setja upp Gitea á Debian 9

Að nota annað kerfi? Gitea er annað opinn uppspretta, sjálfhýst útgáfustýringarkerfi knúið af Git. Gitea er skrifað á Golang og er

Settu upp Lynis á Debian 8

Settu upp Lynis á Debian 8

Inngangur Lynis er ókeypis, opinn uppspretta kerfisendurskoðunarverkfæri sem er notað af mörgum kerfisstjórum til að sannreyna heilleika og herða kerfi þeirra. ég

Hvernig á að setja upp Thelia 2.3 á Debian 9

Hvernig á að setja upp Thelia 2.3 á Debian 9

Að nota annað kerfi? Thelia er opinn hugbúnaður til að búa til vefsíður fyrir rafræn viðskipti og stjórna efni á netinu sem skrifað er í PHP. Thelia frumkóði i

Að búa til net Minecraft netþjóna með BungeeCord á Debian 8, Debian 9 eða CentOS 7

Að búa til net Minecraft netþjóna með BungeeCord á Debian 8, Debian 9 eða CentOS 7

Það sem þú þarft Vultr VPS með að minnsta kosti 1GB af vinnsluminni. SSH aðgangur (með rót / stjórnunarréttindi). Skref 1: Uppsetning BungeeCord Fyrst af öllu

Hvernig á að setja upp Golang 1.8.3 á CentOS 7, Ubuntu 16.04 og Debian 9

Hvernig á að setja upp Golang 1.8.3 á CentOS 7, Ubuntu 16.04 og Debian 9

Golang er forritunarmál þróað af Google. Þökk sé fjölhæfni, einfaldleika og áreiðanleika hefur Golang orðið einn af vinsælustu

Endurstilla MySQL rót lykilorð á Debian/Ubuntu

Endurstilla MySQL rót lykilorð á Debian/Ubuntu

Ef þú hefur gleymt MySQL rót lykilorðinu þínu geturðu endurstillt það með því að fylgja skrefunum í þessari grein. Ferlið er frekar einfalt og vinnur á þessum

Að búa til nethlutdeild með því að nota Samba á Debian

Að búa til nethlutdeild með því að nota Samba á Debian

Það eru tímar þegar við þurfum að deila skrám sem verða að vera hægt að skoða af Windows viðskiptavinum. Þar sem Fuse-undirstaða kerfi virka aðeins á Linux, vel að vera að kynna

Setja upp Counter Strike: Source á Debian

Setja upp Counter Strike: Source á Debian

Í þessari handbók munum við setja upp Counter Strike: Source leikjaþjón á Debian 7. Þessar skipanir voru prófaðar á Debian 7 en þær ættu líka að virka o

Hvernig á að setja upp Unturned 2.2.5 á Debian 8

Hvernig á að setja upp Unturned 2.2.5 á Debian 8

Í þessari handbók munt þú læra hvernig á að setja upp Unturned 2.2.5 miðlara á Vultr VPS sem keyrir Debian 8. Athugið: Þetta er breytt útgáfa af Unturned sem gerir það ekki

Hvernig á að setja upp Cachet á Debian 8

Hvernig á að setja upp Cachet á Debian 8

Í þessari kennslu muntu læra hvernig á að setja upp Cachet á Debian 8. Cachet er öflugt opinn uppspretta stöðusíðukerfi. Uppsetning Þessi kennsla er í gangi

Afritaðu sjálfkrafa marga MySQL eða MariaDB gagnagrunna

Afritaðu sjálfkrafa marga MySQL eða MariaDB gagnagrunna

Inngangur Í þessari skrifum skaltu fara vel í gegnum hvernig á að taka öryggisafrit af mörgum MySQL eða MariaDB gagnagrunnum sem sitja á sömu vél með því að nota sérsniðið bash scrip

Að setja upp Chroot á Debian

Að setja upp Chroot á Debian

Þessi grein mun kenna þér hvernig á að setja upp chroot fangelsi á Debian. Ég geri ráð fyrir að þú notir Debian 7.x. Ef þú ert að keyra Debian 6 eða 8 gæti þetta virkað, bu

Hvernig á að setja upp Reader Self 3.5 RSS Reader á Debian 9 LAMP VPS

Hvernig á að setja upp Reader Self 3.5 RSS Reader á Debian 9 LAMP VPS

Að nota annað kerfi? Reader Self 3.5 er einfaldur og sveigjanlegur, ókeypis og opinn uppspretta, sjálfhýst RSS lesandi og Google Reader valkostur. Lesandi Sel

Hvernig á að setja upp Backdrop CMS 1.8.0 á Debian 9 LAMP VPS

Hvernig á að setja upp Backdrop CMS 1.8.0 á Debian 9 LAMP VPS

Að nota annað kerfi? Backdrop CMS 1.8.0 er einfalt og sveigjanlegt, farsímavænt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem gerir okkur kleift að

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira