Si të instaloni Wiki.js në Debian 9

Wiki.js është një aplikacion modern wiki falas dhe me burim të hapur i ndërtuar në Node.js, MongoDB, Git dhe Markdown. Kodi burimor i Wiki.js ndodhet publikisht në GitHub . Ky udhëzues do t'ju tregojë se si të instaloni Wiki.js në një shembull të ri të Debian 9 Vultr duke përdorur Node.js, MongoDB, PM2, Nginx, Git dhe Acme.sh.

Kërkesat

  • Node.js 6.9.0 ose më vonë
  • MongoDB 3.2 ose më vonë
  • Nginx
  • Git 2.7.4 ose më vonë
  • Një depo e përputhshme me Git (publik ose privat) ( opsionale )
  • Minimumi prej 768MB RAM
  • Emri i domenit me A/ AAAAkonfigurimin e regjistrimeve

Kontrolloni versionin e Debian.

lsb_release -ds
# Debian GNU/Linux 9.4 (stretch)

Sigurohuni që sistemi juaj të jetë i përditësuar.

apt update && apt upgrade -y

Instaloni paketat e nevojshme.

apt install -y build-essential apt-transport-https sudo curl wget dirmngr sudo

Krijoni një non-rootllogari të re përdoruesi me sudoakses dhe kaloni në të.

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

SHËNIM : Zëvendësojeni johndoeme emrin tuaj të përdoruesit.

Vendosni zonën kohore.

sudo dpkg-reconfigure tzdata

Instaloni Git

Instaloni Git në Debian.

sudo apt install -y git

Verifikoni versionin Git.

git --version
# git version 2.11.0

Instaloni Node.js

Instaloni Node.js duke përdorur depon e NodeSource APT për Node.js.

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

Kontrolloni versionet Node.js dhe npm.

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

Instaloni MongoDB

Wiki.js përdor MongoDB si një motor bazë të dhënash. Sipas kësaj, ne do të duhet të instalojmë MongoDB në serverin tonë. Ne do të përdorim depot zyrtare të MongoDB për instalim.

Instaloni MongoDB Community Edition.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt update
sudo apt install -y mongodb-org

Kontrolloni versionin.

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

Aktivizo dhe nis MongoDB.

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

Instaloni dhe konfiguroni Nginx

Rekomandohet shumë që të vendosni një ueb server standard përpara Wiki.js. Kjo siguron që ju të mund të përdorni veçori si SSL, uebsajte të shumta, memorie dhe më shumë. Ne do të përdorim Nginx në këtë tutorial, por çdo server tjetër do ta bëjë këtë, ju vetëm duhet ta konfiguroni atë siç duhet.

Instaloni 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/debian/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Kontrolloni versionin.

sudo nginx -v
# nginx version: nginx/1.15.0

Aktivizo dhe nis Nginx.

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

Konfiguro Nginx si një përfaqësues të kundërt HTTPose HTTPS(nëse përdorni SSL) për aplikacionin Wiki.js.

Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.confdhe plotësoni atë me konfigurimin bazë të përfaqësuesit të kundërt më poshtë.

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

}

E vetmja gjë që duhet të ndryshoni në konfigurimin e mësipërm është server_namedirektiva, dhe potencialisht proxy_passdirektiva nëse vendosni të konfiguroni një port tjetër përveç 3000. Wiki.js përdor portin si 3000parazgjedhje.

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Instaloni Acme.sh dhe merrni një certifikatë Let's Encrypt (opsionale)

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 the Acme.sh client. Acme.sh is a pure unix shell software 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 wiki.example.com.

# 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 

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

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

  • For RSA: /etc/letsencrypt/wiki.example.com directory.
  • Për ECC/ECDSA: /etc/letsencrypt/wiki.example.com_eccdrejtoria.

Pas marrjes së certifikatave nga Let's Encrypt, duhet të konfigurojmë Nginx për të përfituar prej tyre.

Ekzekutoni sudo vim /etc/nginx/conf.d/wiki.js.confpërsëri dhe konfiguroni Nginx si një HTTPSpërfaqësues të kundërt.

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/example.com.key;
    # ECDSA
    ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
    ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/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;
    }

}

Kontrolloni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Instaloni Wiki.js

Krijo një dosje të zbrazët rrënjësore të dokumentit ku duhet të instalohet Wiki.js.

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

Navigoni te dosja rrënjë e dokumentit.

cd /var/www/wiki.example.com

Ndrysho pronësinë e /var/www/wiki.example.comdosjes në përdorues johndoe.

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

Nga /var/www/wiki.example.comdosja, ekzekutoni komandën e mëposhtme për të shkarkuar dhe instaluar Wiki.js.

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

Ju mund të ekzekutoni komandën e mëposhtme për të parë versionin e instaluar aktualisht të Wiki.js.

node wiki --version
# 1.0.78

Pasi të përfundojë instalimi, do t'ju kërkohet të ekzekutoni magjistarin e konfigurimit.

Nisni magjistarin e konfigurimit duke ekzekutuar.

node wiki configure

Kjo do t'ju njoftojë për të lundruar për http://localhost:3000të konfiguruar Wiki.js. Nëse keni Nginx përpara Wiki.js, atëherë kjo do të thotë që ju mund të hapni emrin e domenit tuaj (p.sh. http://wiki.example.com) në vend që të shkoni te localhost.

Duke përdorur shfletuesin tuaj të internetit, lundroni http://wiki.example.comdhe ndiqni udhëzimet në ekran. Të gjitha cilësimet e futura gjatë magjistarit të konfigurimit ruhen në config.ymlskedar. Magjistari i konfigurimit do të nisë automatikisht Wiki.js për ju.

Konfiguro PM2

Si parazgjedhje, Wiki.js nuk do të fillojë automatikisht pas një rindezjeje të sistemit. Për ta bërë atë të fillojë në boot, ne duhet të konfigurojmë menaxherin e procesit PM2. PM2 vjen i bashkuar me Wiki.js si një modul lokal NPM, kështu që nuk kemi nevojë të instalojmë PM2 globalisht.

Thuaji PM2 të konfigurojë veten si një shërbim fillestar.

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

Më në fund, ruani konfigurimin aktual PM2.

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

Shembulli juaj Wiki.js ekzekutohet si një proces sfondi, duke përdorur PM2 si menaxherin e tij të procesit. Mund të rindizni sistemin operativ sudo rebootdhe të kontrolloni nëse Wiki.js fillon pas një rindezjeje.


Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Ky tutorial shpjegon se si të konfiguroni një server DNS duke përdorur Bind9 në Debian ose Ubuntu. Gjatë gjithë artikullit, zëvendësoni emrin e domain-it tuaj në përputhje me rrethanat. Në

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Në këtë artikull, ne do të shohim se si të përpiloni dhe instaloni Nginx mainline nga burimet zyrtare të Nginx me modulin PageSpeed, i cili ju lejon t

Si të instaloni Kanboard në Debian 9

Si të instaloni Kanboard në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Si të instaloni Gitea në Debian 9

Si të instaloni Gitea në Debian 9

Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga Git. Gitea është shkruar në Golang dhe është

Instaloni Lynis në Debian 8

Instaloni Lynis në Debian 8

Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë

Si të instaloni Thelia 2.3 në Debian 9

Si të instaloni Thelia 2.3 në Debian 9

Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i

Krijimi i një rrjeti të serverëve Minecraft me BungeeCord në Debian 8, Debian 9 ose CentOS 7

Krijimi i një rrjeti të serverëve Minecraft me BungeeCord në Debian 8, Debian 9 ose CentOS 7

Çfarë ju nevojitet një Vultr VPS me të paktën 1 GB RAM. Qasje SSH (me privilegje root/administrative). Hapi 1: Instalimi i BungeeCord Gjërat e para

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Golang është një gjuhë programimi e zhvilluar nga Google. Falë shkathtësisë, thjeshtësisë dhe besueshmërisë së tij, Golang është bërë një nga më të populluarit

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Nëse e keni harruar fjalëkalimin tuaj rrënjësor MySQL, mund ta rivendosni atë duke ndjekur hapat në këtë artikull. Procesi është mjaft i thjeshtë dhe funksionon në to

Vendosja e Counter Strike: Burimi në Debian

Vendosja e Counter Strike: Burimi në Debian

Në këtë udhëzues, ne do të konfigurojmë një server lojërash Counter Strike: Source në Debian 7. Këto komanda janë testuar në Debian 7, por ato gjithashtu duhet të funksionojnë

Si të instaloni Unturned 2.2.5 në Debian 8

Si të instaloni Unturned 2.2.5 në Debian 8

Në këtë udhëzues, do të mësoni se si të konfiguroni një server Unturned 2.2.5 në një Vultr VPS që ekzekuton Debian 8. Shënim: Ky është një version i modifikuar i Unturned që nuk

Si të instaloni Cachet në Debian 8

Si të instaloni Cachet në Debian 8

Në këtë tutorial, do të mësoni se si të instaloni Cachet në Debian 8. Cachet është një sistem i fuqishëm i faqeve të statusit me burim të hapur. Instalimi Ky tutorial po shkon

Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Hyrje Në këtë shkrim-up, ecni mirë se si të bëni kopje rezervë të bazave të të dhënave të shumta MySQL ose MariaDB që qëndrojnë në të njëjtën makinë duke përdorur një skedar bash të personalizuar

Vendosja e një Chroot në Debian

Vendosja e një Chroot në Debian

Ky artikull do t'ju mësojë se si të vendosni një burg chroot në Debian. Unë supozoj se po përdorni Debian 7.x. Nëse jeni duke ekzekutuar Debian 6 ose 8, kjo mund të funksionojë, por

Si të instaloni Reader Self 3.5 RSS Reader në një Debian 9 LAMP VPS

Si të instaloni Reader Self 3.5 RSS Reader në një Debian 9 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Reader Self 3.5 është një lexues i thjeshtë dhe fleksibël, falas dhe me burim të hapur, i vetë-strehuar lexues RSS dhe alternativë e Google Reader. Lexuesi Sel

Si të instaloni Backdrop CMS 1.8.0 në një Debian 9 LAMP VPS

Si të instaloni Backdrop CMS 1.8.0 në një Debian 9 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Sfondi CMS 1.8.0 është një Sistem i Menaxhimit të Përmbajtjes (CMS) i thjeshtë dhe fleksibël, i përshtatshëm për celularin, pa pagesë dhe me burim të hapur që na lejon

Si të instaloni SteamCMD në VPS-në tuaj

Si të instaloni SteamCMD në VPS-në tuaj

Në këtë tutorial ne do të instalojmë SteamCMD. SteamCMD mund të përdoret për të shkarkuar dhe instaluar shumë serverë lojërash Steam, të tilla si Counter-Strike: Global Offensiv

Përditësoni Python në Debian

Përditësoni Python në Debian

Siç mund ta dini, depot e Debian përditësohen shumë ngadalë. Në kohën e shkrimit, versionet e lëshimit të Python janë në 2.7.12 dhe 3.5.2, por në depo Debian 8

Si të konfiguroni Samba me Block Storage në Debian 9

Si të konfiguroni Samba me Block Storage në Debian 9

Samba është një zgjidhje me burim të hapur që i lejon përdoruesit të konfigurojnë skedarë të shpejtë dhe të sigurt dhe të printojnë shpërndarje. Në këtë artikull, unë do të mbuloj se si të konfiguroni zgjuarsinë Samba

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë