A Wiki.js telepítése a Fedora 28-ra

A Wiki.js egy ingyenes és nyílt forráskódú, modern wikialkalmazás , amely Node.js-re, MongoDB-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 Fedora 28 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 követelményei a következők:

  • Node.js 6.9.0 vagy újabb verzió
  • MongoDB 3.2 vagy újabb verzió
  • Webszerver, például Nginx, Apache, IIS, Caddy vagy H2O. Ez az útmutató az Nginxet fogja használni
  • Git 2.7.4 vagy újabb verzió
  • Git-kompatibilis adattár (nyilvános vagy privát) Ez nem kötelező
  • Minimum 768 MB RAM
  • Domain név a A/ AAAArekordokkal beállítva

Mielőtt elkezded

Ellenőrizze az operációs rendszer verzióját.

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

Hozzon létre egy új, nem root felhasználói fiókot sudo hozzáféréssel, és váltson rá.

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

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

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

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

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

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

Telepítse a szükséges és hasznos csomagokat.

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

Az egyszerűség kedvéért tiltsa le a SELinuxot és a tűzfalat.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Telepítse a Node.js-t

A Wiki.js-hez a Node.js 6.9.0 vagy újabb verziója szükséges, ezért először telepítenünk kell a Node.js-t.

Telepítse a Node.js-t.

sudo dnf install -y nodejs

Ellenőrizze a Node.js és az npm verziókat.

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

Telepítse a MongoDB-t

A Wiki.js a MongoDB-t használja adatbázismotorként. Ennek megfelelően telepítenünk kell a MongoDB-t a szerverünkre.

Telepítse a MongoDB-t.

sudo dnf install -y mongodb mongodb-server

Ellenőrizze a MongoDB verziót.

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

Engedélyezze és indítsa el a MongoDB-t.

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

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

A Wiki.js tényleges webszerver (például Nginx vagy Apache) nélkül is futhat. Azonban erősen ajánlott egy szabványos webszervert a Wiki.js elé tenni. Ez biztosítja, hogy olyan funkciókat használhasson, mint az SSL, több webhely, gyorsítótár és mások. Ebben az oktatóanyagban az Nginxet fogjuk használni, de bármely más szerver megteszi, csak megfelelően kell konfigurálnia.

Telepítse az Nginx-et.

sudo dnf install -y nginx

Ellenőrizze a verziót.

nginx -v
# nginx version: nginx/1.12.1

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

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

Konfigurálja az Nginx-et a Wiki.js alkalmazás fordított proxyjaként HTTPvagy HTTPS(ha SSL-t használ) fordított proxyként.

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 az server_namedirektíva, és potenciálisan a proxy_passdirektíva, ha úgy dönt, hogy a -tól eltérő portot állít be 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 szerezze be a Let's Encrypt tanúsítványt (opcionális)

A wiki biztonságossá tétele HTTPSnem szükséges, de jó gyakorlat a webhely forgalmának biztosítása. A Let's Encrypt SSL-tanúsítvány beszerzéséhez az Acme.sh klienst használjuk. 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. Ez nagyon könnyűvé teszi néhány más ACME protokoll klienshez képest, amelyek sok függőséget igényelnek a sikeres futtatáshoz.

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 [email protected]
cd ~

Ellenőrizze a acme.shverziót.

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

Szerezzen be RSA és ECDSA tanúsítványt a következőhöz: 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 [email protected] --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 [email protected] --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: /etc/letsencrypt/wiki.example.com
  • ECC/ECDSA esetén: /etc/letsencrypt/wiki.example.com_ecc

MEGJEGYZÉS : Ne felejtse el lecserélni wiki.example.coma domain nevét.

Miután megszereztük a Let's Encrypt tanúsítványait, konfigurálnunk kell az Nginxet, hogy kihasználjuk őket.

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

A /var/www/wiki.example.commappa tulajdonjogának módosítása 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 következő parancs futtatásával megtekintheti a Wiki.js aktuálisan telepített verzióját.

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 a futtatással.

node wiki configure

Ez értesíti, hogy navigáljon ide a http://localhost:3000Wiki.js konfigurálásához. Ha Nginx van a Wiki.js előtt, akkor ez azt jelenti, hogy 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.

PM2 beállítása

Alapértelmezés szerint a Wiki.js nem indul el automatikusan a rendszer újraindítása után. Annak érdekében, hogy elinduljon a rendszerindításkor, be kell állítanunk a PM2 folyamatkezelő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 a következő futtatásával:

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

Végül mentse az aktuális PM2 konfigurációt a parancs futtatásával: /var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

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


Leave a Comment

A BigTree CMS telepítése Fedora 26 LAMP VPS-re

A BigTree CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A BigTree CMS 4.2 egy gyors és könnyű, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS), amely kiterjedt

A Koel telepítése Fedora 28-ra

A Koel telepítése Fedora 28-ra

Más rendszert használ? A Koel egy egyszerű, webalapú személyes audio streaming alkalmazás, amelyet kliens oldalon Vue-ban, szerver oldalon pedig Laravelben írtak. Koe

A Grav CMS telepítése a Fedora 28-ra

A Grav CMS telepítése a Fedora 28-ra

Más rendszert használ? A Grav egy nyílt forráskódú, lapos fájlú CMS, amelyet PHP-ben írtak. A Grav-forráskód nyilvánosan a GitHubon található. Ez az útmutató megmutatja, hogyan t

Az Akaunting telepítése Fedora 28-ra

Az Akaunting telepítése Fedora 28-ra

Más rendszert használ? Az Akaunting egy ingyenes, nyílt forráskódú és online számviteli szoftver kisvállalkozások és szabadúszók számára. Szellemesen épült

A Tiny Tiny RSS Reader telepítése Fedora 26 LAMP VPS-re

A Tiny Tiny RSS Reader telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Tiny Tiny RSS Reader egy ingyenes és nyílt forráskódú, saját üzemeltetésű webalapú hírfolyam (RSS/Atom) olvasó és aggregátor, amelyet úgy terveztek, hogy

Az InvoicePlane telepítése a Fedora 28-ra

Az InvoicePlane telepítése a Fedora 28-ra

Más rendszert használ? Az InvoicePlane egy ingyenes és nyílt forráskódú számlázó alkalmazás. Forráskódja megtalálható ezen a Github-tárházban. Ez az útmutató

Telepítsen egy Minecraft szervert a Fedora 26-ra

Telepítsen egy Minecraft szervert a Fedora 26-ra

Más rendszert használ? Ebben az oktatóanyagban végigvezetem Önt a Minecraft szerver beállításán egy nagy teljesítményű SSD VPS-en a Vultr-nál. Meg fogod tanulni ho

Hogyan fordítsuk le az Nginx-et forrásból a Fedora 25-ön

Hogyan fordítsuk le az Nginx-et forrásból a Fedora 25-ön

Más rendszert használ? Az NGINX használható HTTP/HTTPS szerverként, fordított proxy szerverként, levelező proxy szerverként, terheléselosztóként, TLS terminátorként vagy gyorsítótárként

A Pagekit 1.0 CMS telepítése Fedora 26 LAMP VPS-re

A Pagekit 1.0 CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Pagekit 1.0 CMS egy gyönyörű, moduláris, bővíthető és könnyű, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS)

A Subrion 4.1 CMS telepítése Fedora 26 LAMP VPS-re

A Subrion 4.1 CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Subrion 4.1 CMS egy hatékony és rugalmas nyílt forráskódú tartalomkezelő rendszer (CMS), amely intuitív és világos tartalmat biztosít.

Telepítse a TaskServer-t (taskd) a Fedora 26-on

Telepítse a TaskServer-t (taskd) a Fedora 26-on

Más rendszert használ? A TaskWarrior egy nyílt forráskódú időkezelő eszköz, amely a Todo.txt alkalmazás és klónjai továbbfejlesztése. Mivel a th

A CMS Made Simple 2.2 telepítése Fedora 26 LAMP VPS-re

A CMS Made Simple 2.2 telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A CMS Made Simple 2.2 egy rugalmas és bővíthető, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amelyet intelligensen terveztek

A Bro IDS telepítése Fedora 25-re

A Bro IDS telepítése Fedora 25-re

Más rendszert használ? Bevezetés A Bro egy nyílt forráskódú hálózati forgalomelemző. Ez elsősorban egy biztonsági figyelő, amely a vonal összes forgalmát ellenőrzi

Az X-Cart 5 telepítése Fedora 31-re

Az X-Cart 5 telepítése Fedora 31-re

Más rendszert használ? Az X-Cart egy rendkívül rugalmas, nyílt forráskódú e-kereskedelmi platform rengeteg funkcióval és integrációval. Az X-Cart forráskódja hoste

A Matomo Analytics telepítése a Fedora 28-ra

A Matomo Analytics telepítése a Fedora 28-ra

Más rendszert használ? A Matomo (korábban Piwik) egy nyílt forráskódú elemzési platform, a Google Analytics nyílt alternatívája. A Matomo forrás o

A MyBB telepítése Fedora 28-ra

A MyBB telepítése Fedora 28-ra

Más rendszert használ? A MyBB egy ingyenes és nyílt forráskódú, intuitív és bővíthető fórumprogram. A MyBB forráskódja a GitHubon található. Ez az útmutató sho

A TaskBoard telepítése és konfigurálása a Fedora 30 rendszeren

A TaskBoard telepítése és konfigurálása a Fedora 30 rendszeren

Más rendszert használ? Bevezetés A TaskBoard egy ingyenes és nyílt forráskódú eszköz, amely segítségével nyomon követheti az elvégzendő dolgokat. Ez biztosítja

A LimeSurvey CE telepítése Fedora 28-ra

A LimeSurvey CE telepítése Fedora 28-ra

Más rendszert használ? A LimeSurvey egy PHP nyelven írt nyílt forráskódú felmérési program. A LimeSurvey forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Backdrop CMS 1.8.0 telepítése Fedora 26 LAMP VPS-re

A Backdrop CMS 1.8.0 telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A Backdrop CMS 1.8.0 egy egyszerű és rugalmas, mobilbarát, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amely lehetővé teszi

A Craft CMS telepítése a Fedora 29 rendszeren

A Craft CMS telepítése a Fedora 29 rendszeren

Más rendszert használ? A Craft CMS egy PHP nyelven írt nyílt forráskódú CMS. A Craft CMS forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni

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 <<strong>>Windows ISO<<strong>> 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.

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.

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