A NodeBB Forum telepítése Ubuntu 18.04 LTS 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 Ubuntu 18.04 LTS Vultr példányon a Node.js, a MongoDB mint adatbázis, az Nginx mint fordított proxy és az Acme.sh az 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 az Ubuntu verziót.

lsb_release -ds
# Ubuntu 18.04 LTS

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

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

sudo apt update && sudo apt upgrade -y

Telepítse a szükséges csomagokat.

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

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.

sudo apt install -y mongodb

Ellenőrizze a verziót.

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

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

Először csatlakozzon a MongoDB szerverhez.

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 nodebbmegfelelő jogosultságokkal rendelkező felhasználót.

> 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 mongodb.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/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(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 http://example.com:4567beírás elkerülése érdekében az Nginx-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ábbi 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";
  }

}

Megjegyzés: Frissítse az server_nameirányelvet 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 NodeBB legújabb verziójá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

Hozzon létre egy új, privilegizált nodebbfelhasználót.

sudo adduser nodebb

Módosítsa a /var/www/nodebbcímtár tulajdonjogát nodebbfelhasználóra.

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

Hozza létre a nodebb.servicerendszeregység konfigurációs fájlját. 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 ki 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.


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

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

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

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

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

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

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Á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

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

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

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

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é.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket