Како инсталирати Вики.јс на ФрееБСД 11

Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавно хостован на Гитхуб-у . Овај водич ће вам показати како да инсталирате Вики.јс на нову ФрееБСД 11 Вултр инстанцу користећи Ноде.јс, МонгоДБ, ПМ2, Нгинк, Гит и Ацме.сх.

Захтеви

Захтеви за покретање Вики.јс су следећи:

  • Ноде.јс верзија 6.11.1 или новија
  • МонгоДБ верзија 3.2 или новија
  • Гит верзија 2.7.4 или новија
  • Веб сервер као што је Нгинк, Апацхе, ИИС, Цадди или Х2О. Овај водич ће користити Нгинк.
  • Гит усаглашено спремиште (јавно или приватно) Ово је опционо
  • Најмање 512 МБ РАМ-а. Веома је препоручљиво користити машину са најмање 1 ГБ РАМ-а.
  • Име домена са A/ AAAAпостављеним записима. У овом водичу ћемо користити wiki.example.comкао пример домена.

Пре него што почнете

Проверите верзију ФрееБСД-а.

uname -ro
# FreeBSD 11.2-RELEASE

Уверите се да је ваш ФрееБСД систем ажуриран.

freebsd-update fetch install
pkg update && pkg upgrade -y

Инсталирајте sudo, vim, unzip, wget, git, bashи socatпакете ако нису присутни на вашем систему.

pkg install -y sudo vim unzip wget git bash socat

Креирајте нови кориснички налог са жељеним корисничким именом (користићемо 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!

Покрените visudoкоманду и скините коментар са %wheel ALL=(ALL) ALLлиније да бисте омогућили члановима wheelгрупе да изврше било коју команду.

# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL

Сада пређите на свог новокреираног корисника.

su - johndoe

НАПОМЕНА: Замените johndoeсвојим корисничким именом.

Подесите временску зону.

sudo tzsetup

Инсталирајте Ноде.јс

Вики.јс захтева Ноде.јс 6.11.1 или новију верзију, тако да ћемо прво морати да инсталирамо одговарајућу верзију Ноде.јс.

Инсталирајте Ноде.јс и НПМ.

sudo pkg install -y node8 npm-node8

Проверите верзије.

node -v && npm -v
# v8.12.0
# 6.4.1

Инсталирајте МонгоДБ

Вики.јс користи МонгоДБ као механизам за базе података.

Инсталирајте МонгоДБ.

sudo pkg install -y mongodb36

Проверите верзију.

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6

Омогућите и покрените МонгоДБ.

sudo sysrc mongod_enable=yes
sudo service mongod start

Инсталирајте Ацме.сх и набавите Лет'с Енцрипт сертификат ( опционо )

Обезбеђивање вики-ја помоћу ХТТПС-а није неопходно, али је добра пракса да обезбедите саобраћај на сајту. Да бисмо добили ССЛ сертификат од Лет'с Енцрипт, користићемо Ацме.сх клијент. Ацме.сх је чиста уникс схелл софтвер за добијање ССЛ сертификата од Лет'с Енцрипт са нула зависности. То га чини веома лаганим у поређењу са неким другим клијентима Ацме протокола који захтевају много зависности да би се успешно покренули.

Преузмите и инсталирајте Ацме.сх.

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 ~

Проверите acme.shверзију.

/etc/letsencrypt/acme.sh --version
# v2.8.0

Набавите РСА и ЕЦДСА сертификате за 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

Након покретања горњих команди, ваши сертификати и кључеви ће бити у следећим директоријумима:

  • РСА: /etc/letsencrypt/wiki.example.com
  • ЕЦЦ/ЕЦДСА: /etc/letsencrypt/wiki.example.com_ecc

НАПОМЕНА: Не заборавите да замените wiki.example.comсвојим именом домена.

Након добијања сертификата од Лет'с Енцрипт, морамо да конфигуришемо Нгинк да их искористи.

Инсталирајте и конфигуришите Нгинк

Вики.јс може да ради без икаквог стварног веб сервера, али се топло препоручује да се испред њега стави стандардни веб сервер. Ово осигурава да можете да користите функције као што су ССЛ, више веб локација, кеширање и друге. Користићемо Нгинк у овом водичу, али било који други сервер ће то учинити, само треба да га правилно конфигуришете.

Инсталирајте Нгинк.

sudo pkg install -y nginx

Проверите верзију.

nginx -v
# nginx version: nginx/1.14.0

Омогућите и покрените Нгинк.

sudo sysrc nginx_enable=yes
sudo service nginx start

Конфигуришите Нгинк као ХТТПС (ако користите ССЛ) обрнути прокси за апликацију Вики.јс.

Покрените sudo vim /usr/local/etc/nginx/wiki.js.confи попуните га основном конфигурацијом обрнутог проксија у наставку.

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;
  }

}

Једина ствар коју треба да промените у горњој конфигурацији је server_nameдиректива, а потенцијално и proxy_passдиректива ако одлучите да конфигуришете неки порт који није 3000. Вики.јс подразумевано користи порт 3000. Сачувајте датотеку и изађите са :+ W+Q

Сада морамо да укључимо wiki.js.confдатотеку у главну nginx.confдатотеку.

Покрените sudo vim /usr/local/etc/nginx/nginx.confи додајте следећу линију у http {}блок.

include wiki.js.conf;

Проверите конфигурацију.

sudo nginx -t

Поново учитај Нгинк.

sudo service nginx reload

Инсталирајте Вики.јс

Направите празан основни фолдер документа у који ће бити инсталиран Вики.јс.

sudo mkdir -p /usr/local/www/wiki.example.com

Идите до коренске фасцикле документа.

cd /usr/local/www/wiki.example.com

Промените власништво над /usr/local/www/wiki.example.comфолдером на корисника johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com

Из /usr/local/www/wiki.example.comфасцикле покрените следеће команде да бисте преузели и инсталирали Вики.јс.

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

Можете покренути следећу команду да бисте видели тренутно инсталирану верзију Вики.јс.

node wiki --version
# 1.0.102

Када се инсталација заврши, од вас ће бити затражено да покренете чаробњак за конфигурацију.

Покрените чаробњак за конфигурацију покретањем.

node wiki configure

Ово ће вас обавестити да одете до да http://localhost:3000бисте конфигурисали Вики.јс. Ако имате Нгинк испред Вики.јс, онда то значи да можете отворити име свог домена (нпр. http://wiki.example.com) уместо да идете на лоцалхост.

Користећи веб прегледач, идите до http://wiki.example.comи пратите упутства на екрану. Сва подешавања унета током конфигурационог чаробњака се чувају у config.ymlдатотеци. Чаробњак за конфигурацију ће аутоматски покренути Вики.јс уместо вас.

Инсталирајте и подесите ПМ2 менаџер процеса

Подразумевано, Вики.јс се неће аутоматски покренути након поновног покретања система. Да би се покренуо при покретању, морамо да инсталирамо и подесимо ПМ2 менаџер процеса.

Инсталирајте ПМ2 глобално преко npm.

sudo npm install -g pm2

Проверите верзију.

pm2 -v
# 3.2.2

Идите до основног фолдера документа ако већ нисте тамо и зауставите Вики.јс.

cd /usr/local/www/wiki.example.com
node wiki stop

Покрените Вики.јс преко ПМ2.

pm2 start server/index.js --name "Wiki.js"

Процес листе којим управља ПМ2.

pm2 list

Реците ПМ2 да се конфигурише као сервис за покретање тако што ће покренути:

pm2 startup

Коначно, сачувајте тренутну ПМ2 конфигурацију тако што ћете покренути наредбу:

pm2 save

Ваша Вики.јс инстанца сада ради као позадински процес, користећи ПМ2 као менаџер процеса.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више