GNU/Linux >> Znalost Linux >  >> Fedora

Jak nainstalovat Wiki.js založenou na NodeJS na Fedoře 29

Wiki.js je open source, moderní a výkonná wiki aplikace založená na Node.js, Git a Markdown. Wiki.js běží na úžasně rychlém enginu Node.js a je optimalizována tak, aby šetřila prostředky CPU. Některé z funkcí Wiki.js, které stojí za zmínku, jsou:

  • Úpravy Markdown, podporované Git
  • Lehký, ale extrémně výkonný
  • Krásně navrženo pro moderní web
  • Integrovaná kontrola přístupu
  • Intuitivní správa aktiv
  • Vestavěný vyhledávač

V tomto tutoriálu vás provedeme instalačním procesem Wiki.js verze 1 na operačním systému Fedora 29 pomocí NGINX jako reverzního proxy serveru, MongoDB jako databázového serveru, PM2 jako správce procesů a volitelně můžete zabezpečit transportní vrstvu pomocí acme.sh klient a certifikační autorita Let's Encrypt pro přidání podpory SSL.

Požadavky

Požadavky na spuštění Wiki.js jsou následující:

  • Node.js 6.11.1 až 10.x
  • MongoDB verze 3.2 nebo novější.
  • Git verze 2.7.4 nebo novější.
  • Software webového serveru, jako je NGINX, Apache, Caddy, H2O...
  • Prázdné úložiště Git (volitelné).
  • Minimálně 512 MB RAM. Doporučuje se 1 GB RAM.
  • Asi 300 MB místa na disku.
  • Název domény s nastavenými záznamy A/AAAA DNS.

Předpoklady

  • Operační systém Fedora 29.
  • Uživatel bez oprávnění root s sudo privilegia.

Počáteční kroky

Zkontrolujte svou verzi Fedory:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Nastavte časové pásmo:

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

Aktualizujte balíčky operačního systému (software). Toto je důležitý první krok, protože zajišťuje, že máte nejnovější aktualizace a opravy zabezpečení pro výchozí softwarové balíčky vašeho operačního systému:

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

Nainstalujte některé základní balíčky, které jsou nezbytné pro základní správu operačního systému Fedora:

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

Krok 1 – Instalace Node.js a npm

Wiki.js je postavena na Node.js. Chystáme se nainstalovat nejnovější doporučenou verzi pro Wiki.js, což je verze 10  v době psaní tohoto článku. V Linuxu máte několik možností instalace Node.js:Linuxové binární soubory (x86/x64), zdrojový kód nebo prostřednictvím Správce balíčků. Použijeme možnost Package Management, díky které je instalace a aktualizace Node.js hračkou.

Stáhněte si a nainstalujte nejnovější vydání Long-Term Support (LTS) Node.js z repozitáře Fedory:

sudo dnf -y install nodejs

Chcete-li zkompilovat a nainstalovat nativní doplňky z npm, možná budete muset nainstalovat nástroje pro sestavení:

sudo dnf install -y gcc-c++ make
# or
# sudo dnf groupinstall -y 'Development Tools'

POZNÁMKAnpm je distribuován s Node.js – což znamená, že když si stáhnete Node.js, automaticky se vám do systému nainstaluje npm.

Zkontrolujte verze Node.js a npm:

node -v && npm -v
# v10.15.0
# 6.4.1

Npm je samostatný projekt od Node.js a má tendenci se častěji aktualizovat. V důsledku toho, i když jste si právě stáhli Node.js (a tedy npm), budete pravděpodobně muset aktualizovat svůj npm. Naštěstí npm ví, jak se aktualizovat! Chcete-li aktualizovat své npm, zadejte toto do terminálu:

sudo npm install -g [email protected]

Tento příkaz aktualizuje npm na nejnovější stabilní verzi.

Znovu zkontrolujte verzi npm pomocí:

npm -v
# 6.7.0

A měl by vrátit číslo nejnovější verze.

Krok 2 – Instalace databáze MongoDB

Wiki.js potřebuje databázi k ukládání dat a aktuální stabilní verze Wiki.js podporuje pouze databázový stroj MongoDB. Podle toho budeme muset nainstalovat databázi MongoDB.

Stáhněte a nainstalujte databázi MongoDB:

sudo dnf install -y mongodb mongodb-server

Zkontrolujte verzi MongoDB:

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

Spustit a povolit (nastavit spuštění při restartu ) Služba MongoDB, pokud ještě není spuštěna a povolena:

sudo systemctl start mongodb.service
sudo systemctl enable mongodb.service

Krok 3 – Nainstalujte acme.sh klienta a získejte certifikát Let's Encrypt (volitelné )

Zabezpečení webu pomocí protokolu HTTPS není nutné, ale je dobrým zvykem zabezpečit provoz na webu. K získání certifikátu SSL od Let's Encrypt použijeme acme.sh klienta. Acme.sh je čistě UNIXový shell software pro získávání SSL certifikátů od Let's Encrypt s nulovými závislostmi.

Stáhněte a nainstalujte acme.sh :

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Zkontrolujte acme.sh verze:

acme.sh --version
# v2.8.1

Získejte RSAECC/ECDSA certifikáty pro vaši doménu/název hostitele:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Pokud chcete falešné certifikáty pro testování, můžete přidat --staging flag na výše uvedené příkazy.

Chcete-li uvést své vydané certifikáty, můžete spustit:

acme.sh --list

Vytvářejte složky pro ukládání certifikátů. Použijeme /etc/letsencrypt ale může to být cokoliv, co dáváte přednost ukládání certifikátů SSL.

mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc

Nainstalujte/zkopírujte certifikáty do adresáře /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

Po spuštění výše uvedených příkazů budou vaše certifikátyklíče bude v:

  • Pro RSA : /etc/letsencrypt/example.com adresář.
  • Pro ECC/ECDSA : /etc/letsencrypt/example.com_ecc adresář.

Všechny certifikáty budou automaticky obnovovány každých 60 dní.

Po získání certifikátů ukončete uživatele root a vraťte se zpět k normálnímu uživateli sudo:

exit

Krok 4 – Instalace a konfigurace NGINX

Wiki.js (nebo jakákoli aplikace HTTP Node.js) může běžet bez jakéhokoli skutečného webového serveru (jako je NGINX nebo Apache). Důrazně se však doporučuje umístit před Wiki.js standardní webový server. To zajišťuje, že můžete používat funkce jako SSL, více webových stránek, ukládání do mezipaměti atd. V tomto tutoriálu použijeme NGINX, ale bude fungovat jakýkoli jiný server, stačí jej správně nakonfigurovat.

Nainstalujte balíček Nginx zadáním následujícího příkazu:

sudo dnf install -y nginx

Po instalaci můžete verzi Nginx ověřit spuštěním:

nginx -v
# 1.14.1

Spustit a povolit (nastavit spuštění při restartu ) Služba Nginx:

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

Spusťte sudo vim /etc/nginx/conf.d/wiki.js.conf

sudo vim /etc/nginx/conf.d/wiki.js.conf

a nakonfigurujte NGINX jako reverzní proxy HTTPS.

server {
    
listen [::]:443 ssl http2;
listen 443 ssl http2; listen [::]:80; listen 80; server_name example.com; charset utf-8; client_max_body_size 50M;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.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á věc, kterou musíte ve výše uvedené konfiguraci změnit, je server_name direktiva, název domény v cestách k souboru ssl a případně proxy_pass Pokud se rozhodnete nakonfigurovat něco jiného než 3000 přístav. Wiki.js používá port 3000 ve výchozím nastavení.

Zkontrolujte konfiguraci NGINX:

sudo nginx -t

Aby se změny projevily, musíme znovu načíst NGINX:

sudo systemctl reload nginx.service

Krok 5 – Instalace a nastavení Wiki.js

Vytvořte kořenový adresář dokumentu, kde by měla být Wiki.js:

sudo mkdir -p /var/www/wiki.js

Přejděte do kořenového adresáře dokumentu:

cd /var/www/wiki.js

Vytvořte uživatele pro wikijs

sudo useradd -d /var/www/wiki.js wikijs

Změňte vlastnictví /var/www/wiki.js adresář pro uživatele wikijs:

sudo chown -R wikijs:wikijs /var/www/wiki.js

/var/www/wiki.js adresáře, spusťte následující příkaz k načtení a instalaci nejnovější aplikace Wiki.js:

cd /var/www/wiki.js
sudo su wikijs
curl -sSo- https://wiki.js.org/install.sh | bash

Po dokončení instalace můžete spustit následující příkaz a zobrazit aktuálně nainstalovanou verzi Wiki.js:

node wiki --version
# 1.0.117

Po dokončení instalace budete vyzváni ke spuštění průvodce konfigurací.

Spusťte tedy průvodce konfigurací spuštěním:

node wiki configure

Pomocí webového prohlížeče přejděte na http://example.com a postupujte podle pokynů na obrazovce. Všechna nastavení zadaná během průvodce konfigurací jsou uložena v config.yml soubor. Průvodce konfigurací za vás automaticky spustí Wiki.js.

Nejprve se zobrazí uvítací zpráva. Klikněte na „Start tlačítko ":

Zobrazí se další stránka „Kontrola systému“. Pokud jsou splněny všechny požadavky, klikněte na „Pokračovat “.

Zadejte obecné informace o své wiki a klikněte na „Pokračovat tlačítko ":

Přečtěte si upozornění „Důležitá úvaha“ a klikněte na „Pokračovat " pro další krok: 

Dále se připojte k databázi a pokračujte: 

Měli byste vidět zprávu, že Wiki.js  byla úspěšně připojena k databázi. Klikněte na tlačítko Pokračovat tlačítko ":

Nastavte cesty a pokračujte:

Pokud chcete, nastavte vzdálené úložiště Git nebo tento krok přeskočte. Tento krok je volitelný, ale vysoce doporučený:

Dále klikněte na tlačítko "Pokračovat":

Vytvořte si účet správce a klikněte na „Pokračovat tlačítko ":

A nakonec spusťte Wiki.js:

Počkejte asi 30 sekund a měli byste být přesměrováni na domovskou stránku Wiki.js:

Instalace je dokončena. Měli byste vytvořit uvítací stránku wiki:

Krok 6 – Nastavení správce procesů PM2

Ve výchozím nastavení se Wiki.js nespustí automaticky po restartu systému. Aby se to spustilo při bootování, musíme nastavit správce procesů PM2. PM2 je dodáván s Wiki.js jako místní modul npm, takže PM2 nemusíme instalovat globálně.

Řekněte PM2, aby se nakonfiguroval jako spouštěcí služba spuštěním:

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

Nakonec uložte aktuální konfiguraci PM2 spuštěním příkazu:

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

Vaše Wiki.js nyní běží jako proces na pozadí a jako správce procesů používá PM2.

  • https://wiki.js.org/
  • https://github.com/Requarks/wiki-v1
  • https://github.com/Requarks/wiki

Fedora
  1. Jak nainstalovat Node.js na Fedora 35 / Fedora 34

  2. Jak nainstalovat Java 17 do Fedory 35

  3. Jak nainstalovat Notepad++ na Fedoru 35

  1. Jak nainstalovat fórum NodeBB na Fedoru 29

  2. Jak nainstalovat Wireshark na Fedoru 35

  3. Jak nainstalovat npm v alpine linux

  1. Jak nainstalovat Wiki.js na Ubuntu 18.04 LTS

  2. Jak nainstalovat Wiki.js na CentOS 7

  3. Jak nainstalovat Wiki.js – Wiki Software založený na NodeJS na Debianu 9