Kaip įdiegti Wiki.js FreeBSD 11

Wiki.js yra nemokama atvirojo kodo moderni wiki programa, sukurta naudojant Node.js, MongoDB, Git ir Markdown. Wiki.js šaltinio kodas viešai priglobtas Github . Šis vadovas parodys, kaip įdiegti Wiki.js naujame FreeBSD 11 Vultr egzemplioriuje naudojant Node.js, MongoDB, PM2, Nginx, Git ir Acme.sh.

Reikalavimai

Reikalavimai norint paleisti Wiki.js yra tokie:

  • Node.js 6.11.1 arba naujesnė versija
  • MongoDB 3.2 ar naujesnė versija
  • Git versija 2.7.4 arba naujesnė
  • Žiniatinklio serveris, pvz., Nginx, Apache, IIS, Caddy arba H2O. Šiame vadove bus naudojamas Nginx.
  • Su Git suderinama saugykla (vieša arba privati) Tai neprivaloma
  • Mažiausiai 512 MB RAM. Labai rekomenduojama naudoti įrenginį, kuriame yra bent 1 GB RAM.
  • Domeno vardas su nustatyta A/ AAAAįrašais. Šiame vadove naudosime wiki.example.comkaip pavyzdinį domeną.

Prieš tau pradedant

Patikrinkite FreeBSD versiją.

uname -ro
# FreeBSD 11.2-RELEASE

Įsitikinkite, kad jūsų FreeBSD sistema yra atnaujinta.

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

Įdiekite sudo, vim, unzip, wget, git, bashir socatpaketai, jei jų nėra jūsų sistemoje.

pkg install -y sudo vim unzip wget git bash socat

Sukurkite naują vartotojo paskyrą su pageidaujamu vartotojo vardu (naudosime 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!

Vykdykite visudokomandą ir panaikinkite %wheel ALL=(ALL) ALLeilutės komentarą, kad wheelgrupės nariai galėtų vykdyti bet kurią komandą.

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

Dabar pereikite prie naujai sukurto vartotojo.

su - johndoe

PASTABA: pakeiskite johndoesavo vartotojo vardu.

Nustatykite laiko juostą.

sudo tzsetup

Įdiekite Node.js

Wiki.js reikalinga Node.js 6.11.1 arba naujesnė versija, todėl pirmiausia turėsime įdiegti atitinkamą Node.js versiją.

Įdiekite Node.js ir NPM.

sudo pkg install -y node8 npm-node8

Patikrinkite versijas.

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

Įdiekite MongoDB

Wiki.js naudoja MongoDB kaip duomenų bazės variklį.

Įdiekite MongoDB.

sudo pkg install -y mongodb36

Patikrinkite versiją.

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

Įgalinkite ir paleiskite MongoDB.

sudo sysrc mongod_enable=yes
sudo service mongod start

Įdiekite Acme.sh ir gaukite Let's Encrypt sertifikatą ( neprivaloma )

Apsaugoti wiki naudojant HTTPS nebūtina, tačiau tai yra gera praktika siekiant apsaugoti svetainės srautą. Norėdami gauti SSL sertifikatą iš Let's Encrypt, naudosime Acme.sh klientą. Acme.sh yra gryna unix apvalkalo programinė įranga, skirta gauti SSL sertifikatus iš Let's Encrypt be jokių priklausomybių. Dėl to jis yra labai lengvas, palyginti su kai kuriais kitais „Acme“ protokolo klientais, kuriems norint sėkmingai veikti, reikia daug priklausomybių.

Atsisiųskite ir įdiekite 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 [email protected]
cd ~

Patikrinkite acme.shversiją.

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

Gaukite RSA ir ECDSA sertifikatus 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

Paleidus aukščiau pateiktas komandas, jūsų sertifikatai ir raktai bus šiuose kataloguose:

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

PASTABA: nepamirškite pakeisti wiki.example.comsavo domeno pavadinimu.

Gavę sertifikatus iš Let's Encrypt, turime sukonfigūruoti Nginx, kad galėtume jais pasinaudoti.

Įdiekite ir sukonfigūruokite „Nginx“.

Wiki.js gali veikti be jokio tikrojo žiniatinklio serverio, tačiau labai rekomenduojama priešais jį įdėti standartinį žiniatinklio serverį. Tai užtikrina, kad galite naudoti tokias funkcijas kaip SSL, kelios svetainės, talpyklos kaupimas ir kt. Šioje pamokoje naudosime Nginx, bet tiks bet kuris kitas serveris, tereikia jį tinkamai sukonfigūruoti.

Įdiekite „Nginx“.

sudo pkg install -y nginx

Patikrinkite versiją.

nginx -v
# nginx version: nginx/1.14.0

Įgalinkite ir paleiskite „Nginx“.

sudo sysrc nginx_enable=yes
sudo service nginx start

Konfigūruokite Nginx kaip HTTPS (jei naudojate SSL) atvirkštinį tarpinį serverį Wiki.js programai.

Paleiskite sudo vim /usr/local/etc/nginx/wiki.js.confir užpildykite jį naudodami toliau pateiktą pagrindinę atvirkštinio tarpinio serverio konfigūraciją.

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

}

Vienintelis dalykas, kurį reikia pakeisti aukščiau pateiktoje konfigūroje, yra server_namedirektyva ir galbūt proxy_passdirektyva, jei nuspręsite sukonfigūruoti kitą prievadą nei 3000. Wiki.js 3000pagal numatytuosius nustatymus naudoja prievadą . Išsaugokite failą ir išeikite su :+ W+Q

Dabar turime įtraukti wiki.js.conffailą į pagrindinį nginx.conffailą.

Vykdykite sudo vim /usr/local/etc/nginx/nginx.confir pridėkite šią eilutę prie http {}bloko.

include wiki.js.conf;

Patikrinkite konfigūraciją.

sudo nginx -t

Iš naujo įkelti Nginx.

sudo service nginx reload

Įdiekite Wiki.js

Sukurkite tuščią dokumento šakninį aplanką, kuriame bus įdiegtas Wiki.js.

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

Eikite į dokumento šakninį aplanką.

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

Pakeiskite /usr/local/www/wiki.example.comaplanko nuosavybės teisę į vartotoją johndoe.

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

/usr/local/www/wiki.example.comaplanko paleiskite šias komandas, kad atsisiųstumėte ir įdiegtumėte 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

Norėdami peržiūrėti šiuo metu įdiegtą Wiki.js versiją, galite paleisti šią komandą.

node wiki --version
# 1.0.102

Kai diegimas bus baigtas, būsite paraginti paleisti konfigūracijos vedlį.

Paleiskite konfigūracijos vedlį paleisdami.

node wiki configure

Tai jums praneš, kad reikia pereiti prie http://localhost:3000Wiki.js konfigūravimo. Jei turite Nginx prieš Wiki.js, tai reiškia, kad galite atidaryti savo domeno pavadinimą (pvz., http://wiki.example.com), o ne eiti į localhost.

Naudodami žiniatinklio naršyklę eikite į http://wiki.example.comir vykdykite ekrane pateikiamas instrukcijas. Visi konfigūracijos vedlio metu įvesti nustatymai išsaugomi config.ymlfaile. Konfigūracijos vedlys automatiškai paleis Wiki.js už jus.

Įdiekite ir nustatykite PM2 proceso tvarkyklę

Pagal numatytuosius nustatymus Wiki.js nebus paleistas automatiškai po sistemos perkrovimo. Kad jis prasidėtų įkrovos metu, turime įdiegti ir nustatyti PM2 proceso tvarkyklę.

Įdiekite PM2 visame pasaulyje per npm.

sudo npm install -g pm2

Patikrinkite versiją.

pm2 -v
# 3.2.2

Eikite į savo dokumento šakninį aplanką, jei ten dar nesate, ir sustabdykite Wiki.js.

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

Paleiskite Wiki.js per PM2.

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

PM2 valdomas sąrašo procesas.

pm2 list

Nurodykite PM2 konfigūruoti save kaip paleisties paslaugą, paleisdami:

pm2 startup

Galiausiai išsaugokite dabartinę PM2 konfigūraciją vykdydami komandą:

pm2 save

Jūsų Wiki.js egzempliorius dabar veikia kaip foninis procesas, naudojant PM2 kaip proceso tvarkyklę.


Kaip įdiegti Tiny Tiny RSS skaitytuvą „FreeBSD 11 FAMP VPS“.

Kaip įdiegti Tiny Tiny RSS skaitytuvą „FreeBSD 11 FAMP VPS“.

Naudojate kitą sistemą? Tiny Tiny RSS Reader yra nemokama ir atviro kodo savarankiškai priglobta žiniatinklio naujienų kanalo (RSS/Atom) skaitytuvas ir kaupiklis, skirtas

Kaip įdiegti Wiki.js FreeBSD 11

Kaip įdiegti Wiki.js FreeBSD 11

Naudojate kitą sistemą? Wiki.js yra nemokama atvirojo kodo moderni wiki programa, sukurta naudojant Node.js, MongoDB, Git ir Markdown. Wiki.js šaltinio kodas yra viešas

Kaip įdiegti Pagekit 1.0 TVS FreeBSD 11 FAMP VPS

Kaip įdiegti Pagekit 1.0 TVS FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? Pagekit 1.0 TVS yra graži, modulinė, išplečiama ir lengva, nemokama ir atviro kodo turinio valdymo sistema (TVS) su

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i

Nustatyti OpenBSD 5.5 64 bitų

Nustatyti OpenBSD 5.5 64 bitų

Šiame straipsnyje paaiškinama, kaip nustatyti OpenBSD 5.5 (64 bitų) KVM naudojant Vultr VPS. 1 veiksmas. Prisijunkite prie Vultr valdymo pulto. 2 veiksmas. Spustelėkite DEPLOY

Kaip įdiegti „osTicket“ „FreeBSD 12“.

Kaip įdiegti „osTicket“ „FreeBSD 12“.

Naudojate kitą sistemą? osTicket yra atvirojo kodo klientų aptarnavimo bilietų pardavimo sistema. „osTicket“ šaltinio kodas viešai priglobtas „Github“. Šioje pamokoje

How to Install Flarum Forum on FreeBSD 12

How to Install Flarum Forum on FreeBSD 12

Using a Different System? Flarum is a free and open-source next-generation forum software that makes online discussion fun. Flarum source code is hosted o

Kaip įjungti TLS 1.3 „Nginx“, naudojant „FreeBSD 12“.

Kaip įjungti TLS 1.3 „Nginx“, naudojant „FreeBSD 12“.

Naudojate kitą sistemą? TLS 1.3 yra Transport Layer Security (TLS) protokolo versija, kuri buvo paskelbta 2018 m. kaip siūlomas standartas RFC 8446.

Įdiekite „WordPress“ „OpenBSD 6.2“.

Įdiekite „WordPress“ „OpenBSD 6.2“.

Įvadas WordPress yra dominuojanti turinio valdymo sistema internete. Tai suteikia viską nuo tinklaraščių iki sudėtingų svetainių su dinamišku turiniu

Kaip įdiegti Subrion 4.1 TVS FreeBSD 11 FAMP VPS

Kaip įdiegti Subrion 4.1 TVS FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? Subrion 4.1 TVS yra galinga ir lanksti atvirojo kodo turinio valdymo sistema (TVS), kuri suteikia intuityvų ir aiškų turinį

Kaip sukonfigūruoti DJBDNS „FreeBSD“.

Kaip sukonfigūruoti DJBDNS „FreeBSD“.

Ši pamoka parodys, kaip sukonfigūruoti DNS paslaugą, kurią būtų lengva prižiūrėti, lengva konfigūruoti ir kuri paprastai yra saugesnė nei klasikinis BIN.

Kaip įdiegti Nginx, MySQL ir PHP (FEMP) Stack FreeBSD 12.0

Kaip įdiegti Nginx, MySQL ir PHP (FEMP) Stack FreeBSD 12.0

FEMP stekas, panašus į LEMP steką Linux sistemoje, yra atvirojo kodo programinės įrangos rinkinys, kuris paprastai įdiegiamas kartu, kad įgalintų FreeBS.

„MongoDB“ diegimas „FreeBSD 10“.

„MongoDB“ diegimas „FreeBSD 10“.

MongoDB yra pasaulinės klasės NoSQL duomenų bazė, kuri dažnai naudojama naujesnėse žiniatinklio programose. Jis teikia didelio našumo užklausas, dalijimąsi ir replikaciją

Kaip įdiegti Monica FreeBSD 12

Kaip įdiegti Monica FreeBSD 12

Naudojate kitą sistemą? Monica yra atviro kodo asmeninių santykių valdymo sistema. Pagalvokite apie tai kaip apie CRM (populiarų įrankį, kurį naudoja pardavimų komandos th

OpenBSD kaip elektroninės komercijos sprendimas su PrestaShop ir Apache

OpenBSD kaip elektroninės komercijos sprendimas su PrestaShop ir Apache

Įvadas Ši pamoka parodo OpenBSD kaip el. prekybos sprendimą naudojant PrestaShop ir Apache. Apache reikalinga, nes PrestaShop turi sudėtingą UR

„Fork CMS“ diegimas „FreeBSD 12“.

„Fork CMS“ diegimas „FreeBSD 12“.

Naudojate kitą sistemą? Fork yra atvirojo kodo TVS, parašyta PHP. „Forks“ šaltinio kodas yra „GitHub“. Šis vadovas parodys, kaip įdiegti Fork CM

Kaip įdiegti „Directus 6.4 CMS“ „FreeBSD 11 FAMP VPS“.

Kaip įdiegti „Directus 6.4 CMS“ „FreeBSD 11 FAMP VPS“.

Naudojate kitą sistemą? „Directus 6.4 CMS“ yra galinga ir lanksti, nemokama ir atvirojo kodo turinio valdymo sistema (TVS), kuri suteikia kūrėjams

FreeBSD saugumo padidinimas naudojant IPFW ir SSHGuard

FreeBSD saugumo padidinimas naudojant IPFW ir SSHGuard

Į VPS serverius dažnai nusitaiko įsibrovėliai. Įprastas atakų tipas rodomas sistemos žurnaluose kaip šimtai neteisėtų ssh prisijungimo bandymų. Nustatyti

Nustatyti httpd OpenBSD

Nustatyti httpd OpenBSD

Įvadas OpenBSD 5.6 pristatė naują demoną pavadinimu httpd, kuris palaiko CGI (per FastCGI) ir TLS. Norint įdiegti naują http, nereikia jokių papildomų darbų

„FreeBSD 10“ nustatykite „iRedMail“.

„FreeBSD 10“ nustatykite „iRedMail“.

Ši pamoka parodys, kaip įdiegti grupinę programą iRedMail naujai įdiegus FreeBSD 10. Turėtumėte naudoti serverį, turintį bent vieną gigabaitą.

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį