Kā instalēt Wiki.js uz FreeBSD 11

Wiki.js ir bezmaksas atvērtā pirmkoda moderna wiki lietotne, kas veidota uz Node.js, MongoDB, Git un Markdown. Wiki.js pirmkods ir publiski mitināts vietnē Github . Šajā rokasgrāmatā tiks parādīts, kā instalēt Wiki.js jaunā FreeBSD 11 Vultr instancē, izmantojot Node.js, MongoDB, PM2, Nginx, Git un Acme.sh.

Prasības

Prasības, lai palaistu Wiki.js, ir šādas:

  • Node.js versija 6.11.1 vai jaunāka versija
  • MongoDB versija 3.2 vai jaunāka
  • Git versija 2.7.4 vai jaunāka
  • Tīmekļa serveris, piemēram, Nginx, Apache, IIS, Caddy vai H2O. Šajā rokasgrāmatā tiks izmantots Nginx.
  • Ar Git saderīga repozitorijs (publisks vai privāts) Tas nav obligāts
  • Vismaz 512 MB RAM. Ir ļoti ieteicams izmantot mašīnu ar vismaz 1 GB RAM.
  • Iestatīts domēna nosaukums ar A/ AAAAierakstiem. Šajā rokasgrāmatā mēs izmantosim wiki.example.comkā domēna piemēru.

Pirms tu sāc

Pārbaudiet FreeBSD versiju.

uname -ro
# FreeBSD 11.2-RELEASE

Pārliecinieties, vai jūsu FreeBSD sistēma ir atjaunināta.

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

Instalējiet sudo, vim, unzip, wget, git, bash, un socatpakas, ja tie nav klāt jūsu sistēmā.

pkg install -y sudo vim unzip wget git bash socat

Izveidojiet jaunu lietotāja kontu ar vēlamo lietotājvārdu (mēs izmantosim 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!

Palaidiet visudokomandu un noņemiet komentāru no %wheel ALL=(ALL) ALLrindiņas, lai wheelgrupas dalībnieki varētu izpildīt jebkuru komandu.

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

Tagad pārslēdzieties uz jaunizveidoto lietotāju.

su - johndoe

PIEZĪME. Aizstāt johndoear savu lietotājvārdu.

Iestatiet laika joslu.

sudo tzsetup

Instalējiet Node.js

Wiki.js nepieciešama Node.js 6.11.1 vai jaunāka versija, tāpēc mums vispirms būs jāinstalē atbilstošā Node.js versija.

Instalējiet Node.js un NPM.

sudo pkg install -y node8 npm-node8

Pārbaudiet versijas.

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

Instalējiet MongoDB

Wiki.js izmanto MongoDB kā datu bāzes dzinēju.

Instalējiet MongoDB.

sudo pkg install -y mongodb36

Pārbaudiet versiju.

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

Iespējojiet un palaidiet MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

Instalējiet Acme.sh un iegūstiet sertifikātu Let's Encrypt ( pēc izvēles )

Wiki aizsardzība, izmantojot HTTPS, nav nepieciešama, taču tā ir laba prakse, lai nodrošinātu vietnes trafiku. Lai iegūtu SSL sertifikātu no Let's Encrypt, mēs izmantosim Acme.sh klientu. Acme.sh ir tīra unix apvalka programmatūra SSL sertifikātu iegūšanai no Let's Encrypt bez atkarības. Tas padara to ļoti vieglu salīdzinājumā ar dažiem citiem Acme protokola klientiem, kuru veiksmīgai darbībai ir nepieciešams daudz atkarību.

Lejupielādējiet un instalējiet 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 ~

Pārbaudiet acme.shversiju.

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

Iegūstiet RSA un ECDSA sertifikātus 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

Pēc iepriekš minēto komandu palaišanas jūsu sertifikāti un atslēgas atradīsies šādos direktorijos:

  • RSA: /etc/letsencrypt/wiki.example.com
  • ECC/ECDSA: /etc/letsencrypt/wiki.example.com_ecc

PIEZĪME. Neaizmirstiet aizstāt wiki.example.comar savu domēna nosaukumu.

Pēc sertifikātu iegūšanas no Let's Encrypt mums ir jākonfigurē Nginx, lai tos izmantotu.

Instalējiet un konfigurējiet Nginx

Wiki.js var darboties bez faktiskā tīmekļa servera, tomēr ir ļoti ieteicams tam priekšā ievietot standarta tīmekļa serveri. Tas nodrošina, ka varat izmantot tādas funkcijas kā SSL, vairākas vietnes, kešatmiņa un citas. Šajā apmācībā mēs izmantosim Nginx, taču to darīs jebkurš cits serveris, jums tas vienkārši ir pareizi jākonfigurē.

Instalējiet Nginx.

sudo pkg install -y nginx

Pārbaudiet versiju.

nginx -v
# nginx version: nginx/1.14.0

Iespējojiet un palaidiet Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Konfigurējiet Nginx kā HTTPS (ja izmantojat SSL) reverso starpniekserveri lietojumprogrammai Wiki.js.

Palaidiet sudo vim /usr/local/etc/nginx/wiki.js.confun aizpildiet to, izmantojot tālāk norādīto reversā starpniekservera pamata konfigurāciju.

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

}

Vienīgais, kas jāmaina iepriekš minētajā konfigurācijā, ir server_namedirektīva un, iespējams, arī proxy_passdirektīva, ja nolemjat konfigurēt citu portu, nevis 3000. Wiki.js 3000pēc noklusējuma izmanto portu . Saglabājiet failu un izejiet ar :+ W+Q

Tagad mums ir jāiekļauj wiki.js.conffails galvenajā nginx.conffailā.

Palaidiet sudo vim /usr/local/etc/nginx/nginx.confun pievienojiet http {}blokam šādu rindu .

include wiki.js.conf;

Pārbaudiet konfigurāciju.

sudo nginx -t

Pārlādēt Nginx.

sudo service nginx reload

Instalējiet Wiki.js

Izveidojiet tukšu dokumenta saknes mapi, kurā tiks instalēts Wiki.js.

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

Pārejiet uz dokumenta saknes mapi.

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

Mainīt /usr/local/www/wiki.example.commapes īpašumtiesības uz lietotāju johndoe.

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

No /usr/local/www/wiki.example.commapes palaidiet tālāk norādītās komandas, lai lejupielādētu un instalētu 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

Varat palaist šo komandu, lai skatītu pašlaik instalēto Wiki.js versiju.

node wiki --version
# 1.0.102

Kad instalēšana būs pabeigta, jums tiks piedāvāts palaist konfigurācijas vedni.

Palaidiet konfigurācijas vedni.

node wiki configure

Tas jums paziņos, lai pārietu uz http://localhost:3000vietni, lai konfigurētu Wiki.js. Ja jums ir Nginx pirms Wiki.js, tas nozīmē, ka varat atvērt savu domēna nosaukumu (piemēram, http://wiki.example.com), nevis doties uz localhost.

Izmantojot tīmekļa pārlūkprogrammu, dodieties uz http://wiki.example.comun izpildiet ekrānā redzamos norādījumus. Visi konfigurācijas vedņa laikā ievadītie iestatījumi tiek saglabāti config.ymlfailā. Konfigurācijas vednis automātiski startēs Wiki.js jūsu vietā.

Instalējiet un iestatiet PM2 procesa pārvaldnieku

Pēc noklusējuma Wiki.js nesāksies automātiski pēc sistēmas atsāknēšanas. Lai to sāktu sāknēšanas laikā, mums ir jāinstalē un jāiestata PM2 procesa pārvaldnieks.

Instalējiet PM2 globāli, izmantojot npm.

sudo npm install -g pm2

Pārbaudiet versiju.

pm2 -v
# 3.2.2

Dodieties uz sava dokumenta saknes mapi, ja vēl neesat tur, un apturiet Wiki.js.

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

Palaidiet Wiki.js, izmantojot PM2.

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

Saraksta process, ko pārvalda PM2.

pm2 list

Pastāstiet PM2 konfigurēt sevi kā startēšanas pakalpojumu, izpildot:

pm2 startup

Visbeidzot, saglabājiet pašreizējo PM2 konfigurāciju, izpildot komandu:

pm2 save

Jūsu Wiki.js instance tagad darbojas kā fona process, izmantojot PM2 kā procesa pārvaldnieku.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk