Ako nainštalovať Wiki.js na Fedore 28

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 Fedora 28 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.9.0 alebo novšej
  • MongoDB verzia 3.2 alebo novšia
  • Webový server ako Nginx, Apache, IIS, Caddy alebo H2O. Táto príručka bude používať Nginx
  • Git verzia 2.7.4 alebo novšia
  • Úložisko kompatibilné s Git (verejné alebo súkromné) Toto je voliteľné
  • Minimálne 768 MB RAM
  • Názov domény s nastavenými záznamami A/AAAA

Predtým ako začneš

Skontrolujte verziu OS.

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

Vytvorte nový používateľský účet bez oprávnenia root s prístupom sudo a prepnite sa naň.

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

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

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

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

Nastavte časové pásmo.

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

Nainštalujte požadované a užitočné balíky.

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

Pre jednoduchosť vypnite SELinux a Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Nainštalujte Node.js

Wiki.js vyžaduje Node.js 6.9.0 alebo novší, takže najprv budeme musieť nainštalovať Node.js.

Nainštalujte Node.js.

sudo dnf install -y nodejs

Skontrolujte verzie Node.js a npm.

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

Nainštalujte MongoDB

Wiki.js používa MongoDB ako databázový stroj. Podľa toho budeme musieť nainštalovať MongoDB na náš server.

Nainštalujte MongoDB.

sudo dnf install -y mongodb mongodb-server

Skontrolujte verziu MongoDB.

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

Povoliť a spustiť MongoDB.

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

Nainštalujte a nakonfigurujte Nginx

Wiki.js môže bežať bez akéhokoľvek skutočného webového servera (ako je Nginx alebo Apache). Dôrazne sa však odporúča umiestniť pred Wiki.js štandardný webový server. To zaisťuje, že môžete používať funkcie ako SSL, viaceré webové stránky, ukladanie do vyrovnávacej pamäte a ďalšie. V tomto návode použijeme Nginx, ale bude to robiť každý iný server, stačí ho správne nakonfigurovať.

Nainštalujte Nginx.

sudo dnf install -y nginx

Skontrolujte verziu.

nginx -v
# nginx version: nginx/1.12.1

Povoľte a spustite Nginx.

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

Nakonfigurujte Nginx ako HTTPalebo HTTPS(ak používate SSL) reverzný proxy pre aplikáciu Wiki.js.

Spustite sudo vim /etc/nginx/conf.d/wiki.js.confa naplňte ho základnou konfiguráciou reverzného servera proxy nižšie.

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

}

Jediná vec, ktorú musíte zmeniť vo vyššie uvedenej konfigurácii, je server_namesmernica a prípadne proxy_passsmernica, ak sa rozhodnete nakonfigurovať iný port ako 3000. Wiki.js štandardne používa port 3000.

Check the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install Acme.sh client and obtain Let's Encrypt certificate (optional)

Securing your wiki with HTTPS is not necessary, but it is a good practice to secure your site traffic. In order to obtain an SSL certificate from Let's Encrypt we will use Acme.sh client. Acme.sh is a pure unix shell software for obtaining SSL certificates from Let's Encrypt with zero dependencies. That makes it very lightweight in comparison to some other ACME protocol clients that require a lot of dependencies to run successfully.

Download and install 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 ~

Check the acme.sh version.

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

Obtain RSA and ECDSA certificates for 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 

After running the above commands, your certificates and keys will be in:

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

POZNÁMKA : Nezabudnite ho nahradiť wiki.example.comnázvom vašej domény.

Po získaní certifikátov od Let's Encrypt musíme nakonfigurovať Nginx, aby sme ich využili.

Spustite sudo vim /etc/nginx/conf.d/wiki.js.confznova a nakonfigurujte Nginx ako HTTPSreverzný 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;
    }

}

Skontrolujte konfiguráciu.

sudo nginx -t

Znova načítať Nginx.

sudo systemctl reload nginx.service

Nainštalujte si Wiki.js

Vytvorte prázdny koreňový priečinok dokumentov, kde by mala byť nainštalovaná Wiki.js.

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

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

cd /var/www/wiki.example.com

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

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

Z /var/www/wiki.example.compriečinka spustite nasledujúci príkaz na stiahnutie a inštaláciu Wiki.js.

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

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

node wiki --version
# 1.0.78

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 otvoriť názov svojej domény (napr. http://wiki.example.com) namiesto toho, aby ste prešli na localhost.

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.

Nastavenie PM2

V predvolenom nastavení sa Wiki.js nespustí automaticky po reštarte systému. Aby sa to spustilo pri zavádzaní, musíme nastaviť správcu procesov PM2. PM2 sa dodáva spolu s Wiki.js ako lokálny modul NPM, takže PM2 nemusíme inštalovať globálne.

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

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

Nakoniec uložte aktuálnu konfiguráciu PM2 spustením príkazu: /var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Vaša inštancia Wiki.js 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