NodeBB-foorumin asentaminen Debian 9:ään

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:n asennusprosessin läpi uuteen Debian 9 Vultr -esiintymään käyttämällä Node.js:ää, MongoDB:tä tietokantana, Nginxiä käänteisenä välityspalvelimena ja Acme.sh:ta 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 Debian-versio.

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

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

apt update && apt upgrade -y

Asenna tarvittavat paketit.

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

Luo uusi non-rootkäyttäjätili sudoja vaihda siihen.

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

HUOMAA : Korvaa johndoekäyttäjätunnuksellasi.

Aseta aikavyöhyke.

sudo dpkg-reconfigure tzdata

Asenna Node.js

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

Asenna Node.js NodeSource-arkistosta.

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

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

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

Asenna ja määritä MongoDB

MongoDB on NodeBB:n oletustietokanta.

Asenna MongoDB virallisesta MongoDB-arkistosta.

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

Tarkista versio.

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

Käynnistä ja ota MongoDB käyttöön.

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

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

Yhdistä MongoDB:hen.

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 Nginxin uusin pääversio virallisesta Nginx-arkistosta.

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

Tarkista versio.

sudo nginx -v
# nginx version: nginx/1.15.0

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 esitetyllä käänteisen välityspalvelimen peruskokoonpanolla.

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.

acme.sh --version
# v2.7.9

Hanki RSA- ja ECDSA-sertifikaatit 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

Yllä olevien komentojen suorittamisen jälkeen sertifikaattisi 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 käynnissä, pysäytä NodeBB.

./nodebb stop

Luo uusi nodebbkäyttäjä:

sudo adduser nodebb

Muuta /var/www/nodebbhakemiston omistajuus muotoon nodebb.

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


Asenna Cacti Debian Jessielle

Asenna Cacti Debian Jessielle

Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita

Asenna iRedMail Debian Wheezylle

Asenna iRedMail Debian Wheezylle

Käytätkö erilaista järjestelmää? Tämä opetusohjelma näyttää kuinka asennat ryhmätyöohjelman iRedMail uuteen Debian Wheezy -asennukseen. Sinun pitäisi käyttää tarjoilua

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Käytätkö erilaista järjestelmää? Jos ostat Debian-palvelimen, sinulla pitäisi aina olla viimeisimmät tietoturvakorjaukset ja -päivitykset riippumatta siitä, oletko nukkumassa vai ei.

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Tämä opetusohjelma selittää, kuinka DNS-palvelin määritetään Bind9:n avulla Debianissa tai Ubuntussa. Korvaa koko artikkelin ajan verkkotunnuksesi-nimi.com vastaavasti. klo th

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Tässä artikkelissa näemme, kuinka Nginx-päälinja voidaan kääntää ja asentaa virallisista Nginx-lähteistä PageSpeed-moduulilla, jonka avulla voit

Kanboardin asentaminen Debian 9:ään

Kanboardin asentaminen Debian 9:ään

Käytätkö erilaista järjestelmää? Johdanto Kanboard on ilmainen ja avoimen lähdekoodin projektinhallintaohjelmisto, joka on suunniteltu helpottamaan ja visualisoimaan

Gitean asentaminen Debian 9:ään

Gitean asentaminen Debian 9:ään

Käytätkö erilaista järjestelmää? Gitea on vaihtoehtoinen avoimen lähdekoodin, itseisännöity versionhallintajärjestelmä, jota käyttää Git. Gitea on kirjoitettu golangilla ja on

Asenna Lynis Debian 8:aan

Asenna Lynis Debian 8:aan

Johdanto Lynis on ilmainen, avoimen lähdekoodin järjestelmän tarkastustyökalu, jota monet järjestelmänvalvojat käyttävät järjestelmiensä eheyden tarkistamiseen ja vahvistamiseen. minä

Thelia 2.3:n asentaminen Debian 9:ään

Thelia 2.3:n asentaminen Debian 9:ään

Käytätkö erilaista järjestelmää? Thelia on avoimen lähdekoodin työkalu sähköisen liiketoiminnan verkkosivustojen luomiseen ja PHP:llä kirjoitetun online-sisällön hallintaan. Thelia-lähdekoodi i

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin

Golang 1.8.3:n asentaminen CentOS 7:ään, Ubuntu 16.04:ään ja Debian 9:ään

Golang 1.8.3:n asentaminen CentOS 7:ään, Ubuntu 16.04:ään ja Debian 9:ään

Golang on Googlen kehittämä ohjelmointikieli. Monipuolisuuden, yksinkertaisuuden ja luotettavuuden ansiosta Golangista on tullut yksi suosituimmista

Palauta MySQL-pääsalasana Debianissa/Ubuntussa

Palauta MySQL-pääsalasana Debianissa/Ubuntussa

Jos olet unohtanut MySQL-pääkäyttäjän salasanasi, voit nollata sen noudattamalla tämän artikkelin ohjeita. Prosessi on melko yksinkertainen ja toimii niillä

Verkkoosuuksien luominen Samballa Debianissa

Verkkoosuuksien luominen Samballa Debianissa

Joskus meidän on jaettava tiedostoja, joiden on oltava Windows-asiakkaiden nähtävissä. Koska Fuse-pohjaiset järjestelmät toimivat vain Linuxissa, olkaa hyvä

Counter Strike -ohjelman käyttöönotto: Lähde Debianissa

Counter Strike -ohjelman käyttöönotto: Lähde Debianissa

Tässä oppaassa asennamme Counter Strike: Source -pelipalvelimen Debian 7:lle. Nämä komennot testattiin Debian 7:ssä, mutta niiden pitäisi myös toimia.

Unturned 2.2.5:n asentaminen Debian 8:aan

Unturned 2.2.5:n asentaminen Debian 8:aan

Tässä oppaassa opit asentamaan Unturned 2.2.5 -palvelimen Vultr VPS:ään, jossa on Debian 8. Huomautus: Tämä on muokattu versio Unturnedista, joka ei

Cachetin asentaminen Debian 8:aan

Cachetin asentaminen Debian 8:aan

Tässä opetusohjelmassa opit asentamaan Cachet Debian 8:aan. Cachet on tehokas avoimen lähdekoodin tilasivujärjestelmä. Asennus Tämä opetusohjelma on käynnissä

Varmuuskopioi useita MySQL- tai MariaDB-tietokantoja automaattisesti

Varmuuskopioi useita MySQL- tai MariaDB-tietokantoja automaattisesti

Johdanto Tässä kirjoituksessa käydään läpi kuinka varmuuskopioida useita samassa koneessa olevia MySQL- tai MariaDB-tietokantoja mukautetulla bash-skriptillä

Chrootin määrittäminen Debianissa

Chrootin määrittäminen Debianissa

Tämä artikkeli opettaa sinulle kuinka chroot-vankila asetetaan Debianille. Oletan, että käytät Debian 7.x:ää. Jos käytät Debian 6 tai 8, tämä saattaa toimia, bu

Reader Self 3.5 RSS Readerin asentaminen Debian 9 LAMP VPS:ään

Reader Self 3.5 RSS Readerin asentaminen Debian 9 LAMP VPS:ään

Käytätkö erilaista järjestelmää? Reader Self 3.5 on yksinkertainen ja joustava, ilmainen ja avoimen lähdekoodin itseisännöity RSS-lukija ja Google Reader -vaihtoehto. Lukija Sel

Backdrop CMS 1.8.0:n asentaminen Debian 9 LAMP VPS:ään

Backdrop CMS 1.8.0:n asentaminen Debian 9 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

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