Kërkesat
Instaloni Git
Instaloni Node.js
Instaloni MongoDB
Instaloni dhe konfiguroni Nginx
Instaloni Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)
Instaloni Wiki.js
Konfiguro PM2
Wiki.js është një aplikacion modern wiki falas dhe me burim të hapur i ndërtuar në Node.js, MongoDB, Git dhe Markdown. Kodi burimor i Wiki.js ndodhet publikisht në GitHub . Ky udhëzues do t'ju tregojë se si të instaloni Wiki.js në një shembull të ri të Debian 9 Vultr duke përdorur Node.js, MongoDB, PM2, Nginx, Git dhe Acme.sh.
Kërkesat
- Node.js 6.9.0 ose më vonë
- MongoDB 3.2 ose më vonë
- Nginx
- Git 2.7.4 ose më vonë
- Një depo e përputhshme me Git (publik ose privat) ( opsionale )
- Minimumi prej
768MB RAM
- Emri i domenit me
A
/ AAAA
konfigurimin e regjistrimeve
Kontrolloni versionin e Debian.
lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)
Sigurohuni që sistemi juaj të jetë i përditësuar.
apt update && apt upgrade -y
Instaloni paketat e nevojshme.
apt install -y build-essential apt-transport-https sudo curl wget dirmngr sudo
Krijoni një non-root
llogari të re përdoruesi me sudo
akses dhe kaloni në të.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
SHËNIM : Zëvendësojeni johndoe
me emrin tuaj të përdoruesit.
Vendosni zonën kohore.
sudo dpkg-reconfigure tzdata
Instaloni Git
Instaloni Git në Debian.
sudo apt install -y git
Verifikoni versionin Git.
git --version
# git version 2.11.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
Wiki.js përdor MongoDB si një motor bazë të dhënash. Sipas kësaj, ne do të duhet të instalojmë MongoDB në serverin tonë. Ne do të përdorim depot zyrtare të MongoDB për instalim.
Instaloni MongoDB Community Edition.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt update
sudo apt install -y mongodb-org
Kontrolloni versionin.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.5
# db version v3.6.5
Aktivizo dhe nis MongoDB.
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
Rekomandohet shumë që të vendosni një ueb server standard përpara Wiki.js. Kjo siguron që ju të mund të përdorni veçori si SSL, uebsajte të shumta, memorie dhe më shumë. Ne do të përdorim Nginx në këtë tutorial, por çdo server tjetër do ta bëjë këtë, ju vetëm duhet ta konfiguroni atë siç duhet.
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/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(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 HTTP
ose HTTPS
(nëse përdorni SSL) për aplikacionin Wiki.js.
Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.conf
dhe 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_name
direktiva, dhe potencialisht proxy_pass
direktiva nëse vendosni të konfiguroni një port tjetër përveç 3000
. Wiki.js përdor portin si 3000
parazgjedhje.
Kontrolloni konfigurimin.
sudo nginx -t
Rifresko Nginx.
sudo systemctl reload nginx.service
Instaloni Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)
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 the 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 [email protected]
cd ~
Check the 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 [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
NOTE: Don't forget to replace wiki.example.com
with your domain name.
After running the above commands, your certificates and keys will be in the following directories.
- For RSA:
/etc/letsencrypt/wiki.example.com
directory.
- Për ECC/ECDSA:
/etc/letsencrypt/wiki.example.com_ecc
drejtoria.
Pas marrjes së certifikatave nga Let's Encrypt, duhet të konfigurojmë Nginx për të përfituar prej tyre.
Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.conf
përsëri dhe konfiguroni Nginx si një HTTPS
pë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/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/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.com
dosjes në përdorues johndoe
.
sudo chown -R johndoe:johndoe /var/www/wiki.example.com
Nga /var/www/wiki.example.com
dosja, ekzekutoni komandën e mëposhtme për të shkarkuar dhe instaluar Wiki.js.
curl -sSo- https://wiki.js.org/install.sh | bash
Ju mund të ekzekutoni komandën e mëposhtme për të parë versionin e instaluar aktualisht të Wiki.js.
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 duke ekzekutuar.
node wiki configure
Kjo do t'ju njoftojë për të lundruar për http://localhost:3000
të konfiguruar Wiki.js. Nëse keni Nginx përpara Wiki.js, atëherë kjo do të thotë që ju 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.com
dhe ndiqni udhëzimet në ekran. Të gjitha cilësimet e futura gjatë magjistarit të konfigurimit ruhen në config.yml
skedar. Magjistari i konfigurimit do të nisë automatikisht Wiki.js për ju.
Konfiguro 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ë menaxherin e procesit 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
Shembulli juaj Wiki.js ekzekutohet si një proces sfondi, duke përdorur PM2 si menaxherin e tij të procesit. Mund të rindizni sistemin operativ sudo reboot
dhe të kontrolloni nëse Wiki.js fillon pas një rindezjeje.