NodeBB-foorumin asentaminen Fedora 28:aan

NodeBB on Node.js-pohjainen foorumi. Se käyttää verkkoliitäntöjä välittömään vuorovaikutukseen ja reaaliaikaisiin ilmoituksiin. NodeBB-lähdekoodia isännöidään julkisesti Githubissa . Tämä opas opastaa sinut NodeBB-asennusprosessin läpi uuteen Fedora 28 Vultr -esiintymään käyttäen Node.js:ää, MongoDB:tä tietokantana, Nginxiä käänteisenä välityspalvelimena ja Acme.sh-salausta SSL-varmenteille.

Vaatimukset

NodeBB vaatii seuraavan ohjelmiston asentamisen:

  • Git
  • Node.js-versio 6.9.0 tai uudempi
  • MongoDB versio 2.6 tai uudempi
  • Nginx
  • Vähintään 1024 Mt RAM-muistia
  • Verkkotunnuksen nimi A/ AAAAtietueet määritetty

Ennen kuin aloitat

Tarkista Fedora-versio.

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

Luo uusi ei-root- käyttäjätili sudoja vaihda siihen.

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

HUOMAA : Korvaa johndoekäyttäjätunnuksellasi.

Aseta aikavyöhyke.

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

Varmista, että järjestelmäsi on ajan tasalla.

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

Asenna tarvittavat paketit.

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

Yksinkertaisuuden vuoksi poista SELinux ja palomuuri käytöstä.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Asenna Node.js

NodeBB:tä ohjaa Node.js, joten se on asennettava. Node.js:n nykyisen LTS-version asentaminen on suositeltavaa.

Asenna Node.js.

sudo dnf install -y nodejs

Tarkista Node.js:n ja npm:n asennus.

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

Asenna ja määritä MongoDB

MongoDB on NodeBB:n oletustietokanta.

Asenna MongoDB.

sudo dnf install -y mongodb mongodb-server

Tarkista versio.

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

Ota käyttöön ja käynnistä MongoDB-palvelu.

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

Luo MongoDB-tietokanta ja käyttäjä NodeBB:lle.

Yhdistä ensin MongoDB-palvelimeen.

mongo

Vaihda sisäänrakennettuun admintietokantaan.

> use admin

Luo järjestelmänvalvojan käyttäjä.

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

HUOMAA: Korvaa paikkamerkki <Enter a secure password>valitsemallasi salasanalla.

Lisää uusi tietokanta nimeltä nodebb.

> use nodebb

Tietokanta luodaan ja kontekstiksi vaihdetaan nodebb. Luo seuraavaksi nodebbkäyttäjä, jolla on tarvittavat oikeudet.

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

HUOMAA: Korvaa paikkamerkki jälleen <Enter a secure password>omalla salasanallasi.

Poistu Mongo-kuoresta.

> quit()

Käynnistä MongoDB uudelleen ja varmista, että aiemmin luotu järjestelmänvalvojan käyttäjä voi muodostaa yhteyden.

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

Asenna ja määritä Nginx

Asenna Nginx.

sudo dnf install -y nginx

Tarkista versio.

sudo nginx -v
# nginx version: nginx/1.12.1

Ota käyttöön ja käynnistä Nginx.

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

NodeBB toimii oletusarvoisesti portissa 4567. Välttääksemme kirjoittamisen http://example.com:4567määritämme Nginxin käänteiseksi välityspalvelimeksi NodeBB-sovellukselle. Jokainen portti 80tai 443( jos SSL on käytössä ) pyyntö välitetään portille 4567.

Suorita sudo vim /etc/nginx/conf.d/nodebb.confja täytä se alla olevilla käänteisen välityspalvelimen perusmäärityksellä.

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

}

Päivitä yllä olevassa konfiguraatiossa server_namedirektiivi verkkotunnuksellasi/isäntänimelläsi.

Tarkista kokoonpano.

sudo nginx -t

Lataa Nginx uudelleen.

sudo systemctl reload nginx.service

Asenna Acme.sh-asiakas ja hanki Let's Encrypt -sertifikaatti (valinnainen)

Foorumisi suojaaminen HTTPS:llä ei ole välttämätöntä, mutta se turvaa sivustosi liikenteen. Acme.sh on puhdas unix-kuoriohjelmisto SSL-sertifikaattien hankkimiseen Let's Encryptistä ilman riippuvuutta.

Lataa ja asenna 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

Tarkista versio.

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

Hanki RSA- ja ECDSA-sertifikaatit forum.example.comverkkotunnukselle/isäntänimelle.

# 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

Kun olet suorittanut yllä olevat komennot, varmenteesi ja avaimesi ovat seuraavissa hakemistoissa:

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

Kun olemme saaneet sertifikaatit Let's Encryptiltä, ​​meidän on määritettävä Nginx käyttämään niitä.

Suorita sudo vim /etc/nginx/conf.d/nodebb.confuudelleen ja määritä Nginx käänteiseksi HTTPS-välityspalvelimeksi.

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

}

Tarkista kokoonpano.

sudo nginx -t

Lataa Nginx uudelleen.

sudo systemctl reload nginx.service

Asenna NodeBB

Luo asiakirjan juurihakemisto.

sudo mkdir -p /var/www/nodebb

Muuta /var/www/nodebbhakemiston omistajuus muotoon johndoe.

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

Siirry asiakirjan juurikansioon.

cd /var/www/nodebb

Kloonaa uusin NodeBB asiakirjan juurikansioon.

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

Suorita NodeBB-asetuskomento ja vastaa jokaiseen kysymykseen pyydettäessä.

./nodebb setup

Kun NodeBB:n asennus on valmis, ./nodebb startkäynnistä NodeBB-palvelin manuaalisesti.

./nodebb start

Tämän komennon jälkeen voit käyttää foorumia verkkoselaimessasi.

Suorita NodeBB järjestelmäpalveluna

Kun ./nodebb startNodeBB käynnistetään kautta , se ei käynnisty automaattisesti uudelleen, kun järjestelmä käynnistetään uudelleen. Tämän välttämiseksi meidän on määritettävä NodeBB järjestelmäpalveluksi.

Jos se on käynnissä, pysäytä NodeBB.

./nodebb stop

Luo uusi nodebbkäyttäjä.

sudo useradd nodebb

Muuta /var/www/nodebbhakemiston omistajuus nodebbkäyttäjäksi.

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

Luo nodebb.servicesystemd-yksikön kokoonpanotiedosto. Tämä yksikkötiedosto käsittelee NodeBB-deamonin käynnistyksen. Suorita sudo vim /etc/systemd/system/nodebb.serviceja täytä tiedosto seuraavalla sisällöllä.

[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

HUOMAA: Aseta käyttäjätunnus ja hakemistopolut valitsemiesi nimien mukaan.

Ota nodebb.servicekäyttöön uudelleenkäynnistyksen yhteydessä ja käynnistä heti nodebb.service.

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

Tarkista nodebb.servicetila.

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

Se siitä. NodeBB-esiintymäsi on nyt käynnissä.


BigTree CMS:n asentaminen Fedora 26 LAMP VPS:ään

BigTree CMS:n asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? BigTree CMS 4.2 on nopea ja kevyt, ilmainen ja avoimen lähdekoodin yritystason sisällönhallintajärjestelmä (CMS), jossa on laaja

Kuinka asentaa Koel Fedora 28:aan

Kuinka asentaa Koel Fedora 28:aan

Käytätkö erilaista järjestelmää? Koel on yksinkertainen verkkopohjainen henkilökohtainen äänen suoratoistosovellus, joka on kirjoitettu Vuessa asiakaspuolella ja Laravelissa palvelinpuolella. Koe

Grav CMS:n asentaminen Fedora 28:aan

Grav CMS:n asentaminen Fedora 28:aan

Käytätkö erilaista järjestelmää? Grav on avoimen lähdekoodin kiinteätiedostoinen CMS, joka on kirjoitettu PHP:llä. Gravin lähdekoodia isännöidään julkisesti GitHubissa. Tämä opas näyttää sinulle, kuinka t

Akauntingin asentaminen Fedora 28:aan

Akauntingin asentaminen Fedora 28:aan

Käytätkö erilaista järjestelmää? Akaunting on ilmainen, avoimen lähdekoodin ja online-kirjanpitoohjelmisto, joka on suunniteltu pienille yrityksille ja freelancereille. Se on rakennettu viisaasti

Tiny Tiny RSS Reader -ohjelman asentaminen Fedora 26 LAMP VPS:ään

Tiny Tiny RSS Reader -ohjelman asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? Tiny Tiny RSS Reader on ilmainen ja avoimen lähdekoodin itseisännöity verkkopohjainen uutissyötteen (RSS/Atom) lukija ja kokoaja, joka on suunniteltu

Kuinka asentaa InvoicePlane Fedora 28:aan

Kuinka asentaa InvoicePlane Fedora 28:aan

Käytätkö erilaista järjestelmää? InvoicePlane on ilmainen ja avoimen lähdekoodin laskutussovellus. Sen lähdekoodi löytyy tästä Github-arkistosta. Tämä opas

Asenna Minecraft-palvelin Fedora 26:een

Asenna Minecraft-palvelin Fedora 26:een

Käytätkö erilaista järjestelmää? Tässä opetusohjelmassa opastan sinua Minecraft-palvelimen määrittämisessä korkean suorituskyvyn SSD VPS:lle Vultrissa. Opit kyllä

Kuinka kääntää Nginx lähteestä Fedora 25:ssä

Kuinka kääntää Nginx lähteestä Fedora 25:ssä

Käytätkö erilaista järjestelmää? NGINX:ää voidaan käyttää HTTP/HTTPS-palvelimena, käänteisenä välityspalvelimena, sähköpostin välityspalvelimena, kuormituksen tasapainottimena, TLS-päätteenä tai välimuistina.

Pagekit 1.0 CMS:n asentaminen Fedora 26 LAMP VPS:ään

Pagekit 1.0 CMS:n asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? Pagekit 1.0 CMS on kaunis, modulaarinen, laajennettava ja kevyt, ilmainen ja avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), jossa on

Subrion 4.1 CMS:n asentaminen Fedora 26 LAMP VPS:ään

Subrion 4.1 CMS:n asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? Subrion 4.1 CMS on tehokas ja joustava avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), joka tuo intuitiivisen ja selkeän sisällön

Asenna TaskServer (taskd) Fedora 26:een

Asenna TaskServer (taskd) Fedora 26:een

Käytätkö erilaista järjestelmää? TaskWarrior on avoimen lähdekoodin ajanhallintatyökalu, joka on parannus Todo.txt-sovellukseen ja sen klooniin. Johtuen th

CMS Made Simple 2.2:n asentaminen Fedora 26 LAMP VPS:ään

CMS Made Simple 2.2:n asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? CMS Made Simple 2.2 on joustava ja laajennettava, ilmainen ja avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), joka on älykkäästi suunniteltu

Bro IDS:n asentaminen Fedora 25:een

Bro IDS:n asentaminen Fedora 25:een

Käytätkö erilaista järjestelmää? Johdanto Bro on avoimen lähdekoodin verkkoliikenteen analysaattori. Se on ensisijaisesti turvamonitori, joka tarkastaa kaiken liikenteen linjalla

Kuinka asentaa X-Cart 5 Fedora 31:een

Kuinka asentaa X-Cart 5 Fedora 31:een

Käytätkö erilaista järjestelmää? X-Cart on erittäin joustava avoimen lähdekoodin verkkokauppaalusta, jossa on paljon ominaisuuksia ja integraatioita. X-Cartin lähdekoodi on hoste

Matomo Analyticsin asentaminen Fedora 28:aan

Matomo Analyticsin asentaminen Fedora 28:aan

Käytätkö erilaista järjestelmää? Matomo (aiemmin Piwik) on avoimen lähdekoodin analytiikkaalusta, avoin vaihtoehto Google Analyticsille. Matomo-lähdettä isännöi o

Kuinka asentaa MyBB Fedora 28:aan

Kuinka asentaa MyBB Fedora 28:aan

Käytätkö erilaista järjestelmää? MyBB on ilmainen ja avoimen lähdekoodin, intuitiivinen ja laajennettava foorumiohjelma. MyBB-lähdekoodia isännöi GitHub. Tämä opas tulee sho

TaskBoardin asentaminen ja määrittäminen Fedora 30:ssä

TaskBoardin asentaminen ja määrittäminen Fedora 30:ssä

Käytätkö erilaista järjestelmää? Johdanto TaskBoard on ilmainen ja avoimen lähdekoodin työkalu, jonka avulla voidaan pitää kirjaa asioista, jotka on tehtävä. Se tarjoaa

LimeSurvey CE:n asentaminen Fedora 28:aan

LimeSurvey CE:n asentaminen Fedora 28:aan

Käytätkö erilaista järjestelmää? LimeSurvey on avoimen lähdekoodin kyselyohjelma, joka on kirjoitettu PHP:llä. LimeSurveyn lähdekoodia isännöi GitHub. Tämä opas näyttää sinulle

Backdrop CMS 1.8.0:n asentaminen Fedora 26 LAMP VPS:ään

Backdrop CMS 1.8.0:n asentaminen Fedora 26 LAMP VPS:ään

Käytätkö erilaista järjestelmää? Backdrop CMS 1.8.0 on yksinkertainen ja joustava, mobiiliystävällinen, ilmainen ja avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), jonka avulla voimme

Craft CMS:n asentaminen Fedora 29:ään

Craft CMS:n asentaminen Fedora 29:ään

Käytätkö erilaista järjestelmää? Craft CMS on avoimen lähdekoodin CMS, joka on kirjoitettu PHP:llä. Craft CMS:n lähdekoodia isännöi GitHub. Tämä opas näyttää kuinka asennus tehdään

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja