Kā instalēt NodeBB forumu Debian 9

NodeBB ir uz Node.js balstīts forums. Tas izmanto tīmekļa ligzdas tūlītējai mijiedarbībai un reāllaika paziņojumiem. NodeBB pirmkods ir publiski mitināts vietnē Github . Šajā rokasgrāmatā ir sniegta informācija par NodeBB instalēšanas procesu jaunā Debian 9 Vultr instancē, izmantojot Node.js, MongoDB kā datu bāzi, Nginx kā reverso starpniekserveri un Acme.sh SSL sertifikātiem.

Prasības

NodeBB nepieciešama šāda programmatūras instalēšana:

  • Git
  • Node.js versija 6.9.0 vai jaunāka
  • MongoDB versija 2.6 vai jaunāka
  • Nginx
  • Vismaz 1024 MB RAM
  • Iestatīts domēna nosaukums ar A/ AAAAierakstiem

Pirms tu sāc

Pārbaudiet Debian versiju.

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

Pārliecinieties, vai jūsu sistēma ir atjaunināta.

apt update && apt upgrade -y

Instalējiet nepieciešamās pakotnes.

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

Izveidojiet jaunu non-rootlietotāja kontu ar sudopiekļuvi un pārslēdzieties uz to.

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

PIEZĪME . Aizstāt johndoear savu lietotājvārdu.

Iestatiet laika joslu.

sudo dpkg-reconfigure tzdata

Instalējiet Node.js

NodeBB darbina Node.js, tāpēc tas ir jāinstalē. Ieteicams instalēt pašreizējo Node.js LTS versiju.

Instalējiet Node.js no NodeSource repozitorija.

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

Pārbaudiet Node.js un npm instalēšanu.

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

Instalējiet un konfigurējiet MongoDB

MongoDB ir NodeBB noklusējuma datu bāze.

Instalējiet MongoDB no oficiālās MongoDB repozitorija.

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

Pārbaudiet versiju.

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

Sāciet un iespējojiet MongoDB.

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

Izveidojiet MongoDB datu bāzi un lietotāju NodeBB.

Izveidojiet savienojumu ar MongoDB.

mongo

Pārslēdzieties uz iebūvēto admindatu bāzi.

> use admin

Izveidojiet administratīvo lietotāju.

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

PIEZĪME. Aizstājiet vietturi <Enter a secure password>ar savu izvēlēto paroli.

Pievienojiet jaunu datu bāzi ar nosaukumu nodebb.

> use nodebb

Tiks izveidota datu bāze un konteksts pārslēgts uz nodebb. Pēc tam izveidojiet nodebblietotāju ar atbilstošām privilēģijām.

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

PIEZĪME. Atkal aizstājiet vietturi <Enter a secure password>ar savu izvēlēto paroli.

Izejiet no Mongo apvalka.

> quit()

Restartējiet MongoDB un pārbaudiet, vai iepriekš izveidotais administratīvais lietotājs var izveidot savienojumu.

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

Instalējiet un konfigurējiet Nginx

Instalējiet jaunāko Nginx galveno versiju no oficiālās Nginx krātuves.

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

Pārbaudiet versiju.

sudo nginx -v
# nginx version: nginx/1.15.0

Iespējojiet un palaidiet Nginx.

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

NodeBB pēc noklusējuma darbojas portā 4567. Lai izvairītos no rakstīšanas http://example.com:4567, mēs konfigurēsim Nginx kā apgriezto starpniekserveri NodeBB lietojumprogrammai. Katrs portā 80vai 443(ja tiek izmantots SSL) pieprasījums tiks pārsūtīts uz portu 4567.

Palaidiet sudo vim /etc/nginx/conf.d/nodebb.confun aizpildiet to ar pamata apgrieztā starpniekservera konfigurāciju, kas parādīta zemāk.

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

}

Iepriekš redzamajā konfigurācijā atjauniniet server_namedirektīvu ar savu domēnu/resursdatora nosaukumu.

Pārbaudiet konfigurāciju.

sudo nginx -t

Pārlādēt Nginx.

sudo systemctl reload nginx.service

Instalējiet Acme.sh klientu un iegūstiet sertifikātu Let's Encrypt (pēc izvēles)

Foruma aizsardzība ar HTTPS nav nepieciešama, taču tā nodrošinās jūsu vietnes trafiku. Acme.sh ir tīra Unix čaulas programmatūra SSL sertifikātu iegūšanai no Let's Encrypt bez atkarības.

Lejupielādējiet un instalējiet 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

Pārbaudiet versiju.

acme.sh --version
# v2.7.9

Iegūstiet RSA un ECDSA sertifikātus 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ēc iepriekš minēto komandu palaišanas jūsu sertifikāti un atslēgas atradīsies šādos direktorijos:

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

Pēc sertifikātu iegūšanas no Let's Encrypt mums ir jākonfigurē Nginx, lai tos izmantotu.

Palaidiet sudo vim /etc/nginx/conf.d/nodebb.confvēlreiz un konfigurējiet Nginx kā HTTPS reverso starpniekserveri.

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

}

Pārbaudiet konfigurāciju.

sudo nginx -t

Pārlādēt Nginx.

sudo systemctl reload nginx.service

Instalējiet NodeBB

Izveidojiet dokumenta saknes direktoriju.

sudo mkdir -p /var/www/nodebb

Mainīt /var/www/nodebbdirektorija īpašumtiesības uz johndoe.

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

Pārejiet uz dokumenta saknes mapi.

cd /var/www/nodebb

Klonējiet jaunāko NodeBB dokumenta saknes mapē.

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

Palaidiet NodeBB iestatīšanas komandu un atbildiet uz katru jautājumu, kad tas tiek prasīts.

./nodebb setup

Kad NodeBB iestatīšana ir pabeigta, palaidiet, ./nodebb startlai manuāli startētu NodeBB serveri.

./nodebb start

Pēc šīs komandas jūs varēsit piekļūt savam forumam savā tīmekļa pārlūkprogrammā.

Palaidiet NodeBB kā sistēmas pakalpojumu

Palaižot, izmantojot ./nodebb start, NodeBB netiks automātiski palaists, kad sistēma tiek atsāknēta. Lai no tā izvairītos, mums būs jāiestata NodeBB kā sistēmas pakalpojums.

Ja darbojas, apturiet NodeBB.

./nodebb stop

Izveidot jaunu nodebblietotāju:

sudo adduser nodebb

Mainiet /var/www/nodebbdirektorija īpašumtiesības uz nodebb.

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

Izveidojiet nodebb.servicesistēmas vienības konfigurācijas failu. Šis vienības fails apstrādās NodeBB dēmona palaišanu. Palaidiet sudo vim /etc/systemd/system/nodebb.serviceun aizpildiet failu ar šādu saturu:

[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

PIEZĪME. Iestatiet lietotājvārdu un direktoriju ceļus atbilstoši izvēlētajiem nosaukumiem.

Iespējojiet nodebb.serviceatsāknēšanas laikā un nekavējoties sāciet nodebb.service.

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

Pārbaudiet nodebb.servicestatusu.

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

Tieši tā. Jūsu NodeBB instance tagad ir izveidota un darbojas.


Iestatiet Cacti vietnē Debian Jessie

Iestatiet Cacti vietnē Debian Jessie

Ievads Cacti ir atvērtā koda uzraudzības un grafiku veidošanas rīks, kas pilnībā ir balstīts uz RRD datiem. Izmantojot Cacti, varat pārraudzīt gandrīz jebkura veida ierīces

Iestatiet iRedMail vietnē Debian Wheezy

Iestatiet iRedMail vietnē Debian Wheezy

Vai izmantojat citu sistēmu? Šī apmācība parādīs, kā instalēt grupas programmu iRedMail jaunā Debian Wheezy instalācijā. Jums vajadzētu izmantot servi

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Ja iegādājaties Debian serveri, jums vienmēr ir jābūt jaunākajiem drošības ielāpiem un atjauninājumiem neatkarīgi no tā, vai jūs guļat vai ne.

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Šajā apmācībā ir paskaidrots, kā iestatīt DNS serveri, izmantojot Bind9 uz Debian vai Ubuntu. Visā rakstā attiecīgi aizstājiet savu-domēna-nosaukums.com. plkst

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Šajā rakstā mēs redzēsim, kā apkopot un instalēt Nginx galveno līniju no oficiālajiem Nginx avotiem ar PageSpeed ​​moduli, kas ļauj t

Kā instalēt Kanboard operētājsistēmā Debian 9

Kā instalēt Kanboard operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Ievads Kanboard ir bezmaksas atvērtā koda projektu pārvaldības programmatūra, kas paredzēta, lai atvieglotu un vizualizētu

Kā instalēt Gitea operētājsistēmā Debian 9

Kā instalēt Gitea operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Gitea ir alternatīva atvērtā koda, pašmitināta versiju kontroles sistēma, ko nodrošina Git. Gitea ir rakstīts Golang valodā un ir

Instalējiet Lynis operētājsistēmā Debian 8

Instalējiet Lynis operētājsistēmā Debian 8

Ievads Lynis ir bezmaksas atvērtā koda sistēmas audita rīks, ko izmanto daudzi sistēmu administratori, lai pārbaudītu savu sistēmu integritāti un nostiprinātu tās. es

Kā instalēt Thelia 2.3 operētājsistēmā Debian 9

Kā instalēt Thelia 2.3 operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Thelia ir atvērtā pirmkoda rīks e-biznesa vietņu izveidei un tiešsaistes satura pārvaldīšanai, kas rakstīts PHP. Thelia pirmkods i

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Kas jums būs nepieciešams Vultr VPS ar vismaz 1 GB RAM. SSH piekļuve (ar root/administratora tiesībām). 1. darbība: BungeeCord instalēšana Vispirms vispirms

Kā instalēt Golang 1.8.3 operētājsistēmās CentOS 7, Ubuntu 16.04 un Debian 9

Kā instalēt Golang 1.8.3 operētājsistēmās CentOS 7, Ubuntu 16.04 un Debian 9

Golang ir Google izstrādāta programmēšanas valoda. Pateicoties tās daudzpusībai, vienkāršībai un uzticamībai, Golang ir kļuvis par vienu no populārākajiem

Atiestatiet MySQL saknes paroli vietnē Debian/Ubuntu

Atiestatiet MySQL saknes paroli vietnē Debian/Ubuntu

Ja esat aizmirsis savu MySQL root paroli, varat to atiestatīt, veicot šajā rakstā norādītās darbības. Process ir diezgan vienkāršs un darbojas uz tiem

Tīkla koplietošanas izveide, izmantojot Samba vietnē Debian

Tīkla koplietošanas izveide, izmantojot Samba vietnē Debian

Dažkārt mums ir nepieciešams koplietot failus, kuriem ir jābūt redzamiem Windows klientiem. Tā kā uz drošinātāju balstītas sistēmas darbojas tikai operētājsistēmā Linux, iepazīstieties ar to

Counter Strike iestatīšana: avots vietnē Debian

Counter Strike iestatīšana: avots vietnē Debian

Šajā rokasgrāmatā mēs iestatīsim Counter Strike: Source spēļu serveri operētājsistēmā Debian 7. Šīs komandas tika pārbaudītas Debian 7, taču tām vajadzētu darboties arī

Kā instalēt Unturned 2.2.5 uz Debian 8

Kā instalēt Unturned 2.2.5 uz Debian 8

Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt Unturned 2.2.5 serveri Vultr VPS, kurā darbojas Debian 8. Piezīme. Šī ir rediģēta Unturned versija, kas to nedara.

Kā instalēt Cachet operētājsistēmā Debian 8

Kā instalēt Cachet operētājsistēmā Debian 8

Šajā apmācībā jūs uzzināsit, kā instalēt Cachet operētājsistēmā Debian 8. Cachet ir jaudīga atvērtā pirmkoda statusa lapu sistēma. Instalēšana Šī apmācība turpinās

Automātiski dublējiet vairākas MySQL vai MariaDB datu bāzes

Automātiski dublējiet vairākas MySQL vai MariaDB datu bāzes

Ievads Šajā pārskatā labi izskaidrojiet, kā dublēt vairākas MySQL vai MariaDB datu bāzes, kas atrodas vienā datorā, izmantojot pielāgotu bash skriptu.

Chroot iestatīšana vietnē Debian

Chroot iestatīšana vietnē Debian

Šis raksts iemācīs jums iestatīt chroot cietumu Debian. Es pieņemu, ka jūs izmantojat Debian 7.x. Ja jūs izmantojat Debian 6 vai 8, tas var darboties, bu

Kā instalēt Reader Self 3.5 RSS lasītāju Debian 9 LAMP VPS

Kā instalēt Reader Self 3.5 RSS lasītāju Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? Reader Self 3.5 ir vienkārša un elastīga, bezmaksas un atvērtā koda pašmitināta RSS lasītāja un Google lasītāja alternatīva. Lasītājs Sel

Kā instalēt Backdrop CMS 1.8.0 uz Debian 9 LAMP VPS

Kā instalēt Backdrop CMS 1.8.0 uz Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? Backdrop CMS 1.8.0 ir vienkārša un elastīga, mobilajām ierīcēm draudzīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (SPS), kas ļauj mums

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk