Захтеви
Инсталирајте Гит
Инсталирајте Ноде.јс
Инсталирајте МонгоДБ
Инсталирајте и конфигуришите Нгинк
Инсталирајте Ацме.сх клијент и набавите Лет'с Енцрипт сертификат (опционо)
Инсталирајте Вики.јс
Подешавање ПМ2
Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавно хостован на Гитхуб-у . Овај водич ће вам показати како да инсталирате Вики.јс на нову инстанцу ЦентОС 7 Вултр користећи Ноде.јс, МонгоДБ, ПМ2, Нгинк, Гит и Ацме.сх.
Захтеви
Захтеви за покретање Вики.јс су следећи:
- Ноде.јс верзија 6.9.0 или новија
- МонгоДБ верзија 3.2 или новија
- Нгинк
- Гит верзија 2.7.4 или новија
- Гит компатибилно спремиште (јавно или приватно) ( опционо )
- Најмање 768 МБ РАМ-а
- Име домена са
A/ AAAAпостављеним записима
Проверите верзију ЦентОС-а.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Креирајте нови non-rootкориснички налог са sudoприступом и пређите на њега.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
НАПОМЕНА : Замените johndoeсвојим корисничким именом .
Подесите временску зону.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Уверите се да је ваш систем ажуриран.
sudo yum update -y
Инсталирајте неопходне пакете да бисте завршили овај водич.
sudo yum install -y wget curl vim zip unzip bash-completion
Онемогућите СЕЛинук и заштитни зид.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Омогућите ЕПЕЛ спремиште.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Инсталирајте Гит
ЦентОС спремишта пружају веома застарелу верзију Гита, тако да ћемо морати да направимо Гит из извора.
Инсталирајте Гит тако што ћете га направити из изворног кода.
# Remove existing git package if installed:
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.1.tar.gz && tar zxvf git-2.17.1.tar.gz
rm git-2.17.1.tar.gz
cd git-2.17.1
make configure
./configure
make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
# Confirm this command returns /usr/local/bin/git:
which git
Проверите верзију.
git --version
# git version 2.17.1
Инсталирајте Ноде.јс
Вики.јс захтева Ноде.јс 6.9.0 или новију верзију, тако да ћемо прво морати да инсталирамо Ноде.јс.
Инсталирајте Ноде.јс користећи НодеСоурце ИУМ спремиште за Ноде.јс.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs
Проверите верзије Ноде.јс и НПМ.
node -v && npm -v
# v8.11.2
# 5.6.0
Инсталирајте МонгоДБ
Вики.јс користи МонгоДБ као механизам за базе података. Користићемо званична МонгоДБ спремишта , која садрже најновија главна и мања МонгоДБ издања.
Инсталирајте МонгоДБ Цоммунити Едитион.
sudo vim /etc/yum.repos.d/mongodb-org-3.6.repo
# Copy/paste this
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
sudo yum 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
Веома је препоручљиво ставити стандардни веб сервер испред Вики.јс. Ово осигурава да можете да користите функције као што су ССЛ, више веб локација, кеширање и још много тога.
Инсталирајте Нгинк.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste this
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum install -y nginx
Проверите верзију.
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
Инсталирајте Ацме.сх клијент и набавите Лет'с Енцрипт сертификат (опционо)
Обезбеђивање вашег вики-ја помоћу 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
# v2.7.9
Набавите РСА и ЕЦДСА сертификате за свој домен/име хоста.
# 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
НАПОМЕНА : Не заборавите да замените wiki.example.comсвојим именом домена.
Након добијања сертификата од Лет'с Енцрипт, морамо да конфигуришемо Нгинк да их искористи.
Покрените 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 да се конфигурише као сервис за покретање.
/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и осигурати да се Вики.јс покрене након поновног покретања.