A NodeBB fórum telepítése a Fedora 28-ra

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 Fedora 28 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 Fedora verziót.

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

Hozzon létre egy új nem root felhasználói fiókot sudohozzáféréssel, és váltson rá.

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

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

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

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

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

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

Telepítse a szükséges csomagokat.

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

Az egyszerűség kedvéért tiltsa le a SELinuxot és a tűzfalat.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

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

sudo dnf install -y nodejs

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

node -v && npm -v
# v8.11.3
# 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 dnf install -y mongodb mongodb-server

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

Engedélyezze és indítsa el a MongoDB szolgáltatást.

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

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 mongod.service
mongo -u admin -p your_password --authenticationDatabase=admin

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

Telepítse az Nginx-et.

sudo dnf install -y nginx

Ellenőrizze a verziót.

sudo nginx -v
# nginx version: nginx/1.12.1

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 továbbításra kerül 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";
  }

}

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.

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

Szerezzen be RSA- és ECDSA-tanúsítványokat a forum.example.comtartományhoz/gazdanévhez.

# 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

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

sudo useradd 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 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.


A BigTree CMS telepítése Fedora 26 LAMP VPS-re

A BigTree CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A BigTree CMS 4.2 egy gyors és könnyű, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS), amely kiterjedt

A Koel telepítése Fedora 28-ra

A Koel telepítése Fedora 28-ra

Más rendszert használ? A Koel egy egyszerű, webalapú személyes audio streaming alkalmazás, amelyet kliens oldalon Vue-ban, szerver oldalon pedig Laravelben írtak. Koe

A Grav CMS telepítése a Fedora 28-ra

A Grav CMS telepítése a Fedora 28-ra

Más rendszert használ? A Grav egy nyílt forráskódú, lapos fájlú CMS, amelyet PHP-ben írtak. A Grav-forráskód nyilvánosan a GitHubon található. Ez az útmutató megmutatja, hogyan t

Az Akaunting telepítése Fedora 28-ra

Az Akaunting telepítése Fedora 28-ra

Más rendszert használ? Az Akaunting egy ingyenes, nyílt forráskódú és online számviteli szoftver kisvállalkozások és szabadúszók számára. Szellemesen épült

A Tiny Tiny RSS Reader telepítése Fedora 26 LAMP VPS-re

A Tiny Tiny RSS Reader telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Tiny Tiny RSS Reader egy ingyenes és nyílt forráskódú, saját üzemeltetésű webalapú hírfolyam (RSS/Atom) olvasó és aggregátor, amelyet úgy terveztek, hogy

Az InvoicePlane telepítése a Fedora 28-ra

Az InvoicePlane telepítése a Fedora 28-ra

Más rendszert használ? Az InvoicePlane egy ingyenes és nyílt forráskódú számlázó alkalmazás. Forráskódja megtalálható ezen a Github-tárházban. Ez az útmutató

Telepítsen egy Minecraft szervert a Fedora 26-ra

Telepítsen egy Minecraft szervert a Fedora 26-ra

Más rendszert használ? Ebben az oktatóanyagban végigvezetem Önt a Minecraft szerver beállításán egy nagy teljesítményű SSD VPS-en a Vultr-nál. Meg fogod tanulni ho

Hogyan fordítsuk le az Nginx-et forrásból a Fedora 25-ön

Hogyan fordítsuk le az Nginx-et forrásból a Fedora 25-ön

Más rendszert használ? Az NGINX használható HTTP/HTTPS szerverként, fordított proxy szerverként, levelező proxy szerverként, terheléselosztóként, TLS terminátorként vagy gyorsítótárként

A Pagekit 1.0 CMS telepítése Fedora 26 LAMP VPS-re

A Pagekit 1.0 CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Pagekit 1.0 CMS egy gyönyörű, moduláris, bővíthető és könnyű, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS)

A Subrion 4.1 CMS telepítése Fedora 26 LAMP VPS-re

A Subrion 4.1 CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Subrion 4.1 CMS egy hatékony és rugalmas nyílt forráskódú tartalomkezelő rendszer (CMS), amely intuitív és világos tartalmat biztosít.

Telepítse a TaskServer-t (taskd) a Fedora 26-on

Telepítse a TaskServer-t (taskd) a Fedora 26-on

Más rendszert használ? A TaskWarrior egy nyílt forráskódú időkezelő eszköz, amely a Todo.txt alkalmazás és klónjai továbbfejlesztése. Mivel a th

A CMS Made Simple 2.2 telepítése Fedora 26 LAMP VPS-re

A CMS Made Simple 2.2 telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A CMS Made Simple 2.2 egy rugalmas és bővíthető, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amelyet intelligensen terveztek

A Bro IDS telepítése Fedora 25-re

A Bro IDS telepítése Fedora 25-re

Más rendszert használ? Bevezetés A Bro egy nyílt forráskódú hálózati forgalomelemző. Ez elsősorban egy biztonsági figyelő, amely a vonal összes forgalmát ellenőrzi

Az X-Cart 5 telepítése Fedora 31-re

Az X-Cart 5 telepítése Fedora 31-re

Más rendszert használ? Az X-Cart egy rendkívül rugalmas, nyílt forráskódú e-kereskedelmi platform rengeteg funkcióval és integrációval. Az X-Cart forráskódja hoste

A Matomo Analytics telepítése a Fedora 28-ra

A Matomo Analytics telepítése a Fedora 28-ra

Más rendszert használ? A Matomo (korábban Piwik) egy nyílt forráskódú elemzési platform, a Google Analytics nyílt alternatívája. A Matomo forrás o

A MyBB telepítése Fedora 28-ra

A MyBB telepítése Fedora 28-ra

Más rendszert használ? A MyBB egy ingyenes és nyílt forráskódú, intuitív és bővíthető fórumprogram. A MyBB forráskódja a GitHubon található. Ez az útmutató sho

A TaskBoard telepítése és konfigurálása a Fedora 30 rendszeren

A TaskBoard telepítése és konfigurálása a Fedora 30 rendszeren

Más rendszert használ? Bevezetés A TaskBoard egy ingyenes és nyílt forráskódú eszköz, amely segítségével nyomon követheti az elvégzendő dolgokat. Ez biztosítja

A LimeSurvey CE telepítése Fedora 28-ra

A LimeSurvey CE telepítése Fedora 28-ra

Más rendszert használ? A LimeSurvey egy PHP nyelven írt nyílt forráskódú felmérési program. A LimeSurvey forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Backdrop CMS 1.8.0 telepítése Fedora 26 LAMP VPS-re

A Backdrop CMS 1.8.0 telepítése Fedora 26 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

A Craft CMS telepítése a Fedora 29 rendszeren

A Craft CMS telepítése a Fedora 29 rendszeren

Más rendszert használ? A Craft CMS egy PHP nyelven írt nyílt forráskódú CMS. A Craft CMS forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni

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