Kërkesat
Instaloni Git
Instaloni Node.js
Instaloni MongoDB
Instaloni dhe konfiguroni Nginx
Instaloni klientin Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)
Instaloni Wiki.js
Instaloni PM2
Wiki.js është një aplikacion modern wiki falas dhe me burim të hapur i ndërtuar në Node.js , Git dhe Markdown . Kodi burimor i Wiki.js është i pritur publikisht në Github . Ky udhëzues do t'ju tregojë se si të instaloni Wiki.js në një shembull të ri të Ubuntu 18.04 LTS Vultr duke përdorur Node.js, MongoDB, PM2, Nginx, Git dhe Acme.sh.
Kërkesat
Kërkesat për të ekzekutuar Wiki.js dhe për të përfunduar këtë udhëzues janë si më poshtë:
- Node.js versioni 6.9.0 ose më i ri
- Versioni i MongoDB 3.2 ose më i ri
- Nginx
- Versioni Git 2.7.4 ose më i ri
- Minimumi 768 MB RAM
- Emri i domenit me
A/ AAAAkonfigurimin e regjistrimeve
Kontrolloni versionin e Ubuntu.
lsb_release -ds
# Ubuntu 18.04.4 LTS
Krijoni një non-rootllogari të re përdoruesi me sudoakses dhe kaloni në të.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
SHËNIM : Zëvendësojeni johndoeme emrin tuaj të përdoruesit.
Vendosni zonën kohore.
sudo dpkg-reconfigure tzdata
Sigurohuni që sistemi juaj të jetë i përditësuar.
sudo apt update && sudo apt upgrade -y
Instaloni paketat e nevojshme.
sudo apt install -y build-essential apt-transport-https
Instaloni Git
Git 2.7.4 vjen i parainstaluar në versionin e serverit Ubuntu, kështu që ne nuk kemi nevojë ta instalojmë atë. Nëse dëshironi të instaloni një version më të ri, mund të përdorni PPA të palëve të treta ose të përpiloni versionin më të fundit të Git nga burimi.
Mund të verifikoni versionin e instaluar aktualisht të Git duke ekzekutuar:
git --version
# git version 2.7.4
Nëse dëshironi të instaloni një version më të ri të softuerit Git, mund të përdorni sa vijon.
# 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
Verifiko versionin Git.
git --version
# git version 2.17.0
Instaloni Node.js
Instaloni Node.js duke përdorur depon e NodeSource APT për Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
Kontrolloni versionet Node.js dhe NPM.
node -v && npm -v
# v8.11.2
# 5.6.0
Instaloni MongoDB
Ne do të përdorim depot zyrtare të MongoDB , të cilat mbahen të përditësuara me lëshimet më të fundit kryesore dhe të vogla të MongoDB.
Instaloni MongoDB Community Edition.
sudo apt install -y mongodb
Kontrolloni versionin.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3
Instaloni Nginx.
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
Kontrolloni versionin.
sudo nginx -v
# nginx version: nginx/1.15.0
Aktivizo dhe nis Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Konfiguro Nginx si një përfaqësues të kundërt për aplikacionin Wiki.js.
Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.confdhe plotësoni atë me konfigurimin bazë të përfaqësuesit të kundërt më poshtë.
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;
}
}
E vetmja gjë që duhet të ndryshoni në konfigurimin e mësipërm është server_namedirektiva dhe potencialisht proxy_passdirektiva nëse vendosni të konfiguroni ndonjë port tjetër përveç 3000. Wiki.js përdor portin si 3000parazgjedhje.
Kontrolloni konfigurimin.
sudo nginx -t
Rifresko Nginx.
sudo systemctl reload nginx.service
Instaloni klientin Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)
Sigurimi i wiki-t tuaj me HTTPSnuk është i nevojshëm, por do të sigurojë trafikun e faqes suaj. Acme.sh është një softuer i pastër i guaskës unix për marrjen e certifikatave SSL nga Let's Encrypt me zero varësi.
Shkarkoni dhe instaloni 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 ~
Kontrolloni versionin.
/etc/letsencrypt/acme.sh --version
Merrni certifikatat RSA dhe ECDSA për wiki.example.comdomenin/emrin e hostit.
# 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
Pas ekzekutimit të komandave të mësipërme, certifikatat dhe çelësat tuaj do të jenë në:
- Për RSA:
/etc/letsencrypt/wiki.example.comdrejtoria.
- Për ECC/ECDSA:
/etc/letsencrypt/wiki.example.com_eccdrejtoria.
Pas marrjes së certifikatave nga Let's Encrypt, duhet të konfigurojmë Nginx për t'i përdorur ato.
Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.confpërsëri dhe konfiguroni Nginx si një HTTPSpërfaqësues të kundërt.
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;
}
}
Kontrolloni konfigurimin.
sudo nginx -t
Rifresko Nginx.
sudo systemctl reload nginx.service
Instaloni Wiki.js
Krijo një dosje të zbrazët rrënjësore të dokumentit ku duhet të instalohet Wiki.js.
sudo mkdir -p /var/www/wiki.example.com
Navigoni te dosja rrënjë e dokumentit.
cd /var/www/wiki.example.com
Ndrysho pronësinë e /var/www/wiki.example.comdosjes tek përdoruesi johndoe.
sudo chown -R johndoe:johndoe /var/www/wiki.example.com
Nga /var/www/wiki.example.comdosja, ekzekutoni komandën e mëposhtme për të shkarkuar dhe instaluar Wiki.js.
curl -sSo- https://wiki.js.org/install.sh | bash
Për të parë versionin e instaluar aktualisht të Wiki.js, mund të ekzekutoni komandën e mëposhtme.
node wiki --version
# 1.0.78
Pasi të përfundojë instalimi, do t'ju kërkohet të ekzekutoni magjistarin e konfigurimit.
Nisni magjistarin e konfigurimit.
node wiki configure
Kjo do t'ju njoftojë për të shfletuar për http://localhost:3000të konfiguruar Wiki.js. Nëse keni Nginx përpara Wiki.js, mund të hapni emrin e domenit tuaj (p.sh. http://wiki.example.com) në vend që të shkoni te localhost.
Duke përdorur shfletuesin tuaj të internetit, lundroni http://wiki.example.comdhe ndiqni udhëzimet në ekran. Të gjitha cilësimet e futura gjatë magjistarit të konfigurimit ruhen në config.ymlskedar. Magjistari i konfigurimit do të nisë automatikisht Wiki.js për ju.
Instaloni PM2
Si parazgjedhje, Wiki.js nuk do të fillojë automatikisht pas një rindezjeje të sistemit. Për ta bërë atë të fillojë në boot, ne duhet të konfigurojmë PM2. PM2 vjen i bashkuar me Wiki.js si një modul lokal NPM, kështu që nuk kemi nevojë të instalojmë PM2 globalisht.
Thuaji PM2 të konfigurojë veten si një shërbim fillestar.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup
Më në fund, ruani konfigurimin aktual PM2.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save
Wiki.js funksionon si një proces sfondi, duke përdorur PM2 si menaxherin e tij të procesit.