Si të instaloni forumin NodeBB në FreeBSD 12

NodeBB është një softuer forumi 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ë në procesin e instalimit të NodeBB në një shembull të ri të FreeBSD 12 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:

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

Perpara se te fillosh

Kontrolloni versionin e FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

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

freebsd-update fetch install
pkg update && pkg upgrade -y

Instaloni paketat e nevojshme nëse ato nuk janë të pranishme në sistemin tuaj.

pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips

Krijoni një llogari të re përdoruesi me emrin tuaj të preferuar të përdoruesit (ne do të përdorim johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Ekzekutoni visudokomandën dhe hiqni komentin e %wheel ALL=(ALL) ALLlinjës, për të lejuar anëtarët e wheelgrupit të ekzekutojnë çdo komandë.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Tani, kaloni te përdoruesi juaj i sapokrijuar me su.

su - johndoe

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

Vendosni zonën kohore.

sudo tzsetup

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 dhe npm.

sudo pkg install -y node10 npm-node10

Kontrolloni versionet.

node -v && npm -v
# v10.15.3
# 6.9.0

Instaloni dhe konfiguroni MongoDB

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

Instaloni MongoDB.

sudo pkg install -y mongodb40

Kontrolloni versionin.

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

Aktivizo dhe nis MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

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

Lidhu me MongoDB së pari.

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 sigurohuni që përdoruesi administrativ i krijuar më parë mund të lidhet.

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

Instaloni dhe konfiguroni Nginx

Instaloni Nginx.

sudo pkg install -y nginx

Kontrolloni versionin.

nginx -v
# nginx version: nginx/1.14.2

Aktivizo dhe nis Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

NodeBB si parazgjedhje funksionon në port 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ë për portin 80ose 443, nëse përdoret SSL, do të përcillet në port 4567.

Run sudo vim /usr/local/etc/nginx/nodebb.conf and populate it with the basic reverse proxy configuration below.

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

}

In the above config, update the server_name directive with your domain/hostname.

Save the file and exit with :+W+Q.

Now we need to include nodebb.conf in the main nginx.conf file.

Run sudo vim /usr/local/etc/nginx/nginx.conf and add the following line to the http {} block.

include nodebb.conf;

Check the configuration.

sudo nginx -t

Reload Nginx.

sudo service nginx reload

Install Acme.sh client and obtain a Let's Encrypt certificate (optional)

Securing your forum with HTTPS is not necessary, but it will secure your site's traffic. Acme.sh is a pure unix shell software for obtaining SSL certificates from Let's Encrypt with zero dependencies.

Download and install 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 ~

Check the version.

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

Obtain RSA and ECDSA certificates for 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 service nginx reload" --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 service nginx reload"  --keylength ec-256

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

  • 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 /usr/local/etc/nginx/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 service nginx reload

Instaloni NodeBB

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

sudo mkdir -p /usr/local/www/nodebb

Ndrysho pronësinë e /usr/local/www/nodebbdrejtorisë në johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/nodebb

Navigoni te dosja rrënjë e dokumentit.

cd /usr/local/www/nodebb

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

git clone -b v1.11.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ë shembullin tuaj të forumit NodeBB në një shfletues ueb.

Drejtoni NodeBB me PM2

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

Instaloni PM2 globalisht.

sudo npm install pm2 -g

Kontrolloni versionin.

pm2 -v
# 3.5.0

Navigoni te rrënja e dokumentit NodeBB.

cd /usr/local/www/nodebb

Nisni NodeBB përmes PM2.

pm2 start app.js

Listoni procesin NodeBB.

pm2 ls

Zbuloni sistemin init të disponueshëm.

pm2 startup

Kopjoni dhe ngjisni daljen e kësaj komande në CLI për të konfiguruar fiksimin tuaj të fillimit.

Ruani listën tuaj të proceseve.

pm2 save

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


Si të instaloni Tiny Tiny RSS Reader në një FreeBSD 11 FAMP VPS

Si të instaloni Tiny Tiny RSS Reader në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Tiny Tiny RSS Reader është një lexues dhe grumbullues i lajmeve të bazuara në ueb (RSS/Atom), falas dhe me burim të hapur, i krijuar për të dhënë

Si të instaloni Wiki.js në FreeBSD 11

Si të instaloni Wiki.js në FreeBSD 11

Përdorimi i një sistemi të ndryshëm? Wiki.js është një aplikacion modern wiki falas dhe me burim të hapur i ndërtuar në Node.js, MongoDB, Git dhe Markdown. Kodi burimor i Wiki.js është publik

Si të instaloni Pagekit 1.0 CMS në një FreeBSD 11 FAMP VPS

Si të instaloni Pagekit 1.0 CMS në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Pagekit 1.0 CMS është një Sistem i Menaxhimit të Përmbajtjes (CMS) i bukur, modular, i zgjatshëm dhe i lehtë, pa pagesë dhe me burim të hapur me

Si të instaloni MODX Revolution në një FreeBSD 11 FAMP VPS

Si të instaloni MODX Revolution në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, me burim të hapur, i shkallës së ndërmarrjes, i shkruar në PHP. Ajo i

Konfiguro OpenBSD 5.5 64-bit

Konfiguro OpenBSD 5.5 64-bit

Ky artikull ju udhëzon në konfigurimin e OpenBSD 5.5 (64-bit) në KVM me një Vultr VPS. Hapi 1. Hyni në panelin e kontrollit Vultr. Hapi 2. Klikoni DEPLOY

Si të instaloni osTicket në FreeBSD 12

Si të instaloni osTicket në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? osTicket është një sistem biletash për mbështetjen e klientit me burim të hapur. Kodi burimor i osTicket është i pritur publikisht në Github. Në këtë tutorial

Si të instaloni Flarum Forum në FreeBSD 12

Si të instaloni Flarum Forum në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? Flarum është një softuer forumi i gjeneratës së ardhshme pa pagesë dhe me burim të hapur që e bën diskutimin në internet argëtues. Kodi burimor i Flarum është pritur o

Si të aktivizoni TLS 1.3 në Nginx në FreeBSD 12

Si të aktivizoni TLS 1.3 në Nginx në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? TLS 1.3 është një version i protokollit të Sigurisë së Shtresës së Transportit (TLS) që u publikua në 2018 si një standard i propozuar në RFC 8446

Instaloni WordPress në OpenBSD 6.2

Instaloni WordPress në OpenBSD 6.2

Hyrje WordPress është sistemi dominues i menaxhimit të përmbajtjes në internet. Ai fuqizon gjithçka, nga blogjet tek faqet e internetit komplekse me përmbajtje dinamike

Si të instaloni Subrion 4.1 CMS në një FreeBSD 11 FAMP VPS

Si të instaloni Subrion 4.1 CMS në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Subrion 4.1 CMS është një sistem i fuqishëm dhe fleksibël i menaxhimit të përmbajtjes me burim të hapur (CMS) që sjell një përmbajtje intuitive dhe të qartë

Si të konfiguroni DJBDNS në FreeBSD

Si të konfiguroni DJBDNS në FreeBSD

Ky tutorial do t'ju tregojë se si të konfiguroni një shërbim DNS që është i lehtë për t'u mirëmbajtur, i lehtë për t'u konfiguruar dhe që në përgjithësi është më i sigurt se BIN klasik.

Si të instaloni Nginx, MySQL dhe PHP (FEMP) Stack në FreeBSD 12.0

Si të instaloni Nginx, MySQL dhe PHP (FEMP) Stack në FreeBSD 12.0

Një grumbull FEMP, i cili është i krahasueshëm me një pirg LEMP në Linux, është një koleksion softuerësh me burim të hapur që zakonisht instalohet së bashku për të mundësuar një FreeBS

Instalimi i MongoDB në FreeBSD 10

Instalimi i MongoDB në FreeBSD 10

MongoDB është një bazë të dhënash NoSQL e klasit botëror që përdoret shpesh në aplikacionet më të reja në internet. Ai siguron pyetje, ndarje dhe përsëritje me performancë të lartë

Si të instaloni Monica në FreeBSD 12

Si të instaloni Monica në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? Monica është një sistem i menaxhimit të marrëdhënieve personale me burim të hapur. Mendoni për atë si një CRM (një mjet popullor i përdorur nga ekipet e shitjeve në th

OpenBSD si një zgjidhje për tregtinë elektronike me PrestaShop dhe Apache

OpenBSD si një zgjidhje për tregtinë elektronike me PrestaShop dhe Apache

Hyrje Ky tutorial demonstron OpenBSD si një zgjidhje e-commerce duke përdorur PrestaShop dhe Apache. Kërkohet Apache sepse PrestaShop ka UR komplekse

Instalimi i Fork CMS në FreeBSD 12

Instalimi i Fork CMS në FreeBSD 12

Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM

Si të instaloni Directus 6.4 CMS në një FreeBSD 11 FAMP VPS

Si të instaloni Directus 6.4 CMS në një FreeBSD 11 FAMP VPS

Përdorimi i një sistemi të ndryshëm? Directus 6.4 CMS është një sistem i fuqishëm dhe fleksibël, pa pagesë dhe me burim të hapur Headless Content Management System (CMS) që ofron zhvillues

Rritja e sigurisë për FreeBSD duke përdorur IPFW dhe SSHGuard

Rritja e sigurisë për FreeBSD duke përdorur IPFW dhe SSHGuard

Serverët VPS janë shpesh në shënjestër nga ndërhyrës. Një lloj i zakonshëm sulmi shfaqet në regjistrat e sistemit si qindra përpjekje të paautorizuara për hyrje ssh. Vendosja

Konfiguro httpd në OpenBSD

Konfiguro httpd në OpenBSD

Hyrje OpenBSD 5.6 prezantoi një daemon të ri të quajtur httpd, i cili mbështet CGI (nëpërmjet FastCGI) dhe TLS. Nuk nevojitet punë shtesë për të instaluar http-in e ri

Konfiguro iRedMail në FreeBSD 10

Konfiguro iRedMail në FreeBSD 10

Ky tutorial do t'ju tregojë se si të instaloni grupin iRedMail në një instalim të ri të FreeBSD 10. Ju duhet të përdorni një server me të paktën një gigabajt o

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ë