Ako nainštalovať Wiki.js na FreeBSD 11

Wiki.js je bezplatná a open source moderná wiki aplikácia postavená na Node.js, MongoDB, Git a Markdown. Zdrojový kód Wiki.js je verejne hosťovaný na serveri Github . Táto príručka vám ukáže, ako nainštalovať Wiki.js na novú inštanciu FreeBSD 11 Vultr pomocou Node.js, MongoDB, PM2, Nginx, Git a Acme.sh.

Požiadavky

Požiadavky na spustenie Wiki.js sú nasledovné:

  • Node.js verzie 6.11.1 alebo novšej
  • MongoDB verzia 3.2 alebo novšia
  • Git verzia 2.7.4 alebo novšia
  • Webový server ako Nginx, Apache, IIS, Caddy alebo H2O. Táto príručka bude používať Nginx.
  • Úložisko kompatibilné s Git (verejné alebo súkromné) Toto je voliteľné
  • Minimálne 512 MB RAM. Dôrazne sa odporúča používať počítač s najmenej 1 GB pamäte RAM.
  • Názov domény s nastavenými záznamami A/ AAAA. V tejto príručke budeme používať wiki.example.comako príklad domény.

Predtým ako začneš

Skontrolujte verziu FreeBSD.

uname -ro
# FreeBSD 11.2-RELEASE

Uistite sa, že váš systém FreeBSD je aktuálny.

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

Inštalovať sudo, vim, unzip, wget, git, basha socatbalíčky v prípade, že nie sú k dispozícii vo vašom systéme.

pkg install -y sudo vim unzip wget git bash socat

Vytvorte si nový používateľský účet s preferovaným používateľským menom (použijeme 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!

Spustite visudopríkaz a odkomentujte %wheel ALL=(ALL) ALLriadok, aby členovia wheelskupiny mohli vykonať ľubovoľný príkaz.

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

Teraz prejdite na svojho novo vytvoreného používateľa.

su - johndoe

POZNÁMKA: Nahraďte johndoesvojim užívateľským menom.

Nastavte časové pásmo.

sudo tzsetup

Nainštalujte Node.js

Wiki.js vyžaduje Node.js 6.11.1 alebo novší, takže najprv budeme musieť nainštalovať príslušnú verziu Node.js.

Nainštalujte Node.js a NPM.

sudo pkg install -y node8 npm-node8

Skontrolujte verzie.

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

Nainštalujte MongoDB

Wiki.js používa MongoDB ako databázový stroj.

Nainštalujte MongoDB.

sudo pkg install -y mongodb36

Skontrolujte verziu.

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

Povoliť a spustiť MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

Nainštalujte Acme.sh a získajte certifikát Let's Encrypt ( voliteľné )

Zabezpečenie vašej wiki pomocou HTTPS nie je potrebné, ale je to dobrý postup na zabezpečenie návštevnosti vašich stránok. Na získanie SSL certifikátu od Let's Encrypt použijeme klienta Acme.sh. Acme.sh je čistý unixový shell softvér na získavanie SSL certifikátov od Let's Encrypt s nulovými závislosťami. Vďaka tomu je veľmi ľahký v porovnaní s niektorými inými klientmi protokolu Acme, ktorí na úspešné spustenie vyžadujú veľa závislostí.

Stiahnite si a nainštalujte 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 ~

Skontrolujte acme.shverziu.

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

Získajte certifikáty RSA a ECDSA pre 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 spustení vyššie uvedených príkazov budú vaše certifikáty a kľúče v nasledujúcich adresároch:

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

NOTE: Don't forget to replace wiki.example.com with your domain name.

After obtaining certificates from Let's Encrypt, we need to configure Nginx to take advantage of them.

Install and configure Nginx

Wiki.js can run without any actual web server, however it is highly recommended to put a standard web server in front of it. This ensures you can use features like SSL, multiple websites, caching and others. We will use Nginx in this tutorial, but any other server will do, you just need to configure it properly.

Install Nginx.

sudo pkg install -y nginx

Check the version.

nginx -v
# nginx version: nginx/1.14.0

Enable and start Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Configure Nginx as a HTTPS (if you use SSL) reverse proxy for the Wiki.js application.

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

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

}

Jediná vec, ktorú musíte zmeniť v konfigurácii vyššie, je server_namesmernica a prípadne aj proxy_passsmernica, ak sa rozhodnete nakonfigurovať iný port ako 3000. Wiki.js štandardne používa port 3000. Uložte súbor a ukončite s :+ W+Q

Teraz musíme wiki.js.confsúbor zahrnúť do hlavného nginx.confsúboru.

Spustite sudo vim /usr/local/etc/nginx/nginx.confa pridajte nasledujúci riadok do http {}bloku.

include wiki.js.conf;

Skontrolujte konfiguráciu.

sudo nginx -t

Znova načítať Nginx.

sudo service nginx reload

Nainštalujte si Wiki.js

Vytvorte prázdny koreňový priečinok dokumentov, do ktorého sa nainštaluje Wiki.js.

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

Prejdite do koreňového priečinka dokumentu.

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

Zmeniť vlastníctvo /usr/local/www/wiki.example.compriečinka na používateľa johndoe.

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

Z /usr/local/www/wiki.example.compriečinka spustite nasledujúce príkazy na stiahnutie a inštaláciu 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

Ak chcete zobraziť aktuálne nainštalovanú verziu Wiki.js, môžete spustiť nasledujúci príkaz.

node wiki --version
# 1.0.102

Po dokončení inštalácie sa zobrazí výzva na spustenie sprievodcu konfiguráciou.

Spustite sprievodcu konfiguráciou spustením.

node wiki configure

Toto vás upozorní, aby ste prešli http://localhost:3000na konfiguráciu Wiki.js. Ak máte Nginx pred Wiki.js, znamená to, že si môžete http://wiki.example.comnamiesto prechodu na localhost otvoriť názov svojej domény (napr. ).

Pomocou webového prehliadača prejdite na http://wiki.example.compokyny na obrazovke a postupujte podľa nich. Všetky nastavenia zadané počas sprievodcu konfiguráciou sa uložia do config.ymlsúboru. Sprievodca konfiguráciou automaticky spustí Wiki.js.

Nainštalujte a nastavte správcu procesov PM2

V predvolenom nastavení sa Wiki.js nespustí automaticky po reštarte systému. Aby sa to spustilo pri štarte, musíme nainštalovať a nastaviť správcu procesov PM2.

Nainštalujte PM2 globálne cez npm.

sudo npm install -g pm2

Skontrolujte verziu.

pm2 -v
# 3.2.2

Prejdite do koreňového priečinka dokumentov, ak tam ešte nie ste, a zastavte Wiki.js.

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

Spustite Wiki.js cez PM2.

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

Vypísať proces riadený PM2.

pm2 list

Povedzte PM2, aby sa nakonfiguroval ako spúšťacia služba spustením:

pm2 startup

Nakoniec uložte aktuálnu konfiguráciu PM2 spustením príkazu:

pm2 save

Vaša inštancia Wiki.js teraz beží ako proces na pozadí a používa PM2 ako svojho správcu procesov.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac