Захтеви
Инсталирајте Гит
Инсталирајте Ноде.јс
Инсталирајте МонгоДБ
Инсталирајте и конфигуришите Нгинк
Инсталирајте Ацме.сх клијент и набавите Лет'с Енцрипт сертификат (опционо)
Инсталирајте Вики.јс
Инсталирајте ПМ2
Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс , Гит и Маркдовн . Вики.јс изворни код је јавно хостован на Гитхуб-у . Овај водич ће вам показати како да инсталирате Вики.јс на нову Убунту 18.04 ЛТС Вултр инстанцу користећи Ноде.јс, МонгоДБ, ПМ2, Нгинк, Гит и Ацме.сх.
Захтеви
Захтеви за покретање Вики.јс и завршетак овог водича су следећи:
- Ноде.јс верзија 6.9.0 или новија
- МонгоДБ верзија 3.2 или новија
- Нгинк
- Гит верзија 2.7.4 или новија
- Најмање 768 МБ РАМ-а
- Име домена са
A/ AAAAпостављеним записима
Проверите верзију Убунтуа.
lsb_release -ds
# Ubuntu 18.04.4 LTS
Креирајте нови non-rootкориснички налог са sudoприступом и пређите на њега.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
НАПОМЕНА : Замените johndoeсвојим корисничким именом.
Подесите временску зону.
sudo dpkg-reconfigure tzdata
Уверите се да је ваш систем ажуриран.
sudo apt update && sudo apt upgrade -y
Инсталирајте потребне пакете.
sudo apt install -y build-essential apt-transport-https
Инсталирајте Гит
Гит 2.7.4 долази унапред инсталиран на Убунту серверском издању, тако да не морамо да га инсталирамо. Ако желите да инстал��рате новију верзију, можете да користите ППА треће стране или да компајлирате најновије издање Гита из извора.
Можете да проверите тренутно инсталирану верзију Гит-а тако што ћете покренути:
git --version
# git version 2.7.4
Ако желите да инсталирате новију верзију Гит софтвера, можете користити следеће.
# 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
Проверите верзију Гита.
git --version
# git version 2.17.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 install -y mongodb
Проверите верзију.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3
Инсталирајте Нгинк.
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
Проверите верзију.
sudo nginx -v
# nginx version: nginx/1.15.0
Омогућите и покрените Нгинк.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Конфигуришите Нгинк као обрнути прокси за апликацију Вики.јс.
Покрените 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
Инсталирајте Ацме.сх клијент и набавите Лет'с Енцрипт сертификат (опционо)
Обезбеђивање вашег вики-ја помоћу HTTPSније неопходно, али ће обезбедити саобраћај на вашој веб локацији. Ацме.сх је чиста уникс схелл софтвер за добијање ССЛ сертификата од Лет'с Енцрипт са нула зависности.
Преузети и инсталирати Ацме.сх .
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 ~
Проверите верзију.
/etc/letsencrypt/acme.sh --version
Набавите РСА и ЕЦДСА сертификате за 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
Након покретања горњих команди, ваши сертификати и кључеви ће бити у:
- За РСА:
/etc/letsencrypt/wiki.example.comименик.
- За ЕЦЦ/ЕЦДСА:
/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/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;
}
}
Проверите конфигурацију.
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 као менаџер процеса.