Kako namestiti Wiki.js na FreeBSD 11

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 FreeBSD 11 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.11.1 ali novejše
  • MongoDB različica 3.2 ali novejša
  • Git različica 2.7.4 ali novejša
  • Spletni strežnik, kot so Nginx, Apache, IIS, Caddy ali H2O. Ta priročnik bo uporabljal Nginx.
  • Skladišče, ki je skladno z Git (javno ali zasebno) To ni obvezno
  • Najmanj 512 MB RAM-a. Zelo priporočljivo je, da uporabite stroj z vsaj 1 GB RAM-a.
  • Ime domene z A/ AAAAnastavljenimi zapisi. V tem priročniku bomo uporabili wiki.example.comkot primer domene.

Preden začneš

Preverite različico FreeBSD.

uname -ro
# FreeBSD 11.2-RELEASE

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

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

Namestite sudo, vim, unzip, wget, git, bashin socatpakete, če niso prisotni v vašem sistemu.

pkg install -y sudo vim unzip wget git bash socat

Ustvarite nov uporabniški račun s svojim želenim uporabniškim imenom (uporabili bomo 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!

Zaženite visudoukaz in razkomentirajte %wheel ALL=(ALL) ALLvrstico, da omogočite članom wheelskupine, da izvedejo kateri koli ukaz.

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

Zdaj preklopite na novo ustvarjenega uporabnika.

su - johndoe

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

Nastavite časovni pas.

sudo tzsetup

Namestite Node.js

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

Namestite Node.js in NPM.

sudo pkg install -y node8 npm-node8

Preverite različice.

node -v && npm -v
# v8.12.0
# 6.4.1

Namestite MongoDB

Wiki.js uporablja MongoDB kot mehanizem baze podatkov.

Namestite MongoDB.

sudo pkg install -y mongodb36

Preverite različico.

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

Omogočite in zaženite MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

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

Zaščita vašega wikija s HTTPS ni 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 za uspešno delovanje zahtevajo veliko odvisnosti.

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

Pridobite certifikate RSA in ECDSA za wiki.example.com.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength ec-256

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

  • RSA: /etc/letsencrypt/wiki.example.com
  • 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.

Namestite in konfigurirajte Nginx

Wiki.js lahko deluje brez dejanskega spletnega strežnika, vendar je zelo priporočljivo, da pred njim 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 pkg install -y nginx

Preverite različico.

nginx -v
# nginx version: nginx/1.14.0

Omogočite in zaženite Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

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

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

server {

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

  server_name wiki.example.com;

  charset utf-8;
  client_max_body_size 50M;

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

}

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 . Shranite datoteko in zapustite s :+ W+Q

Zdaj moramo wiki.js.confdatoteko vključiti v glavno nginx.confdatoteko.

Zaženite sudo vim /usr/local/etc/nginx/nginx.confin dodajte naslednjo vrstico v http {}blok.

include wiki.js.conf;

Preverite konfiguracijo.

sudo nginx -t

Ponovno naložite Nginx.

sudo service nginx reload

Namestite Wiki.js

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

sudo mkdir -p /usr/local/www/wiki.example.com

Pomaknite se do korenske mape dokumenta.

cd /usr/local/www/wiki.example.com

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

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

V /usr/local/www/wiki.example.commapi zaženite naslednje ukaze za prenos in namestitev Wiki.js.

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

VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable)
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar -f - -xz -C .
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar -f - -xz -C .
cp -n config.sample.yml config.yml

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

node wiki --version
# 1.0.102

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

Namestite in nastavite upravitelja procesov PM2

Wiki.js se privzeto ne zažene samodejno po ponovnem zagonu sistema. Da bi se zagnal ob zagonu, moramo namestiti in nastaviti upravitelja procesov PM2.

Namestite PM2 globalno prek npm.

sudo npm install -g pm2

Preverite različico.

pm2 -v
# 3.2.2

Pomaknite se do korenske mape dokumenta, če še niste tam, in ustavite Wiki.js.

cd /usr/local/www/wiki.example.com
node wiki stop

Zaženite Wiki.js prek PM2.

pm2 start server/index.js --name "Wiki.js"

Postopek seznama, ki ga upravlja PM2.

pm2 list

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

pm2 startup

Končno shranite trenutno konfiguracijo PM2 tako, da zaženete ukaz:

pm2 save

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


How to Install Tiny Tiny RSS Reader on a FreeBSD 11 FAMP VPS

How to Install Tiny Tiny RSS Reader on a FreeBSD 11 FAMP 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 Wiki.js na FreeBSD 11

Kako namestiti Wiki.js na FreeBSD 11

Uporaba drugega sistema? Wiki.js je brezplačna odprtokodna sodobna wiki aplikacija, zgrajena na Node.js, MongoDB, Git in Markdown. Izvorna koda Wiki.js je javna

Kako namestiti Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Kako namestiti Pagekit 1.0 CMS na FreeBSD 11 FAMP 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 MODX Revolution na FreeBSD 11 FAMP VPS

