Követelmények
Telepítse a Git-et
Telepítse a Node.js-t
Telepítse a MongoDB-t
Telepítse és konfigurálja az Nginx-et
Telepítse az Acme.sh klienst, és szerezzen be egy Let's Encrypt tanúsítványt (opcionális)
Telepítse a Wiki.js-t
Telepítse a PM2-t
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 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.