Si të instaloni forumin NodeBB në Debian 9

NodeBB është një forum i bazuar në Node.js. Ai përdor prizat në internet për ndërveprime të menjëhershme dhe njoftime në kohë reale. Kodi burimor NodeBB është i pritur publikisht në Github . Ky udhëzues do t'ju përcjellë procesin e instalimit të NodeBB në një shembull të ri të Debian 9 Vultr duke përdorur Node.js, MongoDB si bazë të dhënash, Nginx si një përfaqësues të kundërt dhe Acme.sh për certifikatat SSL.

Kërkesat

NodeBB kërkon që të instalohet softueri i mëposhtëm:

  • Git
  • Node.js versioni 6.9.0 ose më i ri
  • Versioni MongoDB 2.6 ose më i ri
  • Nginx
  • Minimumi 1024 MB RAM
  • Emri i domenit me A/ AAAAkonfigurimin e regjistrimeve

Perpara se te fillosh

Kontrolloni versionin e Debian.

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

Sigurohuni që sistemi juaj të jetë i përditësuar.

apt update && apt upgrade -y

Instaloni paketat e nevojshme.

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

Krijoni një non-rootllogari të re përdoruesi me sudoakses dhe kaloni në të.

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

SHËNIM : Zëvendësojeni johndoeme emrin tuaj të përdoruesit.

Vendosni zonën kohore.

sudo dpkg-reconfigure tzdata

Instaloni Node.js

NodeBB drejtohet nga Node.js dhe kështu duhet të instalohet. Rekomandohet instalimi i versionit aktual LTS të Node.js.

Instaloni Node.js nga depoja e NodeSource.

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

Verifikoni instalimin e Node.js dhe npm.

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

Instaloni dhe konfiguroni MongoDB

MongoDB është baza e të dhënave e paracaktuar për NodeBB.

Instaloni MongoDB nga depoja zyrtare e MongoDB.

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

Kontrolloni versionin.

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

Filloni dhe aktivizoni MongoDB.

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

Krijoni një bazë të dhënash MongoDB dhe përdorues për NodeBB.

Lidhu me MongoDB.

mongo

Kaloni në adminbazën e të dhënave të integruar .

> use admin

Krijo një përdorues administrativ.

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

SHËNIM: Zëvendësoni mbajtësin e vendit <Enter a secure password>me fjalëkalimin tuaj të zgjedhur.

Shtoni një bazë të dhënash të re të quajtur nodebb.

> use nodebb

Baza e të dhënave do të krijohet dhe konteksti do të kalojë në nodebb. Më pas, krijoni nodebbpërdoruesin me privilegjet e duhura.

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

SHËNIM: Përsëri, zëvendësoni mbajtësin e vendit <Enter a secure password>me fjalëkalimin tuaj të zgjedhur.

Dilni nga guaska Mongo.

> quit()

Rinisni MongoDB dhe verifikoni që përdoruesi administrativ i krijuar më parë mund të lidhet.

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

Instaloni dhe konfiguroni Nginx

Instaloni versionin më të fundit kryesor të Nginx nga depoja zyrtare e Nginx.

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

Kontrolloni versionin.

sudo nginx -v
# nginx version: nginx/1.15.0

Aktivizo dhe nis Nginx.

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

NodeBB, si parazgjedhje, funksionon në portin 4567. Për të shmangur shtypjen http://example.com:4567, ne do të konfigurojmë Nginx si një përfaqësues të kundërt për aplikacionin NodeBB. Çdo kërkesë në port 80ose 443(nëse përdoret SSL) do të përcillet në port 4567.

Ekzekutoni sudo vim /etc/nginx/conf.d/nodebb.confdhe plotësoni atë me konfigurimin bazë të përfaqësuesit të kundërt të paraqitur më poshtë.

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

}

Në konfigurimin e mësipërm, përditësoni server_namedirektivën me domenin/emrin tuaj të hostit.

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Instaloni klientin Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)

Sigurimi i forumit tuaj me HTTPS nuk është i nevojshëm, por do të sigurojë trafikun e faqes suaj. Acme.sh është një softuer i pastër i guaskës Unix për marrjen e certifikatave SSL nga Let's Encrypt me zero varësi.

Shkarkoni dhe instaloni 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

Kontrolloni versionin.

acme.sh --version
# v2.7.9

Merrni certifikatat RSA dhe ECDSA për 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

Pas ekzekutimit të komandave të mësipërme, certifikatat dhe çelësat tuaj do të jenë në drejtoritë e mëposhtme:

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

Pas marrjes së certifikatave nga Let's Encrypt, duhet të konfigurojmë Nginx për t'i përdorur ato.

Ekzekutoni sudo vim /etc/nginx/conf.d/nodebb.confpërsëri dhe konfiguroni Nginx si një përfaqësues të kundërt HTTPS.

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

}

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Instaloni NodeBB

Krijoni një direktori rrënjësore të dokumentit.

sudo mkdir -p /var/www/nodebb

Ndrysho pronësinë e /var/www/nodebbdrejtorisë në johndoe.

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

Navigoni te dosja rrënjë e dokumentit.

cd /var/www/nodebb

Klononi NodeBB-në më të fundit në dosjen rrënjë të dokumentit.

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

Ekzekutoni komandën e konfigurimit NodeBB dhe përgjigjuni çdo pyetjeje kur ju kërkohet.

./nodebb setup

Pasi të përfundojë konfigurimi i NodeBB, vraponi ./nodebb startpër të nisur manualisht serverin tuaj NodeBB.

./nodebb start

Pas kësaj komande, do të keni mundësi të hyni në forumin tuaj në shfletuesin tuaj të internetit.

Ekzekutoni NodeBB si një shërbim sistemi

Kur niset përmes ./nodebb start, NodeBB nuk do të ndizet përsëri automatikisht kur sistemi të rindizet. Për ta shmangur këtë, do të na duhet të konfigurojmë NodeBB si një shërbim sistemi.

Nëse funksionon, ndaloni NodeBB.

./nodebb stop

Krijo një nodebbpërdorues të ri :

sudo adduser nodebb

Ndrysho pronësinë e /var/www/nodebbdrejtorisë në nodebb.

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

Krijo një nodebb.serviceskedar konfigurimi të njësisë së sistemit. Ky skedar njësi do të trajtojë fillimin e NodeBB deamon. Ekzekutoni sudo vim /etc/systemd/system/nodebb.servicedhe plotësoni skedarin me përmbajtjen e mëposhtme:

[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

SHËNIM: Vendosni shtigjet e emrit të përdoruesit dhe të drejtorisë sipas emrave të zgjedhur.

Aktivizojeni nodebb.servicenë rindezje dhe filloni menjëherë nodebb.service.

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

Kontrolloni nodebb.servicestatusin.

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

Kjo eshte. Shembulli juaj NodeBB tani është në funksionim.


Leave a Comment

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Ky tutorial shpjegon se si të konfiguroni një server DNS duke përdorur Bind9 në Debian ose Ubuntu. Gjatë gjithë artikullit, zëvendësoni emrin e domain-it tuaj në përputhje me rrethanat. Në

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Në këtë artikull, ne do të shohim se si të përpiloni dhe instaloni Nginx mainline nga burimet zyrtare të Nginx me modulin PageSpeed, i cili ju lejon t

Si të instaloni Kanboard në Debian 9

Si të instaloni Kanboard në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Si të instaloni Gitea në Debian 9

Si të instaloni Gitea në Debian 9

Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga Git. Gitea është shkruar në Golang dhe është

Instaloni Lynis në Debian 8

Instaloni Lynis në Debian 8

Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë

Si të instaloni Thelia 2.3 në Debian 9

Si të instaloni Thelia 2.3 në Debian 9

Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i

Krijimi i një rrjeti të serverëve Minecraft me BungeeCord në Debian 8, Debian 9 ose CentOS 7

Krijimi i një rrjeti të serverëve Minecraft me BungeeCord në Debian 8, Debian 9 ose CentOS 7

Çfarë ju nevojitet një Vultr VPS me të paktën 1 GB RAM. Qasje SSH (me privilegje root/administrative). Hapi 1: Instalimi i BungeeCord Gjërat e para

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Golang është një gjuhë programimi e zhvilluar nga Google. Falë shkathtësisë, thjeshtësisë dhe besueshmërisë së tij, Golang është bërë një nga më të populluarit

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Nëse e keni harruar fjalëkalimin tuaj rrënjësor MySQL, mund ta rivendosni atë duke ndjekur hapat në këtë artikull. Procesi është mjaft i thjeshtë dhe funksionon në to

Vendosja e Counter Strike: Burimi në Debian

Vendosja e Counter Strike: Burimi në Debian

Në këtë udhëzues, ne do të konfigurojmë një server lojërash Counter Strike: Source në Debian 7. Këto komanda janë testuar në Debian 7, por ato gjithashtu duhet të funksionojnë

Si të instaloni Unturned 2.2.5 në Debian 8

Si të instaloni Unturned 2.2.5 në Debian 8

Në këtë udhëzues, do të mësoni se si të konfiguroni një server Unturned 2.2.5 në një Vultr VPS që ekzekuton Debian 8. Shënim: Ky është një version i modifikuar i Unturned që nuk

Si të instaloni Cachet në Debian 8

Si të instaloni Cachet në Debian 8

Në këtë tutorial, do të mësoni se si të instaloni Cachet në Debian 8. Cachet është një sistem i fuqishëm i faqeve të statusit me burim të hapur. Instalimi Ky tutorial po shkon

Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Hyrje Në këtë shkrim-up, ecni mirë se si të bëni kopje rezervë të bazave të të dhënave të shumta MySQL ose MariaDB që qëndrojnë në të njëjtën makinë duke përdorur një skedar bash të personalizuar

Vendosja e një Chroot në Debian

Vendosja e një Chroot në Debian

Ky artikull do t'ju mësojë se si të vendosni një burg chroot në Debian. Unë supozoj se po përdorni Debian 7.x. Nëse jeni duke ekzekutuar Debian 6 ose 8, kjo mund të funksionojë, por

Si të instaloni Reader Self 3.5 RSS Reader në një Debian 9 LAMP VPS

Si të instaloni Reader Self 3.5 RSS Reader në një Debian 9 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Reader Self 3.5 është një lexues i thjeshtë dhe fleksibël, falas dhe me burim të hapur, i vetë-strehuar lexues RSS dhe alternativë e Google Reader. Lexuesi Sel

Si të instaloni Backdrop CMS 1.8.0 në një Debian 9 LAMP VPS

Si të instaloni Backdrop CMS 1.8.0 në një Debian 9 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Sfondi CMS 1.8.0 është një Sistem i Menaxhimit të Përmbajtjes (CMS) i thjeshtë dhe fleksibël, i përshtatshëm për celularin, pa pagesë dhe me burim të hapur që na lejon

Si të instaloni SteamCMD në VPS-në tuaj

Si të instaloni SteamCMD në VPS-në tuaj

Në këtë tutorial ne do të instalojmë SteamCMD. SteamCMD mund të përdoret për të shkarkuar dhe instaluar shumë serverë lojërash Steam, të tilla si Counter-Strike: Global Offensiv

Përditësoni Python në Debian

Përditësoni Python në Debian

Siç mund ta dini, depot e Debian përditësohen shumë ngadalë. Në kohën e shkrimit, versionet e lëshimit të Python janë në 2.7.12 dhe 3.5.2, por në depo Debian 8

Si të konfiguroni Samba me Block Storage në Debian 9

Si të konfiguroni Samba me Block Storage në Debian 9

Samba është një zgjidhje me burim të hapur që i lejon përdoruesit të konfigurojnë skedarë të shpejtë dhe të sigurt dhe të printojnë shpërndarje. Në këtë artikull, unë do të mbuloj se si të konfiguroni zgjuarsinë Samba

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë