Kako namestiti Wiki.js na Fedora 28

Wiki.js je brezplačna odprtokodna sodobna wiki aplikacija, zgrajena na Node.js, MongoDB, Git in Markdown. Izvorna koda Wiki.js je javno gostovana na Githubu . Ta priročnik vam bo pokazal, kako namestiti Wiki.js na nov primerek Fedora 28 Vultr z uporabo Node.js, MongoDB, PM2, Nginx, Git in Acme.sh.

Zahteve

Zahteve za zagon Wiki.js so naslednje:

  • Node.js različice 6.9.0 ali novejše
  • MongoDB različica 3.2 ali novejša
  • Spletni strežnik, kot so Nginx, Apache, IIS, Caddy ali H2O. Ta priročnik bo uporabljal Nginx
  • Git različica 2.7.4 ali novejša
  • Skladišče, ki je skladno z Git (javno ali zasebno) To ni obvezno
  • Najmanj 768 MB RAM-a
  • Ime domene z A/ AAAAnastavljenimi zapisi

Preden začneš

Preverite različico OS.

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

Ustvarite nov nekorenski uporabniški račun z dostopom sudo in preklopite nanj.

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

OPOMBA: Zamenjajte johndoez vašim uporabniškim imenom.

Prepričajte se, da je vaš sistem posodobljen.

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

Nastavite časovni pas.

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

Namestite potrebne in uporabne pakete.

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

Za preprostost onemogočite SELinux in požarni zid.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Namestite Node.js

Wiki.js zahteva Node.js 6.9.0 ali novejšo različico, zato bomo morali najprej namestiti Node.js.

Namestite Node.js.

sudo dnf install -y nodejs

Preverite različice Node.js in npm.

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

Namestite MongoDB

Wiki.js uporablja MongoDB kot mehanizem baze podatkov. V skladu s tem bomo morali na naš strežnik namestiti MongoDB.

Namestite MongoDB.

sudo dnf install -y mongodb mongodb-server

Preverite različico MongoDB.

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

Omogočite in zaženite MongoDB.

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

Namestite in konfigurirajte Nginx

Wiki.js se lahko izvaja brez dejanskega spletnega strežnika (kot sta Nginx ali Apache). Vendar je zelo priporočljivo, da pred Wiki.js postavite standardni spletni strežnik. To zagotavlja, da lahko uporabljate funkcije, kot so SSL, več spletnih mest, predpomnjenje in druge. V tej vadnici bomo uporabljali Nginx, toda kateri koli drug strežnik bo deloval, le pravilno ga morate konfigurirati.

Namestite Nginx.

sudo dnf install -y nginx

Preverite različico.

nginx -v
# nginx version: nginx/1.12.1

Omogočite in zaženite Nginx.

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

Konfigurirajte Nginx kot HTTPali HTTPS(če uporabljate SSL) povratni proxy za aplikacijo Wiki.js.

Zaženite ga sudo vim /etc/nginx/conf.d/wiki.js.confin ga napolnite s spodnjo osnovno konfiguracijo povratnega proxyja.

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

}

Edina stvar, ki jo morate spremeniti v zgornji konfiguraciji, je server_namedirektiva in morda proxy_passdirektiva, če se odločite konfigurirati nekatera vrata, ki niso 3000. Wiki.js 3000privzeto uporablja vrata .

Preverite konfiguracijo.

sudo nginx -t

Ponovno naložite Nginx.

sudo systemctl reload nginx.service

Namestite odjemalca Acme.sh in pridobite certifikat Let's Encrypt (izbirno)

Zaščita vašega wikija z HTTPSni potrebna, vendar je dobra praksa za zaščito prometa na spletnem mestu. Za pridobitev SSL certifikata od Let's Encrypt bomo uporabili odjemalca Acme.sh. Acme.sh je čista unix programska oprema za pridobivanje SSL certifikatov iz Let's Encrypt z nič odvisnostmi. Zaradi tega je zelo lahek v primerjavi z nekaterimi drugimi odjemalci protokola ACME, ki zahtevajo veliko odvisnosti za uspešno delovanje.

Prenesite in namestite 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 ~

Preverite acme.shrazličico.

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

Pridobite certifikate RSA in ECDSA za 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 [email protected] --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 [email protected] --ocsp-must-staple --keylength ec-256 

Po zagonu zgornjih ukazov bodo vaši certifikati in ključi v:

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

OPOMBA : Ne pozabite zamenjati wiki.example.comz imenom vaše domene.

Po pridobitvi potrdil iz Let's Encrypt moramo konfigurirati Nginx, da jih izkoristi.

Zaženite sudo vim /etc/nginx/conf.d/wiki.js.confznova in konfigurirajte Nginx kot HTTPSpovratni proxy.

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

}

Preverite konfiguracijo.

sudo nginx -t

Ponovno naložite Nginx.

sudo systemctl reload nginx.service

Namestite Wiki.js

Ustvarite prazno korensko mapo dokumenta, kamor naj bo nameščen Wiki.js.

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

Pomaknite se do korenske mape dokumenta.

cd /var/www/wiki.example.com

Spremeni lastništvo /var/www/wiki.example.commape na uporabnika johndoe.

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

V /var/www/wiki.example.commapi zaženite naslednji ukaz, da prenesete in namestite Wiki.js.

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

Za ogled trenutno nameščene različice Wiki.js lahko zaženete naslednji ukaz.

node wiki --version
# 1.0.78

Ko je namestitev končana, boste pozvani, da zaženete čarovnika za konfiguracijo.

Zaženite čarovnika za konfiguracijo tako, da zaženete.

node wiki configure

To vas bo obvestilo, da se pomaknete http://localhost:3000na konfiguracijo Wiki.js. Če imate Nginx pred Wiki.js, potem to pomeni, da lahko odprete ime svoje domene (npr. http://wiki.example.com), namesto da greste v localhost.

S spletnim brskalnikom se pomaknite do http://wiki.example.comin sledite navodilom na zaslonu. Vse nastavitve, vnesene med čarovnikom za konfiguracijo, se shranijo v config.ymldatoteko. Čarovnik za konfiguracijo bo samodejno zagnal Wiki.js namesto vas.

Nastavitev PM2

Wiki.js se privzeto ne zažene samodejno po ponovnem zagonu sistema. Da bi se zagnal ob zagonu, moramo nastaviti upravitelja procesov PM2. PM2 je priložen Wiki.js kot lokalni modul NPM, zato nam ni treba namestiti PM2 globalno.

Povejte PM2, naj se konfigurira kot zagonska storitev tako, da zažene:

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

Končno shranite trenutno konfiguracijo PM2 tako, da zaženete ukaz: /var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Vaš primerek Wiki.js teče kot proces v ozadju, pri čemer uporablja PM2 kot upravitelja procesov.


Kako namestiti BigTree CMS na Fedora 26 LAMP VPS

Kako namestiti BigTree CMS na Fedora 26 LAMP VPS

Uporaba drugega sistema? BigTree CMS 4.2 je hiter in lahek, brezplačen in odprtokoden sistem za upravljanje vsebin podjetja (CMS) z obsežnim

Kako namestiti Koel na Fedora 28

Kako namestiti Koel na Fedora 28

Uporaba drugega sistema? Koel je preprosta spletna osebna aplikacija za pretakanje zvoka, napisana v Vue na strani odjemalca in Laravel na strani strežnika. Koe

Kako namestiti Grav CMS na Fedora 28

Kako namestiti Grav CMS na Fedora 28

Uporaba drugega sistema? Grav je odprtokodni CMS s ploščatimi datotekami, napisan v PHP. Izvorna koda Grav je javno gostovana na GitHubu. Ta vodnik vam bo pokazal, kako t

Namestitev Akauntinga na Fedora 28

Namestitev Akauntinga na Fedora 28

Uporaba drugega sistema? Akaunting je brezplačna, odprtokodna in spletna računovodska programska oprema, zasnovana za mala podjetja in samostojne delavce. Zgrajena je pametno

How to Install Tiny Tiny RSS Reader on a Fedora 26 LAMP VPS

How to Install Tiny Tiny RSS Reader on a Fedora 26 LAMP VPS

Using a Different System? Tiny Tiny RSS Reader is a free and open source self-hosted web-based news feed (RSS/Atom) reader and aggregator, designed to allo

Kako namestiti InvoicePlane na Fedora 28

Kako namestiti InvoicePlane na Fedora 28

Uporaba drugega sistema? InvoicePlane je brezplačna in odprtokodna aplikacija za izdajanje računov. Njegovo izvorno kodo lahko najdete v tem repozitoriju Github. Ta vodnik

Namestite strežnik Minecraft na Fedora 26

Namestite strežnik Minecraft na Fedora 26

Uporaba drugega sistema? V tej vadnici vas bom vodil skozi nastavitev strežnika Minecraft na visoko zmogljivem SSD VPS pri Vultru. Naučili se boste ho

Kako prevesti Nginx iz vira na Fedora 25

Kako prevesti Nginx iz vira na Fedora 25

Uporaba drugega sistema? NGINX se lahko uporablja kot strežnik HTTP/HTTPS, povratni proxy strežnik, poštni proxy strežnik, uravnoteženje obremenitve, terminator TLS ali cachin

Kako namestiti Pagekit 1.0 CMS na Fedora 26 LAMP VPS

Kako namestiti Pagekit 1.0 CMS na Fedora 26 LAMP VPS

Uporaba drugega sistema? Pagekit 1.0 CMS je lep, modularen, razširljiv in lahek, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS) z

Kako namestiti Subrion 4.1 CMS na Fedora 26 LAMP VPS

Kako namestiti Subrion 4.1 CMS na Fedora 26 LAMP VPS

Uporaba drugega sistema? Subrion 4.1 CMS je zmogljiv in prilagodljiv odprtokodni sistem za upravljanje vsebine (CMS), ki prinaša intuitivno in jasno vsebino.

Namestite TaskServer (taskd) na Fedora 26

Namestite TaskServer (taskd) na Fedora 26

Uporaba drugega sistema? TaskWarrior je odprtokodno orodje za upravljanje časa, ki je izboljšava aplikacije Todo.txt in njenih klonov. Zaradi th

Kako namestiti CMS Made Simple 2.2 na Fedora 26 LAMP VPS

Kako namestiti CMS Made Simple 2.2 na Fedora 26 LAMP VPS

Uporaba drugega sistema? CMS Made Simple 2.2 je prilagodljiv in razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki je inteligentno zasnovan za

Namestitev Bro IDS na Fedora 25

Namestitev Bro IDS na Fedora 25

Uporaba drugega sistema? Uvod Bro je odprtokodni analizator omrežnega prometa. Gre predvsem za varnostni nadzornik, ki pregleduje ves promet na liniji

Kako namestiti X-Cart 5 na Fedora 31

Kako namestiti X-Cart 5 na Fedora 31

Uporaba drugega sistema? X-Cart je izjemno prilagodljiva odprtokodna platforma za e-trgovino s številnimi funkcijami in integracijami. Izvorna koda X-Cart je hoste

Kako namestiti Matomo Analytics na Fedora 28

Kako namestiti Matomo Analytics na Fedora 28

Uporaba drugega sistema? Matomo (prej Piwik) je odprtokodna analitična platforma, odprta alternativa Google Analytics. Vir Matomo gostuje o

Kako namestiti MyBB na Fedora 28

Kako namestiti MyBB na Fedora 28

Uporaba drugega sistema? MyBB je brezplačen in odprtokoden, intuitiven in razširljiv forumski program. Izvorna koda MyBB gostuje na GitHubu. Ta vodnik bo sho

Kako namestiti in konfigurirati TaskBoard na Fedora 30

Kako namestiti in konfigurirati TaskBoard na Fedora 30

Uporaba drugega sistema? Uvod TaskBoard je brezplačno in odprtokodno orodje, ki ga lahko uporabite za spremljanje stvari, ki jih je treba opraviti. Zagotavlja

Namestitev Fork CMS na Fedora 28

Namestitev Fork CMS na Fedora 28

Uporaba drugega sistema? Fork je odprtokodni CMS, napisan v PHP. Izvorna koda Forks gostuje na GitHubu. Ta priročnik vam bo pokazal, kako namestiti Fork CM

Kako namestiti LimeSurvey CE na Fedora 28

Kako namestiti LimeSurvey CE na Fedora 28

Uporaba drugega sistema? LimeSurvey je odprtokodni anketni program, napisan v PHP. Izvorna koda LimeSurvey gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Backdrop CMS 1.8.0 na Fedora 26 LAMP VPS

Kako namestiti Backdrop CMS 1.8.0 na Fedora 26 LAMP VPS

Uporaba drugega sistema? Backdrop CMS 1.8.0 je preprost in prilagodljiv, mobilnim prijazen, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki nam omogoča

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več