Захтеви
Инсталирајте Гит
Инсталирајте Ноде.јс
Инсталирајте МонгоДБ
Инсталирајте и конфигуришите Нгинк
Инсталирајте Ацме.сх и набавите Лет'с Енцрипт сертификат (опционо)
Инсталирајте Вики.јс
Подешавање ПМ2
Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавно хостован на ГитХуб-у . Овај водич ће вам показати како да инсталирате Вики.јс на нову инстанцу Дебиан 9 Вултр користећи Ноде.јс, МонгоДБ, ПМ2, Нгинк, Гит и Ацме.сх.
Захтеви
- Ноде.јс 6.9.0 или новији
- МонгоДБ 3.2 или новији
- Нгинк
- Гит 2.7.4 или новији
- Гит компатибилно спремиште (јавно или приватно) ( опционо )
- Минимум од
768MB RAM
- Име домена са
A/ AAAAпостављеним записима
Проверите верзију Дебиана.
lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)
Уверите се да је ваш систем ажуриран.
apt update && apt upgrade -y
Инсталирајте потребне пакете.
apt install -y build-essential apt-transport-https sudo curl wget dirmngr sudo
Креирајте нови non-rootкориснички налог са sudoприступом и пређите на њега.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
НАПОМЕНА : Замените johndoeсвојим корисничким именом.
Подесите временску зону.
sudo dpkg-reconfigure tzdata
Инсталирајте Гит
Инсталирајте Гит на Дебиан.
sudo apt install -y git
Проверите верзију Гит-а.
git --version
# git version 2.11.0
Инсталирајте Ноде.јс
Инсталирајте Ноде.јс користећи НодеСоурце АПТ спремиште за Ноде.јс.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
Проверите верзије Ноде.јс и нпм.
node -v && npm -v
# v8.11.2
# 5.6.0
Инсталирајте МонгоДБ
Вики.јс користи МонгоДБ као механизам за базе података. Према томе, мораћемо да инсталирамо МонгоДБ на наш сервер. За инсталацију ћемо користити званична МонгоДБ спремишта .
Инсталирајте МонгоДБ Цоммунити Едитион.
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
Проверите верзију.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.5
# db version v3.6.5
Омогућите и покрените МонгоДБ.
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
Веома је препоручљиво ставити стандардни веб сервер испред Вики.јс. Ово осигурава да можете да користите функције као што су ССЛ, више веб локација, кеширање и још много тога. Користићемо Нгинк у овом водичу, али било који други сервер ће то учинити, само треба да га правилно конфигуришете.
Инсталирајте Нгинк.
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
Проверите верзију.
sudo nginx -v
# nginx version: nginx/1.15.0
Омогућите и покрените Нгинк.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Конфигуришите Нгинк као HTTPили HTTPS(ако користите ССЛ) обрнути прокси за Вики.јс апликацију.
Покрените sudo vim /etc/nginx/conf.d/wiki.js.confи попуните га основном конфигурацијом обрнутог проксија у наставку.
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;
}
}
Једине ствари које треба да промените у горњој конфигурацији је server_nameдиректива, а потенцијално и proxy_passдиректива ако одлучите да конфигуришете неки други порт осим 3000. Вики.јс подразумевано користи порт 3000.
Проверите конфигурацију.
sudo nginx -t
Поново учитај Нгинк.
sudo systemctl reload nginx.service
Инсталирајте Ацме.сх и набавите Лет'с Енцрипт сертификат (опционо)
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 your_email@example.com
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 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
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.
- За ЕЦЦ/ЕЦДСА:
/etc/letsencrypt/wiki.example.com_eccименик.
Након добијања сертификата од Лет'с Енцрипт, морамо да конфигуришемо Нгинк да их искористи.
Покрените sudo vim /etc/nginx/conf.d/wiki.js.confпоново и конфигуришите Нгинк као HTTPSобрнути прокси.
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;
}
}
Проверите конфигурацију.
sudo nginx -t
Поново учитај Нгинк.
sudo systemctl reload nginx.service
Инсталирајте Вики.јс
Направите празан основни фолдер документа у који треба да се инсталира Вики.јс.
sudo mkdir -p /var/www/wiki.example.com
Идите до коренске фасцикле документа.
cd /var/www/wiki.example.com
Промените власништво над /var/www/wiki.example.comфолдером на корисника johndoe.
sudo chown -R johndoe:johndoe /var/www/wiki.example.com
Из /var/www/wiki.example.comфасцикле покрените следећу команду да преузмете и инсталирате Вики.јс.
curl -sSo- https://wiki.js.org/install.sh | bash
Можете покренути следећу команду да бисте видели тренутно инсталирану верзију Вики.јс.
node wiki --version
# 1.0.78
Када се инсталација заврши, од вас ће бити затражено да покренете чаробњак за конфигурацију.
Покрените чаробњак за конфигурацију покретањем.
node wiki configure
Ово ће вас обавестити да одете до да http://localhost:3000бисте конфигурисали Вики.јс. Ако имате Нгинк испред Вики.јс, онда то значи да можете да отворите име свог домена (нпр. http://wiki.example.com) уместо да идете на localhost.
Користећи веб прегледач, идите до http://wiki.example.comи пратите упутства на екрану. Сва подешавања унета током конфигурационог чаробњака се чувају у config.ymlдатотеци. Чаробњак за конфигурацију ће аутоматски покренути Вики.јс уместо вас.
Подешавање ПМ2
Подразумевано, Вики.јс се неће аутоматски покренути након поновног покретања система. Да бисмо покренули при покретању, морамо да подесимо ПМ2 менаџер процеса. ПМ2 долази у пакету са Вики.јс као локалним НПМ модулом, тако да не морамо да инсталирамо ПМ2 глобално.
Реците ПМ2 да се конфигурише као сервис за покретање.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup
На крају, сачувајте тренутну ПМ2 конфигурацију.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save
Ваша Вики.јс инстанца ради као позадински процес, користећи ПМ2 као менаџер процеса. Можете поново да покренете свој ОС помоћу sudo rebootи проверите да ли се Вики.јс покреће након поновног покретања.