A NodeBB fórum telepítése Debian 9 rendszeren

A NodeBB egy Node.js alapú fórum. Webes csatlakozókat használ az azonnali interakciókhoz és a valós idejű értesítésekhez. A NodeBB forráskódja nyilvánosan a Githubon található . Ez az útmutató végigvezeti a NodeBB telepítési folyamatán egy friss Debian 9 Vultr példányon Node.js, MongoDB mint adatbázis, Nginx mint fordított proxy és Acme.sh SSL tanúsítványok használatával.

Követelmények

A NodeBB-nek a következő szoftverek telepítése szükséges:

  • Git
  • Node.js 6.9.0 vagy újabb verzió
  • MongoDB 2.6 vagy újabb verzió
  • Nginx
  • Minimum 1024 MB RAM
  • Domain név a A/ AAAArekordokkal beállítva

Mielőtt elkezded

Ellenőrizze a Debian verziót.

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

Győződjön meg arról, hogy rendszere naprakész.

apt update && apt upgrade -y

Telepítse a szükséges csomagokat.

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

Hozzon létre egy új non-rootfelhasználói fiókot sudohozzáféréssel, és váltson rá.

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

MEGJEGYZÉS : Cserélje johndoeki a felhasználónevét.

Állítsa be az időzónát.

sudo dpkg-reconfigure tzdata

Telepítse a Node.js-t

A NodeBB-t a Node.js vezérli, ezért telepíteni kell. A Node.js aktuális LTS-verziójának telepítése javasolt.

Telepítse a Node.js fájlt a NodeSource tárolóból.

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

Ellenőrizze a Node.js és az npm telepítését.

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

Telepítse és konfigurálja a MongoDB-t

A MongoDB a NodeBB alapértelmezett adatbázisa.

Telepítse a MongoDB-t a hivatalos MongoDB tárolóból.

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

Ellenőrizze a verziót.

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

Indítsa el és engedélyezze a MongoDB-t.

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

Hozzon létre egy MongoDB adatbázist és felhasználót a NodeBB számára.

Csatlakozzon a MongoDB-hez.

mongo

Váltson a beépített adminadatbázisra.

> use admin

Hozzon létre egy rendszergazdai felhasználót.

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

MEGJEGYZÉS: Cserélje ki a helyőrzőt <Enter a secure password>a saját kiválasztott jelszavával.

Adjon hozzá egy új adatbázist nodebb.

> use nodebb

Az adatbázis létrejön, és a környezet átvált a következőre nodebb. Ezután hozza létre a nodebbfelhasználót a megfelelő jogosultságokkal.

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

MEGJEGYZÉS: Ismét cserélje ki a helyőrzőt <Enter a secure password>a saját kiválasztott jelszavával.

Lépjen ki a Mongo shellből.

> quit()

Indítsa újra a MongoDB-t, és ellenőrizze, hogy a korábban létrehozott rendszergazdai felhasználó tud-e csatlakozni.

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

Telepítse és konfigurálja az Nginx-et

Telepítse az Nginx legújabb fővonali verzióját a hivatalos Nginx tárolóból.

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

Ellenőrizze a verziót.

sudo nginx -v
# nginx version: nginx/1.15.0

Engedélyezze és indítsa el az Nginxet.

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

A NodeBB alapértelmezés szerint a porton fut 4567. A beírás elkerülése érdekében az http://example.com:4567Nginx-et fordított proxyként konfiguráljuk a NodeBB alkalmazáshoz. A porton 80vagy 443(SSL használata esetén) minden kérés a portra kerül továbbításra 4567.

Futtassa sudo vim /etc/nginx/conf.d/nodebb.confés töltse fel az alább látható alapvető fordított proxykonfigurációval.

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

}

A fenti konfigurációban frissítse a server_namedirektívát a tartomány/gazdanév megadásával.

Ellenőrizze a konfigurációt.

sudo nginx -t

Töltse újra az Nginxet.

sudo systemctl reload nginx.service

Telepítse az Acme.sh klienst, és szerezzen be egy Let's Encrypt tanúsítványt (opcionális)

Fórumának HTTPS-sel történő biztonságossá tétele nem szükséges, de ez biztosítja webhelye forgalmát. Az Acme.sh egy tisztán Unix shell szoftver SSL-tanúsítványok beszerzéséhez a Let's Encrypt-től nulla függőséggel.

Töltse le és telepítse az Acme.sh-t.

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

Ellenőrizze a verziót.

acme.sh --version
# v2.7.9

Szerezzen be RSA és ECDSA tanúsítványt a következőhöz: 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

A fenti parancsok futtatása után a tanúsítványok és kulcsok a következő könyvtárakban lesznek:

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

Miután megszereztük a tanúsítványokat a Let's Encrypt-től, be kell állítanunk az Nginxet a használatukhoz.

Futtassa sudo vim /etc/nginx/conf.d/nodebb.confújra, és konfigurálja az Nginx-et HTTPS fordított proxyként.

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

}

Ellenőrizze a konfigurációt.

sudo nginx -t

Töltse újra az Nginxet.

sudo systemctl reload nginx.service

Telepítse a NodeBB-t

Hozzon létre egy dokumentum gyökérkönyvtárát.

sudo mkdir -p /var/www/nodebb

Módosítsa a /var/www/nodebbcímtár tulajdonjogát erre: johndoe.

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

Navigáljon a dokumentum gyökérmappájához.

cd /var/www/nodebb

Klónozza a legújabb NodeBB-t a dokumentum gyökérmappájába.

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

Futtassa a NodeBB setup parancsot, és válaszoljon minden kérdésre, amikor a rendszer kéri.

./nodebb setup

A NodeBB beállításának befejezése után futtassa ./nodebb starta NodeBB-kiszolgáló kézi indításához.

./nodebb start

E parancs után elérheti a fórumot a böngészőjében.

Futtassa a NodeBB-t rendszerszolgáltatásként

Ha ./nodebb starta rendszeren keresztül indítja el , a NodeBB nem indul el automatikusan újra, amikor a rendszer újraindul. Ennek elkerülése érdekében a NodeBB-t rendszerszolgáltatásként kell beállítanunk.

Ha fut, állítsa le a NodeBB-t.

./nodebb stop

Új nodebbfelhasználó létrehozása :

sudo adduser nodebb

Módosítsa a /var/www/nodebbcímtár tulajdonjogát erre: nodebb.

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

Hozzon létre egy nodebb.servicerendszeregység konfigurációs fájlt. Ez az egységfájl kezeli a NodeBB démon indítását. Futtassa sudo vim /etc/systemd/system/nodebb.serviceés töltse fel a fájlt a következő tartalommal:

[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

MEGJEGYZÉS: Állítsa be a felhasználónév és a könyvtár elérési útját a választott neveknek megfelelően.

Engedélyezze nodebb.serviceújraindításkor, és azonnal indítsa el nodebb.service.

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

Ellenőrizze az nodebb.serviceállapotot.

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

Ez az. A NodeBB-példány most már működik és fut.


Leave a Comment

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

A Kanboard telepítése Debian 9 rendszeren

A Kanboard telepítése Debian 9 rendszeren

Más rendszert használ? Bevezetés A Kanboard egy ingyenes és nyílt forráskódú projektmenedzsment szoftver, amely megkönnyíti és vizualizálja

A Gitea telepítése Debian 9-re

A Gitea telepítése Debian 9-re

Más rendszert használ? A Gitea egy alternatív nyílt forráskódú, saját üzemeltetésű verziókezelő rendszer, amelyet a Git üzemeltet. A Gitea golang nyelven íródott, és az is

Telepítse a Lynis-t Debian 8-ra

Telepítse a Lynis-t Debian 8-ra

Bevezetés A Lynis egy ingyenes, nyílt forráskódú rendszer-ellenőrző eszköz, amelyet sok rendszergazda használ a rendszer integritásának ellenőrzésére és a rendszer megerősítésére. én

A Thelia 2.3 telepítése Debian 9 rendszeren

A Thelia 2.3 telepítése Debian 9 rendszeren

Más rendszert használ? A Thelia egy nyílt forráskódú eszköz e-üzleti webhelyek létrehozására és PHP-ben írt online tartalmak kezelésére. Thelia forráskód i

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Mire lesz szüksége Egy Vultr VPS legalább 1 GB RAM-mal. SSH hozzáférés (root/adminisztrátori jogosultságokkal). 1. lépés: A BungeeCord telepítése Először is

A Golang 1.8.3 telepítése CentOS 7, Ubuntu 16.04 és Debian 9 rendszeren

A Golang 1.8.3 telepítése CentOS 7, Ubuntu 16.04 és Debian 9 rendszeren

A Golang a Google által kifejlesztett programozási nyelv. Sokoldalúságának, egyszerűségének és megbízhatóságának köszönhetően a Golang az egyik legnépszerűbb lett

Állítsa vissza a MySQL root jelszót Debian/Ubuntu rendszeren

Állítsa vissza a MySQL root jelszót Debian/Ubuntu rendszeren

Ha elfelejtette MySQL root jelszavát, visszaállíthatja azt az ebben a cikkben található lépések végrehajtásával. A folyamat meglehetősen egyszerű, és ezeken működik

Hálózati megosztások létrehozása a Samba használatával a Debian rendszeren

Hálózati megosztások létrehozása a Samba használatával a Debian rendszeren

Vannak esetek, amikor olyan fájlokat kell megosztanunk, amelyeket a Windows-kliensek láthatnak. Mivel a Fuse-alapú rendszerek csak Linuxon működnek, tessék bemutatni

A Counter Strike beállítása: Forrás Debianon

A Counter Strike beállítása: Forrás Debianon

Ebben az útmutatóban egy Counter Strike: Source játékszervert fogunk beállítani a Debian 7 rendszeren. Ezeket a parancsokat a Debian 7 rendszeren teszteltük, de működniük kell

Az Unturned 2.2.5 telepítése Debian 8 rendszeren

Az Unturned 2.2.5 telepítése Debian 8 rendszeren

Ebből az útmutatóból megtudhatja, hogyan állíthat be egy Unturned 2.2.5 szervert Debian 8-at futtató Vultr VPS-en. Megjegyzés: Ez az Unturned szerkesztett változata, amely nem

A Cachet telepítése Debian 8 rendszeren

A Cachet telepítése Debian 8 rendszeren

Ebből az oktatóanyagból megtudhatja, hogyan telepítheti a Cachet Debian 8-ra. A Cachet egy hatékony, nyílt forráskódú állapotoldal-rendszer. Telepítés Ez a bemutató folyamatban van

Több MySQL vagy MariaDB adatbázis biztonsági mentése automatikusan

Több MySQL vagy MariaDB adatbázis biztonsági mentése automatikusan

Bevezetés Ebben az írásban részletesen végigvezeti, hogyan készíthet biztonsági másolatot több MySQL vagy MariaDB adatbázisról, amelyek ugyanazon a gépen vannak egy egyedi bash szkript segítségével.

Chroot beállítása Debianon

Chroot beállítása Debianon

Ez a cikk megtanítja Önnek, hogyan állítson be chroot börtönt a Debian rendszeren. Feltételezem, hogy a Debian 7.x-et használod. Ha Debian 6-ot vagy 8-at futtat, ez működhet, bu

A Reader Self 3.5 RSS Reader telepítése Debian 9 LAMP VPS-re

A Reader Self 3.5 RSS Reader telepítése Debian 9 LAMP VPS-re

Más rendszert használ? A Reader Self 3.5 egy egyszerű és rugalmas, ingyenes és nyílt forráskódú, saját üzemeltetésű RSS-olvasó és Google Reader alternatíva. Olvasó Sel

A Backdrop CMS 1.8.0 telepítése Debian 9 LAMP VPS-re

A Backdrop CMS 1.8.0 telepítése Debian 9 LAMP VPS-re

Más rendszert használ? A Backdrop CMS 1.8.0 egy egyszerű és rugalmas, mobilbarát, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amely lehetővé teszi

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <<strong>>Windows ISO<<strong>> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.