Ako nainštalovať fórum NodeBB na Fedore 28

NodeBB je fórum založené na Node.js. Využíva webové zásuvky na okamžité interakcie a upozornenia v reálnom čase. Zdrojový kód NodeBB je verejne hosťovaný na serveri Github . Táto príručka vás prevedie procesom inštalácie NodeBB na novej inštancii Fedora 28 Vultr pomocou Node.js, MongoDB ako databázy, Nginx ako reverzného proxy a Acme.sh pre SSL certifikáty.

Požiadavky

NodeBB vyžaduje, aby bol nainštalovaný nasledujúci softvér:

  • Git
  • Node.js verzie 6.9.0 alebo novšej
  • MongoDB verzia 2.6 alebo novšia
  • Nginx
  • Minimálne 1024 MB RAM
  • Názov domény s nastavenými záznamami A/AAAA

Predtým ako začneš

Skontrolujte verziu Fedory.

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

Vytvorte nový používateľský účet typu non-root s sudoprístupom a prepnite sa naň.

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

POZNÁMKA : Nahraďte johndoesvojím užívateľským menom.

Nastavte časové pásmo.

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

Uistite sa, že váš systém je aktuálny.

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

Nainštalujte potrebné balíčky.

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

Pre jednoduchosť vypnite SELinux a Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Nainštalujte Node.js

NodeBB je riadený Node.js, a preto je potrebné ho nainštalovať. Odporúča sa inštalácia aktuálnej verzie LTS Node.js.

Nainštalujte Node.js.

sudo dnf install -y nodejs

Overte inštaláciu súborov Node.js a npm.

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

Nainštalujte a nakonfigurujte MongoDB

MongoDB je predvolená databáza pre NodeBB.

Nainštalujte MongoDB.

sudo dnf install -y mongodb mongodb-server

Skontrolujte verziu.

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

Povoľte a spustite službu MongoDB.

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

Vytvorte databázu MongoDB a používateľa pre NodeBB.

Najprv sa pripojte k serveru MongoDB.

mongo

Prepnite na vstavanú admindatabázu.

> use admin

Vytvorte administrátora.

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

POZNÁMKA: Nahraďte zástupný symbol <Enter a secure password>vlastným vybratým heslom.

Pridajte novú databázu s názvom nodebb.

> use nodebb

Vytvorí sa databáza a kontext sa prepne na nodebb. Potom vytvorte nodebbpoužívateľa s príslušnými oprávneniami.

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

POZNÁMKA: Zástupný symbol opäť nahraďte <Enter a secure password>vlastným zvoleným heslom.

Opustite Mongo shell.

> quit()

Reštartujte MongoDB a skontrolujte, či sa môže pripojiť skôr vytvorený administrátor.

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

Nainštalujte a nakonfigurujte Nginx

Nainštalujte Nginx.

sudo dnf install -y nginx

Skontrolujte verziu.

sudo nginx -v
# nginx version: nginx/1.12.1

Povoľte a spustite Nginx.

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

NodeBB štandardne beží na porte 4567. Aby http://example.com:4567sme sa vyhli zadávaniu , nakonfigurujeme Nginx ako reverzný proxy pre aplikáciu NodeBB. Každá požiadavka na port 80alebo 443( ak sa používa SSL ) bude presmerovaná na port 4567.

Spustite sudo vim /etc/nginx/conf.d/nodebb.confa naplňte ho základnou konfiguráciou reverzného servera proxy nižšie.

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

}

In the config above, update the server_name directive with your domain/hostname.

Check the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install Acme.sh client and obtain a Let's Encrypt certificate (optional)

Securing your forum with HTTPS is not necessary, but it will secure your site's traffic. Acme.sh is a pure unix shell software for obtaining SSL certificates from Let's Encrypt with zero dependencies.

Download and install 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

Check the version.

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

Obtain RSA and ECDSA certificates for the forum.example.com domain/hostname.

# 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

After running the commands above, your certificates and keys will be in the following directories:

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

After obtaining certificates from Let's Encrypt, we need to configure Nginx to use them.

Run sudo vim /etc/nginx/conf.d/nodebb.conf again and configure Nginx as an HTTPS reverse proxy.

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

}

Check the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install NodeBB

Vytvorte koreňový adresár dokumentu.

sudo mkdir -p /var/www/nodebb

Zmeňte vlastníctvo /var/www/nodebbadresára na johndoe.

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

Prejdite do koreňového priečinka dokumentu.

cd /var/www/nodebb

Naklonujte najnovší NodeBB do koreňového priečinka dokumentu.

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

Spustite príkaz nastavenia NodeBB a po zobrazení výzvy odpovedzte na každú otázku.

./nodebb setup

Po dokončení nastavenia NodeBB spustite ./nodebb startmanuálne spustenie servera NodeBB.

./nodebb start

Po tomto príkaze budete mať prístup k vášmu fóru vo webovom prehliadači.

Spustite NodeBB ako systémovú službu

Pri ./nodebb startspustení cez , NodeBB sa po reštarte systému automaticky znova nespustí. Aby sme tomu zabránili, budeme musieť nastaviť NodeBB ako systémovú službu.

Ak je spustený, zastavte NodeBB.

./nodebb stop

Vytvorte nového nodebbpoužívateľa.

sudo useradd nodebb

Zmeňte vlastníctvo /var/www/nodebbadresára na nodebbpoužívateľa.

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

Vytvorte nodebb.servicekonfiguračný súbor systémovej jednotky. Tento súbor jednotky sa postará o spustenie démona NodeBB. Spustite sudo vim /etc/systemd/system/nodebb.servicea naplňte súbor nasledujúcim obsahom.

[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

POZNÁMKA: Nastavte používateľské meno a cestu k adresáru podľa vybratých mien.

Povoliť nodebb.servicepri reštarte a okamžite spustiť nodebb.service.

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

Skontrolujte nodebb.servicestav.

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

To je všetko. Vaša inštancia NodeBB je teraz v prevádzke.


Ako nainštalovať BigTree CMS na Fedora 26 LAMP VPS

Ako nainštalovať BigTree CMS na Fedora 26 LAMP VPS

Používate iný systém? BigTree CMS 4.2 je rýchly a ľahký, bezplatný a open source podnikový redakčný systém (CMS) s rozsiahlym

Ako nainštalovať Koel na Fedora 28

Ako nainštalovať Koel na Fedora 28

Používate iný systém? Koel je jednoduchá webová aplikácia na streamovanie zvuku napísaná vo Vue na strane klienta a Laravel na strane servera. Koe

Ako nainštalovať Grav CMS na Fedora 28

Ako nainštalovať Grav CMS na Fedora 28

Používate iný systém? Grav je open source CMS s plochým súborom napísaný v PHP. Zdrojový kód Grav je verejne hosťovaný na GitHub. Táto príručka vám ukáže, ako t

Inštalácia Akaunting na Fedora 28

Inštalácia Akaunting na Fedora 28

Používate iný systém? Akaunting je bezplatný, open source a online účtovný softvér určený pre malé podniky a živnostníkov. Je postavený vtipne

Ako nainštalovať Tiny Tiny RSS Reader na Fedora 26 LAMP VPS

Ako nainštalovať Tiny Tiny RSS Reader na Fedora 26 LAMP VPS

Používate iný systém? Tiny Tiny RSS Reader je bezplatný a otvorený zdroj s vlastným hosťovaním webového informačného kanála správ (RSS/Atom) a agregátor určený na

Ako nainštalovať InvoicePlane na Fedore 28

Ako nainštalovať InvoicePlane na Fedore 28

Používate iný systém? InvoicePlane je bezplatná a open source fakturačná aplikácia. Jeho zdrojový kód možno nájsť v tomto úložisku Github. Tento sprievodca

Nainštalujte Minecraft Server na Fedora 26

Nainštalujte Minecraft Server na Fedora 26

Používate iný systém? V tomto návode vás prevediem nastavením servera Minecraft na vysokovýkonnom SSD VPS na Vultr. Naučíte sa ho

Ako skompilovať Nginx zo zdroja na Fedore 25

Ako skompilovať Nginx zo zdroja na Fedore 25

Používate iný systém? NGINX je možné použiť ako HTTP/HTTPS server, reverzný proxy server, poštový proxy server, vyrovnávač zaťaženia, TLS terminátor alebo cache

Ako nainštalovať Pagekit 1.0 CMS na Fedora 26 LAMP VPS

Ako nainštalovať Pagekit 1.0 CMS na Fedora 26 LAMP VPS

Používate iný systém? Pagekit 1.0 CMS je krásny, modulárny, rozšíriteľný a ľahký, bezplatný a open source systém na správu obsahu (CMS) s

Ako nainštalovať Subrion 4.1 CMS na Fedora 26 LAMP VPS

Ako nainštalovať Subrion 4.1 CMS na Fedora 26 LAMP VPS

Používate iný systém? Subrion 4.1 CMS je výkonný a flexibilný open source systém na správu obsahu (CMS), ktorý prináša intuitívny a prehľadný obsah

Nainštalujte TaskServer (taskd) na Fedore 26

Nainštalujte TaskServer (taskd) na Fedore 26

Používate iný systém? TaskWarrior je open source nástroj na správu času, ktorý je vylepšením aplikácie Todo.txt a jej klonov. Vzhľadom na th

Ako nainštalovať CMS Made Simple 2.2 na Fedora 26 LAMP VPS

Ako nainštalovať CMS Made Simple 2.2 na Fedora 26 LAMP VPS

Používate iný systém? CMS Made Simple 2.2 je flexibilný a rozšíriteľný, bezplatný a open source systém na správu obsahu (CMS) inteligentne navrhnutý tak, aby

Inštalácia Bro IDS na Fedora 25

Inštalácia Bro IDS na Fedora 25

Používate iný systém? Úvod Bro je open-source analyzátor sieťovej prevádzky. Je to predovšetkým bezpečnostný monitor, ktorý kontroluje všetku premávku na linke

Ako nainštalovať X-Cart 5 na Fedora 31

Ako nainštalovať X-Cart 5 na Fedora 31

Používate iný systém? X-Cart je extrémne flexibilná open-source platforma elektronického obchodu s množstvom funkcií a integrácií. Zdrojový kód X-Cart je hostiteľ

Ako nainštalovať Matomo Analytics na Fedora 28

Ako nainštalovať Matomo Analytics na Fedora 28

Používate iný systém? Matomo (predtým Piwik) je open source analytická platforma, otvorená alternatíva k Google Analytics. Zdroj Matomo je hosťovaný o

Ako nainštalovať MyBB na Fedora 28

Ako nainštalovať MyBB na Fedora 28

Používate iný systém? MyBB je bezplatný a otvorený zdroj, intuitívny a rozšíriteľný program fóra. Zdrojový kód MyBB je umiestnený na GitHub. Tento sprievodca bude sho

Ako nainštalovať a nakonfigurovať TaskBoard na Fedore 30

Ako nainštalovať a nakonfigurovať TaskBoard na Fedore 30

Používate iný systém? Úvod TaskBoard je bezplatný nástroj s otvoreným zdrojovým kódom, ktorý možno použiť na sledovanie vecí, ktoré je potrebné vykonať. To poskytuje

Inštalácia Fork CMS na Fedora 28

Inštalácia Fork CMS na Fedora 28

Používate iný systém? Fork je open source CMS napísaný v PHP. Zdrojový kód Forks je hostený na GitHub. Táto príručka vám ukáže, ako nainštalovať Fork CM

Ako nainštalovať LimeSurvey CE na Fedora 28

Ako nainštalovať LimeSurvey CE na Fedora 28

Používate iný systém? LimeSurvey je open source prieskumný program napísaný v PHP. Zdrojový kód LimeSurvey je umiestnený na GitHub. Tento návod vám to ukáže

Ako nainštalovať Backdrop CMS 1.8.0 na Fedora 26 LAMP VPS

Ako nainštalovať Backdrop CMS 1.8.0 na Fedora 26 LAMP VPS

Používate iný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilný, mobilný, bezplatný a open source systém na správu obsahu (CMS), ktorý nám umožňuje

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac