Kërkesat
Perpara se te fillosh
Instaloni Node.js
Instaloni MongoDB
Instaloni Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)
Instaloni dhe konfiguroni Nginx
Instaloni Wiki.js
Instaloni dhe konfiguroni menaxherin e procesit 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 ë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ë FreeBSD 11 Vultr duke përdorur Node.js, MongoDB, PM2, Nginx, Git dhe Acme.sh.
Kërkesat
Kërkesat për të ekzekutuar Wiki.js janë si më poshtë:
- Node.js versioni 6.11.1 ose më i ri
- Versioni i MongoDB 3.2 ose më i ri
- Versioni Git 2.7.4 ose më i ri
- Një server në internet si Nginx, Apache, IIS, Caddy ose H2O. Ky udhëzues do të përdorë Nginx.
- Një depo e përputhshme me Git (publike ose private) Kjo është fakultative
- Një minimum prej 512 MB RAM. Rekomandohet shumë të përdorni një makinë me të paktën 1 GB RAM.
- Emri i domenit me
A/ AAAAkonfigurimin e regjistrimeve. Në këtë udhëzues ne do të përdorim wiki.example.comsi një domen shembull.
Perpara se te fillosh
Kontrolloni versionin e FreeBSD.
uname -ro
# FreeBSD 11.2-RELEASE
Sigurohuni që sistemi juaj FreeBSD të jetë i përditësuar.
freebsd-update fetch install
pkg update && pkg upgrade -y
Instaluar sudo, vim, unzip, wget, git, bashdhe socatpaketa qoftë se ata nuk janë të pranishëm në sistemin tuaj.
pkg install -y sudo vim unzip wget git bash socat
Krijoni një llogari të re përdoruesi me emrin tuaj të preferuar të përdoruesit (ne do të përdorim johndoe).
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Ekzekutoni visudokomandën dhe hiqni komentin e %wheel ALL=(ALL) ALLlinjës, për të lejuar anëtarët e wheelgrupit të ekzekutojnë çdo komandë.
# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL
Tani, kaloni te përdoruesi juaj i sapokrijuar.
su - johndoe
SHËNIM: Zëvendësojeni johndoeme emrin tuaj të përdoruesit.
Vendosni zonën kohore.
sudo tzsetup
Instaloni Node.js
Wiki.js kërkon Node.js 6.11.1 ose version më të ri, kështu që fillimisht do të na duhet të instalojmë versionin e duhur të Node.js.
Instaloni Node.js dhe NPM.
sudo pkg install -y node8 npm-node8
Kontrolloni versionet.
node -v && npm -v
# v8.12.0
# 6.4.1
Instaloni MongoDB
Wiki.js përdor MongoDB si një motor bazë të dhënash.
Instaloni MongoDB.
sudo pkg install -y mongodb36
Kontrolloni versionin.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6
Aktivizo dhe nis MongoDB.
sudo sysrc mongod_enable=yes
sudo service mongod start
Instaloni Acme.sh dhe merrni një certifikatë Let's Encrypt ( opsionale )
Sigurimi i wiki-t tuaj me HTTPS nuk është i nevojshëm, por është një praktikë e mirë për të siguruar trafikun e faqes suaj. Për të marrë një certifikatë SSL nga Let's Encrypt ne do të përdorim klientin Acme.sh. 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. Kjo e bën atë shumë të lehtë në krahasim me disa klientë të tjerë të protokollit Acme që kërkojnë shumë varësi për të ekzekutuar me sukses.
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 acme.shversionin.
/etc/letsencrypt/acme.sh --version
# v2.8.0
Merrni certifikatat RSA dhe ECDSA për wiki.example.com.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.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ë drejtoritë e mëposhtme:
- RSA:
/etc/letsencrypt/wiki.example.com
- ECC/ECDSA:
/etc/letsencrypt/wiki.example.com_ecc
SHËNIM: Mos harroni të zëvendësoni wiki.example.comme emrin e domain.
Pas marrjes së certifikatave nga Let's Encrypt, duhet të konfigurojmë Nginx për të përfituar prej tyre.
Wiki.js mund të funksionojë pa ndonjë server aktual në internet, megjithatë rekomandohet shumë që të vendosni një server standard në internet përpara tij. Kjo siguron që ju të mund të përdorni veçori si SSL, uebfaqe të shumta, memorie dhe të tjera. 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.
sudo pkg install -y nginx
Kontrolloni versionin.
nginx -v
# nginx version: nginx/1.14.0
Aktivizo dhe nis Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Konfiguro Nginx si një përfaqësues të kundërt HTTPS (nëse përdorni SSL) për aplikacionin Wiki.js.
Ekzekutoni sudo vim /usr/local/etc/nginx/wiki.js.confdhe plotësoni atë me konfigurimin bazë të përfaqësuesit të kundërt më poshtë.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name wiki.example.com;
charset utf-8;
client_max_body_size 50M;
# 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;
}
}
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 një port tjetër përveç 3000. Wiki.js përdor portin si 3000parazgjedhje. Ruani skedarin dhe dilni me :+ W+Q
Tani duhet të përfshijmë wiki.js.confskedarin në nginx.confskedarin kryesor .
Ekzekutoni sudo vim /usr/local/etc/nginx/nginx.confdhe shtoni rreshtin e mëposhtëm në http {}bllok.
include wiki.js.conf;
Kontrolloni konfigurimin.
sudo nginx -t
Rifresko Nginx.
sudo service nginx reload
Instaloni Wiki.js
Krijo një dosje të zbrazët rrënjësore të dokumentit ku do të instalohet Wiki.js.
sudo mkdir -p /usr/local/www/wiki.example.com
Navigoni te dosja rrënjë e dokumentit.
cd /usr/local/www/wiki.example.com
Ndrysho pronësinë e /usr/local/www/wiki.example.comdosjes në përdorues johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com
Nga /usr/local/www/wiki.example.comdosja, ekzekutoni komandat e mëposhtme për të shkarkuar dhe instaluar Wiki.js.
curl -sSo- https://wiki.js.org/install.sh | bash
VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable)
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar -f - -xz -C .
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar -f - -xz -C .
cp -n config.sample.yml config.yml
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.102
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:3000të konfiguruar Wiki.js. Nëse keni Nginx përpara Wiki.js, atëherë do të thotë që 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 dhe konfiguroni menaxherin e procesit PM2
Si parazgjedhje, Wiki.js nuk do të fillojë automatikisht pas një rindezjeje të sistemit. Për ta bërë atë të fillojë në nisje, duhet të instalojmë dhe konfigurojmë menaxherin e procesit PM2.
Instaloni PM2 globalisht nëpërmjet npm.
sudo npm install -g pm2
Kontrolloni versionin.
pm2 -v
# 3.2.2
Navigoni te dosja kryesore e dokumentit nëse nuk jeni tashmë atje dhe ndaloni Wiki.js.
cd /usr/local/www/wiki.example.com
node wiki stop
Filloni Wiki.js nëpërmjet PM2.
pm2 start server/index.js --name "Wiki.js"
Procesi i listës i menaxhuar nga PM2.
pm2 list
Thuaji PM2 të konfigurojë veten si një shërbim fillestar duke ekzekutuar:
pm2 startup
Më në fund, ruani konfigurimin aktual PM2 duke ekzekutuar komandën:
pm2 save
Shembulli juaj Wiki.js tani funksionon si një proces sfondi, duke përdorur PM2 si menaxherin e tij të procesit.