Kako namestiti MODX Revolution na FreeBSD 11 FAMP VPS

Uporaba drugega sistema? MODX Revolution je hiter, prilagodljiv, razširljiv, odprtokoden sistem za upravljanje vsebin (CMS) za podjetja, napisan v PHP. To i

Namestitev OpenBSD 5.5 64-bit

Namestitev OpenBSD 5.5 64-bit

Ta članek vas vodi skozi nastavitev OpenBSD 5.5 (64-bit) na KVM z Vultr VPS. 1. korak. Prijavite se v nadzorno ploščo Vultr. 2. korak. Kliknite RAZPOSTAVI

Kako namestiti osTicket na FreeBSD 12

Kako namestiti osTicket na FreeBSD 12

Uporaba drugega sistema? osTicket je odprtokodni sistem za izdajo vstopnic za podporo strankam. Izvorna koda osTicket je javno gostovana na Githubu. V tej vadnici

Kako namestiti Flarum Forum na FreeBSD 12

Kako namestiti Flarum Forum na FreeBSD 12

Uporaba drugega sistema? Flarum je brezplačna in odprtokodna programska oprema za forume naslednje generacije, ki naredi spletno razpravo zabavno. Izvorna koda Flarum gostuje o

Kako omogočiti TLS 1.3 v Nginxu na FreeBSD 12

Kako omogočiti TLS 1.3 v Nginxu na FreeBSD 12

Uporaba drugega sistema? TLS 1.3 je različica protokola Transport Layer Security (TLS), ki je bil objavljen leta 2018 kot predlagani standard v RFC 8446

Namestite WordPress na OpenBSD 6.2

Namestite WordPress na OpenBSD 6.2

Uvod WordPress je prevladujoči sistem za upravljanje vsebin na internetu. Poganja vse, od blogov do zapletenih spletnih mest z dinamično vsebino

Kako namestiti Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Kako namestiti Subrion 4.1 CMS na FreeBSD 11 FAMP 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.

Kako konfigurirati DJBDNS na FreeBSD

Kako konfigurirati DJBDNS na FreeBSD

Ta vadnica vam bo pokazala, kako konfigurirati storitev DNS, ki je enostavna za vzdrževanje, enostavna za konfiguriranje in ki je na splošno bolj varna kot klasični BIN

Kako namestiti sklad Nginx, MySQL in PHP (FEMP) na FreeBSD 12.0

Kako namestiti sklad Nginx, MySQL in PHP (FEMP) na FreeBSD 12.0

Sklad FEMP, ki je primerljiv s skladom LEMP v Linuxu, je zbirka odprtokodne programske opreme, ki je običajno nameščena skupaj, da omogoči FreeBS

Namestitev MongoDB na FreeBSD 10

Namestitev MongoDB na FreeBSD 10

MongoDB je vrhunska baza podatkov NoSQL, ki se pogosto uporablja v novejših spletnih aplikacijah. Zagotavlja visoko zmogljive poizvedbe, razdeljevanje in podvajanje

Kako namestiti Monico na FreeBSD 12

Kako namestiti Monico na FreeBSD 12

Uporaba drugega sistema? Monica je odprtokodni sistem za upravljanje osebnih odnosov. Pomislite na to kot na CRM (priljubljeno orodje, ki ga uporabljajo prodajne ekipe v th

OpenBSD kot rešitev za e-trgovino s PrestaShop in Apache

OpenBSD kot rešitev za e-trgovino s PrestaShop in Apache

Uvod Ta vadnica prikazuje OpenBSD kot rešitev za e-trgovino z uporabo PrestaShop in Apache. Apache je potreben, ker ima PrestaShop zapleten UR

Namestitev Fork CMS na FreeBSD 12

Namestitev Fork CMS na FreeBSD 12

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 Directus 6.4 CMS na FreeBSD 11 FAMP VPS

Kako namestiti Directus 6.4 CMS na FreeBSD 11 FAMP VPS

Uporaba drugega sistema? Directus 6.4 CMS je zmogljiv in prilagodljiv, brezplačen in odprtokoden Headless Content Management System (CMS), ki omogoča razvijalcem

Izboljšanje varnosti za FreeBSD z uporabo IPFW in SSHGuard

Izboljšanje varnosti za FreeBSD z uporabo IPFW in SSHGuard

VPS strežniki so pogosto tarča vsiljivcev. Pogosta vrsta napada se prikaže v sistemskih dnevnikih kot na stotine nepooblaščenih poskusov prijave ssh. Postavitev

Nastavite httpd v OpenBSD

Nastavite httpd v OpenBSD

Uvod OpenBSD 5.6 je predstavil nov demon, imenovan httpd, ki podpira CGI (prek FastCGI) in TLS. Za namestitev novega http ni potrebno dodatno delo

Nastavite iRedMail na FreeBSD 10

Nastavite iRedMail na FreeBSD 10

Ta vadnica vam bo pokazala, kako namestiti skupinsko programsko opremo iRedMail na novo namestitev FreeBSD 10. Uporabiti morate strežnik z vsaj enim gigabajtom o

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č