Wiki.js:n asentaminen CentOS 7:ään

Wiki.js on ilmainen ja avoimen lähdekoodin moderni wikisovellus, joka on rakennettu Node.js:lle, MongoDB:lle, Gitille ja Markdownille. Wiki.js-lähdekoodia isännöidään julkisesti Githubissa . Tämä opas näyttää, kuinka Wiki.js asennetaan uuteen CentOS 7 Vultr -esiintymään Node.js:n, MongoDB:n, PM2:n, Nginxin, Gitin ja Acme.sh:n avulla.

Vaatimukset

Wiki.js:n suorittamisen vaatimukset ovat seuraavat:

  • Node.js-versio 6.9.0 tai uudempi
  • MongoDB versio 3.2 tai uudempi
  • Nginx
  • Git versio 2.7.4 tai uudempi
  • Git-yhteensopiva arkisto (julkinen tai yksityinen) ( valinnainen )
  • Vähintään 768 Mt RAM-muistia
  • Verkkotunnuksen nimi A/ AAAAtietueet määritetty

Tarkista CentOS-versio.

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

Luo uusi non-rootkäyttäjätili sudoja vaihda siihen.

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

HUOMAA : Korvaa johndoekäyttäjätunnuksellasi .

Aseta aikavyöhyke.

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

Varmista, että järjestelmäsi on ajan tasalla.

sudo yum update -y

Viimeistele tämä opetusohjelma asentamalla tarvittavat paketit.

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

Poista SELinux ja palomuuri käytöstä.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Ota EPEL-arkisto käyttöön.

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

Asenna Git

CentOS-arkistot tarjoavat erittäin vanhentuneen version Gitistä, joten meidän on rakennettava Git lähteestä.

Asenna Git rakentamalla se lähdekoodista.

# 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

Tarkista versio.

git --version
# git version 2.17.1

Asenna Node.js

Wiki.js vaatii Node.js 6.9.0:n tai uudemman, joten meidän on ensin asennettava Node.js.

Asenna Node.js käyttämällä Node.js:n NodeSource YUM -varastoa.

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

Tarkista Node.js- ja NPM-versiot.

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

Asenna MongoDB

Wiki.js käyttää MongoDB:tä tietokantamoottorina. Käytämme virallisia MongoDB-tietovarastoja , jotka sisältävät uusimmat suuret ja pienet MongoDB-julkaisut.

Asenna 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

Tarkista versio.

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

Ota käyttöön ja käynnistä MongoDB.

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

Asenna ja määritä Nginx

On erittäin suositeltavaa asettaa tavallinen verkkopalvelin Wiki.js:n eteen. Tämä varmistaa, että voit käyttää ominaisuuksia, kuten SSL:ää, useita verkkosivustoja, välimuistia ja paljon muuta.

Asenna 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

Tarkista versio.

nginx -v
# nginx version: nginx/1.15.0

Ota käyttöön ja käynnistä Nginx.

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

Määritä Nginx Wiki.js:n välityspalvelimeksi HTTPtai HTTPSkäänteiseksi välityspalvelimeksi.

Suorita sudo vim /etc/nginx/conf.d/wiki.js.confja täytä se alla olevilla käänteisen välityspalvelimen perusmäärityksellä.

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

}

Ainoa asia, jota sinun on muutettava yllä olevassa kokoonpanossa, on server_namedirektiivi ja mahdollisesti proxy_passdirektiivi, jos päätät määrittää jonkin muun portin kuin 3000. Wiki.js käyttää porttia 3000oletuksena.

Tarkista kokoonpano.

sudo nginx -t

Lataa Nginx uudelleen.

sudo systemctl reload nginx.service

Asenna Acme.sh-asiakas ja hanki Let's Encrypt -sertifikaatti (valinnainen)

Securing your wiki with HTTPS is not necessary, but it is a good practice to secure your site traffic. In order to obtain an SSL certificate from Let's Encrypt, we will use Acme.sh client. Acme.sh is a pure UNIX shell script for obtaining SSL certificates from Let's Encrypt with zero dependencies. That makes it very lightweight in comparison to some other Acme protocol clients that require a lot of dependencies to run successfully.

Download and install 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 ~

Check the version.

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

Obtain RSA and ECDSA certificates for your domain/hostname.

# 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 

After running the above commands, your certificates and keys will be in the following directories:

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

NOTE: Don't forget to replace wiki.example.com with your domain name.

Kun olemme saaneet sertifikaatit Let's Encryptiltä, ​​meidän on määritettävä Nginx hyödyntämään niitä.

Suorita sudo vim /etc/nginx/conf.d/wiki.js.confuudelleen ja määritä Nginx HTTPSkäänteiseksi välityspalvelimeksi.

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

}

Tarkista kokoonpano.

sudo nginx -t

Lataa Nginx uudelleen.

sudo systemctl reload nginx.service

Asenna Wiki.js

Luo tyhjä asiakirjan juurikansio, johon Wiki.js tulee asentaa.

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

Siirry asiakirjan juurikansioon.

cd /var/www/wiki.example.com

Vaihda /var/www/wiki.example.comkansion omistajuus käyttäjäksi johndoe.

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

Vuodesta /var/www/wiki.example.comkansioon, suorita seuraava komento lataa ja asentaa Wiki.js.

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

Voit suorittaa seuraavan komennon nähdäksesi tällä hetkellä asennetun Wiki.js-version.

node wiki --version
# 1.0.78

Kun asennus on valmis, sinua kehotetaan suorittamaan ohjattu määritystoiminto.

Käynnistä ohjattu määritystoiminto.

node wiki configure

Tämä kehottaa sinua navigoimaan http://localhost:3000Wiki.js:n määrittämistä varten. Jos sinulla on Nginx Wiki.js:n edessä, voit avata verkkotunnuksesi (esim. http://wiki.example.com) osoitteen sijaan localhost.

Siirry verkkoselaimella kohtaan http://wiki.example.comja seuraa näytön ohjeita. Kaikki ohjatun määritystoiminnon aikana tehdyt asetukset on tallennettu config.ymltiedostoon. Ohjattu määritystoiminto käynnistää automaattisesti Wiki.js:n puolestasi.

Asenna PM2

Oletusarvoisesti Wiki.js ei käynnisty automaattisesti järjestelmän uudelleenkäynnistyksen jälkeen. Jotta se käynnistyisi käynnistyksen yhteydessä, meidän on määritettävä PM2-prosessinhallinta.

Pyydä PM2:ta määrittämään itsensä käynnistyspalveluksi.

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

Tallenna lopuksi nykyinen PM2-kokoonpano suorittamalla komento.

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

Wiki.js-esiintymäsi toimii taustaprosessina ja käyttää PM2:ta prosessinhallinnanaan. Voit käynnistää käyttöjärjestelmän uudelleen sudo rebootja varmistaa, että Wiki.js käynnistyy uudelleenkäynnistyksen jälkeen.


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Kuinka asentaa Microweber CentOS 7:ään

Kuinka asentaa Microweber CentOS 7:ään

Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle

Mattermost 4.1:n asentaminen CentOS 7:ään

Mattermost 4.1:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin

Sallii salauksen Pleskissä

Sallii salauksen Pleskissä

Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti

Sallii salauksen cPanelissa

Sallii salauksen cPanelissa

Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi

Kuinka asentaa Concrete5 CentOS 7:ään

Kuinka asentaa Concrete5 CentOS 7:ään

Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.

Review Boardin asentaminen CentOS 7:ään

Review Boardin asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset

Kuinka asentaa YOURLS CentOS 7:ään

Kuinka asentaa YOURLS CentOS 7:ään

YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on

Etckeeperin käyttäminen /etc-version hallintaan

Etckeeperin käyttäminen /etc-version hallintaan

Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja