Kaip įdiegti Wiki.js Ubuntu 18.04

Wiki.js yra nemokama atvirojo kodo moderni wiki programa, sukurta naudojant Node.js , Git ir Markdown . Wiki.js šaltinio kodas viešai priglobtas Github . Šiame vadove bus parodyta, kaip įdiegti Wiki.js naujame Ubuntu 18.04 LTS Vultr egzemplioriuje naudojant Node.js, MongoDB, PM2, Nginx, Git ir Acme.sh.

Reikalavimai

Reikalavimai norint paleisti Wiki.js ir baigti šį vadovą:

  • Node.js 6.9.0 arba naujesnė versija
  • MongoDB 3.2 ar naujesnė versija
  • Nginx
  • Git versija 2.7.4 arba naujesnė
  • Mažiausiai 768 MB RAM
  • Domeno vardas su nustatyta A/ AAAAįrašais

Patikrinkite Ubuntu versiją.

lsb_release -ds
# Ubuntu 18.04.4 LTS

Sukurkite naują non-rootvartotojo paskyrą su sudoprieiga ir perjunkite į ją.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

PASTABA : pakeiskite johndoesavo vartotojo vardu.

Nustatykite laiko juostą.

sudo dpkg-reconfigure tzdata

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

sudo apt update && sudo apt upgrade -y

Įdiekite reikiamus paketus.

sudo apt install -y build-essential apt-transport-https

Įdiekite Git

Git 2.7.4 yra iš anksto įdiegtas Ubuntu serverio leidime, todėl mums jos diegti nereikia. Jei norite įdiegti naujesnę versiją, galite naudoti trečiųjų šalių PPA arba sudaryti naujausią Git leidimą iš šaltinio.

Galite patikrinti šiuo metu įdiegtą Git versiją paleisdami:

git --version
# git version 2.7.4

Jei norite įdiegti naujesnę „Git“ programinės įrangos versiją, galite naudoti šiuos veiksmus.

# 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

Patikrinkite Git versiją.

git --version
# git version 2.17.0

Įdiekite Node.js

Įdiekite Node.js naudodami NodeSource APT saugyklą, skirtą Node.js.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

Patikrinkite Node.js ir NPM versijas.

node -v && npm -v
# v8.11.2
# 5.6.0

Įdiekite MongoDB

Naudosime oficialias „ MongoDB“ saugyklas , kurios yra nuolat atnaujinamos naudojant naujausius pagrindinius ir nedidelius „MongoDB“ leidimus.

Įdiekite „MongoDB Community Edition“.

sudo apt install -y mongodb

Patikrinkite versiją.

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

Įdiekite ir sukonfigūruokite „Nginx“.

Įdiekite „Nginx“.

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

Patikrinkite versiją.

sudo nginx -v
# nginx version: nginx/1.15.0

Įgalinkite ir paleiskite „Nginx“.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Sukonfigūruokite Nginx kaip atvirkštinį Wiki.js programos tarpinį serverį.

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

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

}

Vienintelis dalykas, kurį reikia pakeisti aukščiau pateiktoje konfigūracijoje, yra server_namedirektyva ir galbūt proxy_passdirektyva, jei nuspręsite konfigūruoti bet kurį kitą prievadą 3000. Wiki.js 3000pagal numatytuosius nustatymus naudoja prievadą .

Patikrinkite konfigūraciją.

sudo nginx -t

Iš naujo įkelti Nginx.

sudo systemctl reload nginx.service

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

Apsaugoti savo wiki HTTPSnebūtina, bet tai užtikrins jūsų svetainės srautą. Acme.sh yra gryna unix apvalkalo programinė įranga, skirta gauti SSL sertifikatus iš Let's Encrypt be jokių 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 versiją.

/etc/letsencrypt/acme.sh --version

Gaukite wiki.example.comdomeno / pagrindinio kompiuterio vardo RSA ir ECDSA sertifikatus .

# 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 [email protected] --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 [email protected] --ocsp-must-staple --keylength ec-256 

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

  • RSA: /etc/letsencrypt/wiki.example.comkatalogas.
  • ECC/ECDSA: /etc/letsencrypt/wiki.example.com_ecckatalogas.

Gavę sertifikatus iš Let's Encrypt, turime sukonfigūruoti Nginx, kad juos naudotų.

Paleiskite sudo vim /etc/nginx/conf.d/wiki.js.confdar kartą ir sukonfigūruokite „Nginx“ kaip HTTPSatvirkštinį tarpinį serverį.

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

}

Patikrinkite konfigūraciją.

sudo nginx -t

Iš naujo įkelti Nginx.

sudo systemctl reload nginx.service

Įdiekite Wiki.js

Sukurkite tuščią dokumento šakninį aplanką, kuriame turėtų būti įdiegtas Wiki.js.

sudo mkdir -p /var/www/wiki.example.com

Eikite į dokumento šakninį aplanką.

cd /var/www/wiki.example.com

Pakeiskite /var/www/wiki.example.comaplanko nuosavybės teisę vartotojui johndoe.

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

/var/www/wiki.example.comaplanko paleiskite šią komandą, kad atsisiųstumėte ir įdiegtumėte Wiki.js.

curl -sSo- https://wiki.js.org/install.sh | bash

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

node wiki --version
# 1.0.78

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

Paleiskite konfigūracijos vedlį.

node wiki configure

Tai jums praneš, kad reikia naršyti http://localhost:3000ir sukonfigūruoti Wiki.js. Jei turite Nginx prieš Wiki.js, 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 nustatymai, įvesti per konfigūracijos vedlį, išsaugomi config.ymlfaile. Konfigūracijos vedlys automatiškai paleis Wiki.js už jus.

Įdiekite PM2

Pagal numatytuosius nustatymus Wiki.js nebus paleistas automatiškai po sistemos perkrovimo. Kad jis prasidėtų įkrovos metu, turime nustatyti PM2. PM2 pateikiamas kartu su Wiki.js kaip vietiniu NPM moduliu, todėl mums nereikia diegti PM2 visame pasaulyje.

Nurodykite PM2 konfigūruoti save kaip paleisties paslaugą.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup

Galiausiai išsaugokite esamą PM2 konfigūraciją.

/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

Wiki.js veikia kaip foninis procesas, naudojant PM2 kaip proceso tvarkyklę.


Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

PHP ir susiję paketai yra dažniausiai naudojami komponentai diegiant žiniatinklio serverį. Šiame straipsnyje sužinosime, kaip nustatyti PHP 7.0 arba PHP 7.1 o

Nustatykite savo DNS serverį Debian / Ubuntu

Nustatykite savo DNS serverį Debian / Ubuntu

Šiame vadove paaiškinama, kaip nustatyti DNS serverį naudojant Bind9 sistemoje Debian arba Ubuntu. Visame straipsnyje atitinkamai pakeiskite savo-domeno-vardas.com. Prie th

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Šiame straipsnyje pamatysime, kaip sukompiliuoti ir įdiegti pagrindinę Nginx liniją iš oficialių Nginx šaltinių naudojant PageSpeed ​​modulį, kuris leidžia

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti „Kanboard“ „Debian 9“.

Kaip įdiegti „Kanboard“ „Debian 9“.

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti Gitea Debian 9

Kaip įdiegti Gitea Debian 9

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra

Kaip įdiegti „Gitea“ Ubuntu 18.04

Kaip įdiegti „Gitea“ Ubuntu 18.04

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra

Įdiekite „Lynis“ „Debian 8“.

Įdiekite „Lynis“ „Debian 8“.

Įvadas Lynis yra nemokama atvirojo kodo sistemos audito priemonė, kurią naudoja daugelis sistemų administratorių, kad patikrintų vientisumą ir sustiprintų savo sistemas. aš

Kaip įdiegti Thelia 2.3 Debian 9

Kaip įdiegti Thelia 2.3 Debian 9

Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i

Kaip įdiegti „Microweber“ „CentOS 7“.

Kaip įdiegti „Microweber“ „CentOS 7“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

„Microweber“ diegimas „Ubuntu 16.04“.

„Microweber“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

Kaip įdiegti dotCMS Ubuntu 16.04

Kaip įdiegti dotCMS Ubuntu 16.04

Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia

„Docker CE“ diegimas „Ubuntu 16.04“.

„Docker CE“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? Docker yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Tai buvo parašyta populiarioje Go programoje

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Golang yra programavimo kalba, kurią sukūrė Google. Dėl savo universalumo, paprastumo ir patikimumo Golangas tapo vienu populiariausių

„Dirty Cow Exploit“ pataisymas „CentOS“.

„Dirty Cow Exploit“ pataisymas „CentOS“.

Kas yra purvina karvė (CVE-2016-5195)? „Dirty Cow“ pažeidžiamumas išnaudojamas „Linux“ apdorojant kodą. Tai leidžia neprivilegijuotam vartotojui gai

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į