Kaip įdiegti Wiki.js „CentOS 7“.

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 . Šiame vadove bus parodyta, kaip įdiegti Wiki.js naujame CentOS 7 Vultr egzemplioriuje naudojant Node.js, MongoDB, PM2, Nginx, Git ir Acme.sh.

Reikalavimai

Reikalavimai norint paleisti Wiki.js yra šie:

  • Node.js 6.9.0 arba naujesnė versija
  • MongoDB 3.2 ar naujesnė versija
  • Nginx
  • Git versija 2.7.4 arba naujesnė
  • Su Git suderinama saugykla (vieša arba privati) ( neprivaloma )
  • Mažiausiai 768 MB RAM
  • Domeno vardas su nustatyta A/ AAAAįrašais

Patikrinkite CentOS versiją.

cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

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

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

PASTABA : pakeiskite johndoesavo vartotojo vardu .

Nustatykite laiko juostą.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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

sudo yum update -y

Įdiekite reikiamus paketus, kad užbaigtumėte šią mokymo programą.

sudo yum install -y wget curl vim zip unzip bash-completion

Išjungti SELinux ir ugniasienę.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Įgalinkite EPEL saugyklą.

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Įdiekite Git

„CentOS“ saugyklose yra labai pasenusi „Git“ versija, todėl turėsime sukurti „Git“ iš šaltinio.

Įdiekite „Git“ sukurdami jį iš šaltinio kodo.

# 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

Patikrinkite versiją.

git --version
# git version 2.17.1

Įdiekite Node.js

Wiki.js reikalinga Node.js 6.9.0 arba naujesnė versija, todėl pirmiausia turėsime įdiegti Node.js.

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

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs

Patikrinkite Node.js ir NPM versijas.

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

Įdiekite MongoDB

Wiki.js naudoja MongoDB kaip duomenų bazės variklį. Naudosime oficialias „ MongoDB“ saugyklas , kuriose yra naujausių pagrindinių ir mažesnių „MongoDB“ leidimų.

Įdiekite „MongoDB Community Edition“.

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

Patikrinkite versiją.

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

Įgalinkite ir paleiskite MongoDB.

sudo systemctl enable mongod.service
sudo systemctl start mongod.service

Įdiekite ir sukonfigūruokite „Nginx“.

Labai rekomenduojama prieš Wiki.js įdėti standartinį žiniatinklio serverį. Tai užtikrina, kad galite naudoti tokias funkcijas kaip SSL, kelios svetainės, talpyklos kaupimas ir kt.

Įdiekite „Nginx“.

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

Patikrinkite versiją.

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 „Wiki.js“ HTTParba HTTPSatvirkštinį 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 sukonfigūruoti bet kurį kitą prievadą nei 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, 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 grynas UNIX apvalkalo scenarijus, skirtas gauti SSL sertifikatus iš Let's Encrypt be jokių priklausomybių. Dėl to jis 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 versiją.

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

Gaukite savo domeno / 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 š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.

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ę į naudotoją 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 pereiti prie http://localhost:3000Wiki.js konfigūravimo. 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, kurie buvo įvesti per konfigūracijos vedlį, buvo išsaugoti config.ymlfaile. Konfigūracijos vedlys automatiškai paleis Wiki.js už jus.

Nustatykite PM2

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

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ą vykdydami komandą.

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

Jūsų Wiki.js egzempliorius veikia kaip foninis procesas, naudojant PM2 kaip proceso tvarkyklę. Galite iš naujo paleisti savo OS naudodami sudo rebootir užtikrinti, kad Wiki.js būtų paleistas po perkrovimo.


Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

Leidžia šifruoti „cPanel“.

Leidžia šifruoti „cPanel“.

„Lets Encrypt“ yra sertifikatų institucija, skirta nemokamai teikti SSL sertifikatus. cPanel sukūrė tvarkingą integraciją, kad jūs ir jūsų klientas

Kaip įdiegti „Concrete5“ „CentOS 7“.

Kaip įdiegti „Concrete5“ „CentOS 7“.

Naudojate kitą sistemą? Concrete5 yra atvirojo kodo TVS, kuri siūlo daug išskirtinių ir naudingų funkcijų, padedančių redaktoriams lengvai sukurti turinį

Kaip įdiegti apžvalgos lentą „CentOS 7“.

Kaip įdiegti apžvalgos lentą „CentOS 7“.

Naudojate kitą sistemą? „Review Board“ yra nemokamas atvirojo kodo įrankis, skirtas šaltinio kodui, dokumentacijai, vaizdams ir daugeliui kitų peržiūrėti. Tai internetinė programinė įranga

Nustatykite HTTP autentifikavimą naudodami „Nginx“ „CentOS 7“.

Nustatykite HTTP autentifikavimą naudodami „Nginx“ „CentOS 7“.

Šiame vadove sužinosite, kaip nustatyti HTTP autentifikavimą Nginx žiniatinklio serveriui, kuriame veikia CentOS 7. Reikalavimai Norėdami pradėti, jums reikės

Kaip įdiegti YOURLS „CentOS 7“.

Kaip įdiegti YOURLS „CentOS 7“.

YOURLS (Your Own URL Shortener) yra atvirojo kodo URL sutrumpinimo ir duomenų analizės programa. Šiame straipsnyje apžvelgsime diegimo procesą

Kaip įdiegti ir konfigūruoti „ArangoDB“ „CentOS 7“.

Kaip įdiegti ir konfigūruoti „ArangoDB“ „CentOS 7“.

Naudojate kitą sistemą? Įvadas ArangoDB yra atvirojo kodo NoSQL duomenų bazė su lanksčiu duomenų modeliu dokumentams, grafikams ir raktų reikšmėms. tai yra

Etckeeper naudojimas versijai valdyti /etc

Etckeeper naudojimas versijai valdyti /etc

Įvadas Katalogas /etc/ vaidina lemiamą vaidmenį veikiant Linux sistemai. Taip yra todėl, kad beveik visos sistemos konfigūracijos

Kodėl turėtumėte naudoti SSHFS? Kaip prijungti nuotolinę failų sistemą su SSHFS „CentOS 6“.

Kodėl turėtumėte naudoti SSHFS? Kaip prijungti nuotolinę failų sistemą su SSHFS „CentOS 6“.

Daugelis sistemos administratorių valdo didelius serverių kiekius. Kai failus reikia pasiekti skirtinguose serveriuose, prisijungiant prie kiekvieno atskirai apytiksliai

„Half Life 2“ serverio nustatymas „CentOS 6“.

„Half Life 2“ serverio nustatymas „CentOS 6“.

Ši pamoka apims Half Life 2 žaidimų serverio diegimą CentOS 6 sistemoje. 1 veiksmas: būtinų sąlygų įdiegimas Norėdami nustatyti ou

Kaip įdiegti „Laravel GitScrum“ „CentOS 7“.

Kaip įdiegti „Laravel GitScrum“ „CentOS 7“.

Laravel GitScrum arba GitScrum yra atvirojo kodo produktyvumo įrankis, skirtas padėti kūrimo komandoms įgyvendinti Scrum metodiką panašiai

Kaip įdiegti „PowerDNS“ „CentOS“.

Kaip įdiegti „PowerDNS“ „CentOS“.

Įvadas Šiame „Vultr“ vadove sužinosite, kaip įdiegti „PowerDNS“. PowerDNS yra programa, skirta paleisti savo vardų serverius. Tai labai naudinga, kai

Įdiekite „Wordpress“ naudodami „Apache“, PHP ir „MySQL“ (automatinis paleisties scenarijus)

Įdiekite „Wordpress“ naudodami „Apache“, PHP ir „MySQL“ (automatinis paleisties scenarijus)

Galite nukopijuoti ir įklijuoti šį bash scenarijų į Vultr valdymo skydelio paleisties scenarijaus sritį. Jis įdiegs visus reikalingus paketus į ru

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į