A Wiki.js telepítése Ubuntu 18.04-re

A Wiki.js egy ingyenes és nyílt forráskódú, modern wikialkalmazás , amely Node.js-re , Git-re és Markdownra épül . A Wiki.js forráskód nyilvánosan a Githubon található . Ez az útmutató bemutatja, hogyan telepítheti a Wiki.js-t egy friss Ubuntu 18.04 LTS Vultr példányra Node.js, MongoDB, PM2, Nginx, Git és Acme.sh használatával.

Követelmények

A Wiki.js futtatásának és az útmutató befejezésének követelményei a következők:

  • Node.js 6.9.0 vagy újabb verzió
  • MongoDB 3.2 vagy újabb verzió
  • Nginx
  • Git 2.7.4 vagy újabb verzió
  • Minimum 768 MB RAM
  • Domain név a A/ AAAArekordokkal beállítva

Ellenőrizze az Ubuntu verziót.

lsb_release -ds
# Ubuntu 18.04.4 LTS

Hozzon létre egy új non-rootfelhasználói fiókot sudohozzáféréssel, és váltson rá.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

MEGJEGYZÉS : Cserélje johndoeki a felhasználónevét.

Állítsa be az időzónát.

sudo dpkg-reconfigure tzdata

Győződjön meg arról, hogy rendszere naprakész.

sudo apt update && sudo apt upgrade -y

Telepítse a szükséges csomagokat.

sudo apt install -y build-essential apt-transport-https

Telepítse a Git-et

A Git 2.7.4 előre telepítve érkezik az Ubuntu szerverre, így nem kell telepítenünk. Ha újabb verziót szeretne telepíteni, használhat harmadik féltől származó PPA-kat, vagy fordíthatja le a Git legújabb kiadását a forrásból.

A Git jelenleg telepített verzióját a következő futtatásával ellenőrizheti:

git --version
# git version 2.7.4

Ha a Git szoftver újabb verzióját szeretné telepíteni, használhatja a következőket.

# Remove existing git package
sudo apt remove -y git
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
sudo apt update && sudo apt upgrade -y
sudo apt install -y git

Ellenőrizze a Git verziót.

git --version
# git version 2.17.0

Telepítse a Node.js-t

Telepítse a Node.js fájlt a Node.js NodeSource APT lerakatának használatával.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

Ellenőrizze a Node.js és az NPM verzióit.

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

Telepítse a MongoDB-t

A hivatalos MongoDB adattárakat fogjuk használni , amelyeket naprakészen tartunk a legújabb nagyobb és kisebb MongoDB-kiadásokkal.

Telepítse a MongoDB Community Edition-t.

sudo apt install -y mongodb

Ellenőrizze a verziót.

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

Telepítse és konfigurálja az Nginx-et

Telepítse az Nginx-et.

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Ellenőrizze a verziót.

sudo nginx -v
# nginx version: nginx/1.15.0

Engedélyezze és indítsa el az Nginxet.

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

Állítsa be az Nginx-et fordított proxyként a Wiki.js alkalmazáshoz.

Futtassa sudo vim /etc/nginx/conf.d/wiki.js.confés töltse fel az alábbi alapvető fordított proxykonfigurációval.

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

}

Az egyetlen dolog, amit a fenti konfigurációban módosítani kell, az a server_namedirektíva, és adott esetben a proxy_passdirektíva, ha úgy döntesz, hogy a porton kívül más portot is beállítasz 3000. A Wiki.js 3000alapértelmezés szerint a portot használja .

Ellenőrizze a konfigurációt.

sudo nginx -t

Töltse újra az Nginxet.

sudo systemctl reload nginx.service

Telepítse az Acme.sh klienst, és szerezzen be egy Let's Encrypt tanúsítványt (opcionális)

A wiki biztons��gossá tétele HTTPSnem szükséges, de ez biztosítja webhelye forgalmát. Az Acme.sh egy tisztán unix shell szoftver SSL-tanúsítványok beszerzéséhez a Let's Encrypt-től nulla függőséggel.

Töltse le és telepítse az Acme.sh fájlt .

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 ~

Ellenőrizze a verziót.

/etc/letsencrypt/acme.sh --version

Szerezzen be RSA- és ECDSA-tanúsítványokat a wiki.example.comtartományhoz/gazdanévhez.

# 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 

A fenti parancsok futtatása után a tanúsítványok és kulcsok a következőkben lesznek:

  • RSA esetén: a /etc/letsencrypt/wiki.example.comkönyvtár.
  • ECC/ECDSA esetén: a /etc/letsencrypt/wiki.example.com_ecccímtár.

Miután megszereztük a tanúsítványokat a Let's Encrypt-től, be kell állítanunk az Nginxet a használatukhoz.

Futtassa sudo vim /etc/nginx/conf.d/wiki.js.confújra, és állítsa be az Nginx-et HTTPSfordított proxyként.

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

}

Ellenőrizze a konfigurációt.

sudo nginx -t

Töltse újra az Nginxet.

sudo systemctl reload nginx.service

Telepítse a Wiki.js-t

Hozzon létre egy üres dokumentum gyökérmappát, ahová telepíteni kell a Wiki.js-t.

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

Navigáljon a dokumentum gyökérmappájához.

cd /var/www/wiki.example.com

Módosítsa a /var/www/wiki.example.commappa tulajdonjogát a felhasználóra johndoe.

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

A /var/www/wiki.example.commappából futtassa a következő parancsot a Wiki.js letöltéséhez és telepítéséhez.

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

A Wiki.js jelenleg telepített verziójának megtekintéséhez futtassa a következő parancsot.

node wiki --version
# 1.0.78

A telepítés befejezése után a rendszer felkéri a konfigurációs varázsló futtatására.

Indítsa el a konfigurációs varázslót.

node wiki configure

Ez értesíti, hogy böngésszen a http://localhost:3000Wiki.js konfigurálásához. Ha Nginx van a Wiki.js előtt, megnyithatja a domain nevét (pl. http://wiki.example.com) ahelyett, hogy a webhelyre menne localhost.

A webböngészővel keresse meg http://wiki.example.coma képernyőn megjelenő utasításokat , és kövesse azt. A konfigurációs varázsló során megadott összes beállítás a config.ymlfájlba kerül. A konfigurációs varázsló automatikusan elindítja a Wiki.js fájlt.

Telepítse a PM2-t

Alapértelmezés szerint a Wiki.js nem indul el automatikusan a rendszer újraindítása után. Ahhoz, hogy elinduljon a rendszerindításkor, be kell állítanunk a PM2-t. A PM2 helyi NPM-modulként a Wiki.js-szel együtt érkezik, így nem kell globálisan telepítenünk a PM2-t.

Mondja meg a PM2-nek, hogy konfigurálja magát indítási szolgáltatásként.

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

Végül mentse el az aktuális PM2 konfigurációt.

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

A Wiki.js háttérfolyamatként fut, folyamatkezelőként a PM2-t használja.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.