Si të instaloni Wiki.js në Fedora 28

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ë i pritur publikisht në Github . Ky udhëzues do t'ju tregojë se si të instaloni Wiki.js në një shembull të ri Fedora 28 Vultr duke përdorur Node.js, MongoDB, PM2, Nginx, Git dhe Acme.sh.

Kërkesat

Kërkesat për të ekzekutuar Wiki.js janë si më poshtë:

  • Node.js versioni 6.9.0 ose më i ri
  • Versioni i MongoDB 3.2 ose më i ri
  • Një server në internet si Nginx, Apache, IIS, Caddy ose H2O. Ky udhëzues do të përdorë Nginx
  • Versioni Git 2.7.4 ose më i ri
  • Një depo e përputhshme me Git (publike ose private) Kjo është fakultative
  • Një minimum prej 768 MB RAM
  • Emri i domenit me A/ AAAAkonfigurimin e regjistrimeve

Perpara se te fillosh

Kontrolloni versionin e OS.

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

Krijoni një llogari të re përdoruesi jo-root me akses sudo dhe kaloni në të.

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

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

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

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

Vendosni zonën kohore.

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

Instaloni paketat e nevojshme dhe të dobishme.

sudo dnf install -y wget vim unzip bash-completion git

Për thjeshtësi, çaktivizoni SELinux dhe Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Instaloni Node.js

Wiki.js kërkon Node.js 6.9.0 ose version më të ri, kështu që fillimisht do të na duhet të instalojmë Node.js.

Instaloni Node.js.

sudo dnf install -y nodejs

Kontrolloni versionet Node.js dhe npm.

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

Instaloni MongoDB

Wiki.js përdor MongoDB si një motor bazë të dhënash. Sipas kësaj, ne do të duhet të instalojmë MongoDB në serverin tonë.

Instaloni MongoDB.

sudo dnf install -y mongodb mongodb-server

Kontrolloni versionin MongoDB.

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

Aktivizo dhe nis MongoDB.

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

Instaloni dhe konfiguroni Nginx

Wiki.js mund të funksionojë pa ndonjë server aktual të internetit (si Nginx ose Apache). Megjithatë, rekomandohet shumë që të vendosni një ueb server standard përpara Wiki.js. Kjo siguron që ju të mund të përdorni veçori si SSL, uebfaqe të shumta, memorie dhe të tjera. Ne do të përdorim Nginx në këtë tutorial, por çdo server tjetër do ta bëjë këtë, ju vetëm duhet ta konfiguroni atë siç duhet.

Instaloni Nginx.

sudo dnf install -y nginx

Kontrolloni versionin.

nginx -v
# nginx version: nginx/1.12.1

Aktivizo dhe nis Nginx.

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

Konfiguro Nginx si një përfaqësues të kundërt HTTPose HTTPS(nëse përdorni SSL) për aplikacionin Wiki.js.

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

server {

    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

E vetmja gjë që duhet të ndryshoni në konfigurimin e mësipërm është server_namedirektiva, dhe potencialisht proxy_passdirektiva nëse vendosni të konfiguroni një port tjetër përveç 3000. Wiki.js përdor portin si 3000parazgjedhje.

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

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

Sigurimi i wiki-t tuaj me HTTPSnuk është i nevojshëm, por është një praktikë e mirë për të siguruar trafikun e faqes suaj. Për të marrë një certifikatë SSL nga Let's Encrypt ne do të përdorim klientin Acme.sh. 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. Kjo e bën atë shumë të lehtë në krahasim me disa klientë të tjerë të protokollit ACME që kërkojnë shumë varësi për të ekzekutuar me sukses.

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 your_email@example.com
cd ~

Kontrolloni acme.shversionin.

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

Merrni certifikatat RSA dhe ECDSA për wiki.example.com.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail your_email@example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail your_email@example.com --ocsp-must-staple --keylength ec-256 

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

  • Për RSA: /etc/letsencrypt/wiki.example.com
  • Për ECC/ECDSA: /etc/letsencrypt/wiki.example.com_ecc

SHËNIM : Mos harroni të zëvendësoni wiki.example.comme emrin e domain.

Pas marrjes së certifikatave nga Let's Encrypt, duhet të konfigurojmë Nginx për të përfituar prej tyre.

Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.confpërsëri dhe konfiguroni Nginx si një HTTPSpërfaqësues të kundërt.

server {

    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;

    server_name wiki.example.com;

    root /usr/share/nginx/html;

    charset utf-8;
    client_max_body_size 50M;

    location /.well-known/acme-challenge/ {
        allow all;
    }

    # RSA
    ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }

}

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Instaloni Wiki.js

Krijoni një dosje të zbrazët rrënjësore të dokumentit, ku duhet të instalohet Wiki.js.

sudo mkdir -p /var/www/wiki.example.com

Navigoni te dosja rrënjë e dokumentit.

cd /var/www/wiki.example.com

Ndrysho pronësinë e /var/www/wiki.example.comdosjes në përdorues johndoe.

sudo chown -R johndoe:johndoe /var/www/wiki.example.com

Nga /var/www/wiki.example.comdosja, ekzekutoni komandën e mëposhtme për të shkarkuar dhe instaluar Wiki.js.

curl -sSo- https://wiki.js.org/install.sh | bash

Ju mund të ekzekutoni komandën e mëposhtme për të parë versionin e instaluar aktualisht të Wiki.js.

node wiki --version
# 1.0.78

Pasi të përfundojë instalimi, do t'ju kërkohet të ekzekutoni magjistarin e konfigurimit.

Nisni magjistarin e konfigurimit duke ekzekutuar.

node wiki configure

Kjo do t'ju njoftojë për të lundruar për http://localhost:3000të konfiguruar Wiki.js. Nëse keni Nginx përpara Wiki.js, atëherë kjo do të thotë që ju mund të hapni emrin e domenit tuaj (p.sh. http://wiki.example.com) në vend që të shkoni te localhost.

Duke përdorur shfletuesin tuaj të internetit, lundroni http://wiki.example.comdhe ndiqni udhëzimet në ekran. Të gjitha cilësimet e futura gjatë magjistarit të konfigurimit ruhen në config.ymlskedar. Magjistari i konfigurimit do të nisë automatikisht Wiki.js për ju.

Konfiguro PM2

Si parazgjedhje, Wiki.js nuk do të fillojë automatikisht pas një rindezjeje të sistemit. Për ta bërë atë të fillojë në boot, ne duhet të konfigurojmë menaxherin e procesit PM2. PM2 vjen i bashkuar me Wiki.js si një modul lokal NPM, kështu që nuk kemi nevojë të instalojmë PM2 globalisht.

Thuaji PM2 të konfigurojë veten si një shërbim fillestar duke ekzekutuar:

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup

Më në fund, ruani konfigurimin aktual PM2 duke ekzekutuar komandën: /var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Shembulli juaj Wiki.js ekzekutohet si një proces sfondi, duke përdorur PM2 si menaxherin e tij të procesit.

Lëreni një koment

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.

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

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.

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ë