วิธีการติดตั้ง Wiki.js บน Fedora 28

Wiki.jsเป็นแอพ wiki แบบโอเพนซอร์สและฟรีที่สร้างขึ้นบน Node.js, MongoDB, Git และ Markdown รหัสที่มา Wiki.js เป็นเจ้าภาพสาธารณะบนGithub คู่มือนี้จะแสดงวิธีการติดตั้ง Wiki.js บนอินสแตนซ์ Fedora 28 Vultr ใหม่โดยใช้ Node.js, MongoDB, PM2, Nginx, Git และ Acme.sh

ความต้องการ

ข้อกำหนดในการเรียกใช้ Wiki.js มีดังต่อไปนี้:

  • Node.js เวอร์ชั่น 6.9.0 หรือใหม่กว่า
  • MongoDB เวอร์ชั่น 3.2 ขึ้นไป
  • เว็บเซิร์ฟเวอร์เช่น Nginx, Apache, IIS, Caddy หรือ H2O คำแนะนำนี้จะใช้ Nginx
  • Git เวอร์ชั่น 2.7.4 หรือใหม่กว่า
  • พื้นที่เก็บข้อมูลที่สอดคล้องกับ Git (สาธารณะหรือส่วนตัว) นี่เป็นทางเลือก
  • RAM อย่างน้อย 768MB
  • ชื่อโดเมนที่มีA/ AAAAบันทึกการตั้งค่า

ก่อนที่จะเริ่ม

ตรวจสอบเวอร์ชั่นของระบบปฏิบัติการ

cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

สร้างบัญชีผู้ใช้ที่ไม่ใช่รูทใหม่ด้วยการเข้าถึง sudo และเปลี่ยนเป็นบัญชี

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

หมายเหตุ: แทนที่johndoeด้วยชื่อผู้ใช้ของคุณ

ตรวจสอบให้แน่ใจว่าระบบของคุณทันสมัย

sudo dnf check-upgrade || sudo dnf upgrade -y

ตั้งค่าเขตเวลา

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

ติดตั้งแพ็คเกจที่จำเป็นและมีประโยชน์

sudo dnf install -y wget vim unzip bash-completion git

เพื่อความง่ายให้ปิดการใช้งาน SELinux และไฟร์วอลล์

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

ติดตั้ง Node.js

Wiki.js ต้องการ Node.js 6.9.0 หรือใหม่กว่าดังนั้นเราจะต้องติดตั้ง Node.js ก่อน

ติดตั้ง Node.js.

sudo dnf install -y nodejs

ตรวจสอบรุ่น Node.js และ npm

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

ติดตั้ง MongoDB

Wiki.js ใช้ MongoDB เป็นเอ็นจิ้นฐานข้อมูล ตามนั้นเราจะต้องติดตั้ง MongoDB บนเซิร์ฟเวอร์ของเรา

ติดตั้ง MongoDB

sudo dnf install -y mongodb mongodb-server

ตรวจสอบเวอร์ชั่น MongoDB

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

เปิดใช้งานและเริ่ม MongoDB

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

ติดตั้งและกำหนดค่า Nginx

Wiki.js สามารถทำงานได้โดยไม่มีเว็บเซิร์ฟเวอร์ที่แท้จริง (เช่น Nginx หรือ Apache) อย่างไรก็ตามขอแนะนำอย่างยิ่งให้วางเว็บเซิร์ฟเวอร์มาตรฐานไว้หน้า Wiki.js สิ่งนี้ทำให้คุณมั่นใจได้ว่าสามารถใช้คุณสมบัติต่างๆเช่น SSL เว็บไซต์หลายแห่งแคชและอื่น ๆ เราจะใช้ Nginx ในบทช่วยสอนนี้ แต่เซิร์ฟเวอร์อื่น ๆ จะทำคุณเพียงแค่ต้องกำหนดค่าให้ถูกต้อง

ติดตั้ง Nginx

sudo dnf install -y nginx

ตรวจสอบเวอร์ชั่น

nginx -v
# nginx version: nginx/1.12.1

เปิดใช้งานและเริ่ม Nginx

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

กำหนดค่า Nginx เป็น a HTTPหรือHTTPS(ถ้าคุณใช้ SSL) reverse proxy สำหรับแอปพลิเคชั่น Wiki.js

รันsudo vim /etc/nginx/conf.d/wiki.js.confและเติมด้วยการกำหนดค่าพร็อกซีย้อนกลับพื้นฐานด้านล่าง

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

}

สิ่งเดียวที่คุณจำเป็นต้องมีการเปลี่ยนแปลงในการตั้งค่าดังกล่าวข้างต้นเป็นserver_nameคำสั่งและที่อาจproxy_passสั่งถ้าคุณตัดสินใจที่จะกำหนดค่าพอร์ตอื่น ๆ 3000กว่าบาง Wiki.js ใช้พอร์ต3000ตามค่าเริ่มต้น

ตรวจสอบการกำหนดค่า

sudo nginx -t

โหลดซ้ำ Nginx

sudo systemctl reload nginx.service

ติดตั้งไคลเอนต์ Acme.sh และรับ Let's Encrypt certificate (ตัวเลือก)

การรักษาความปลอดภัย wiki ของคุณHTTPSไม่จำเป็น แต่เป็นการปฏิบัติที่ดีในการรักษาความปลอดภัยของการรับส่งข้อมูลของเว็บไซต์ ในการรับใบรับรอง SSL จาก Let's Encrypt เราจะใช้ไคลเอ็นต์ Acme.sh Acme.sh เป็นซอฟต์แวร์เชลล์ unix บริสุทธิ์สำหรับการรับใบรับรอง SSL จาก Let's Encrypt โดยไม่ต้องพึ่งพาศูนย์ ซึ่งทำให้มีน้ำหนักเบามากเมื่อเปรียบเทียบกับไคลเอ็นต์โปรโตคอล ACME อื่นที่ต้องการการพึ่งพาจำนวนมากเพื่อให้ทำงานได้สำเร็จ

ดาวน์โหลดและติดตั้ง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 your_email@example.com
cd ~

ตรวจสอบacme.shเวอร์ชั่น

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

ได้รับอาร์เอสและ ECDSA 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 your_email@example.com --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 your_email@example.com --ocsp-must-staple --keylength ec-256 

หลังจากเรียกใช้คำสั่งข้างต้นใบรับรองและคีย์ของคุณจะอยู่ใน:

  • สำหรับ RSA: /etc/letsencrypt/wiki.example.com
  • สำหรับ ECC / ECDSA: /etc/letsencrypt/wiki.example.com_ecc

หมายเหตุ : อย่าลืมแทนที่wiki.example.comด้วยชื่อโดเมนของคุณ

หลังจากได้รับใบรับรองจาก Let's Encrypt เราต้องกำหนดค่า Nginx เพื่อใช้ประโยชน์จากพวกเขา

รันsudo vim /etc/nginx/conf.d/wiki.js.confอีกครั้งและกำหนดค่า Nginx เป็นHTTPSพร็อกซีย้อนกลับ

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

}

ตรวจสอบการกำหนดค่า

sudo nginx -t

โหลดซ้ำ Nginx

sudo systemctl reload nginx.service

ติดตั้ง Wiki.js

สร้างโฟลเดอร์รูทเอกสารเปล่าที่ควรติดตั้ง Wiki.js

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

นำทางไปยังโฟลเดอร์รูทเอกสาร

cd /var/www/wiki.example.com

เปลี่ยนความเป็นเจ้าของของโฟลเดอร์ให้กับผู้ใช้/var/www/wiki.example.comjohndoe

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

จาก/var/www/wiki.example.comโฟลเดอร์ให้รันคำสั่งต่อไปนี้เพื่อดาวน์โหลดและติดตั้ง Wiki.js

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

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อดู Wiki.jpg รุ่นที่ติดตั้งอยู่ในปัจจุบัน

node wiki --version
# 1.0.78

เมื่อการติดตั้งเสร็จสิ้นคุณจะได้รับแจ้งให้เรียกใช้ตัวช่วยสร้างการกำหนดค่า

เริ่มตัวช่วยสร้างการกำหนดค่าโดยการเรียกใช้

node wiki configure

นี่จะแจ้งให้คุณนำทางไปยังhttp://localhost:3000การกำหนดค่า Wiki.js ถ้าคุณมี Nginx ในด้านหน้าของ Wiki.js แล้วมันหมายความว่าคุณสามารถเปิดชื่อโดเมนของคุณ (เช่นhttp://wiki.example.com) localhostแทนที่จะไป

ใช้เว็บเบราว์เซอร์นำทางhttp://wiki.example.comและทำตามคำแนะนำบนหน้าจอ การตั้งค่าทั้งหมดที่ป้อนระหว่างตัวช่วยสร้างการกำหนดค่าจะถูกบันทึกไว้ในconfig.ymlไฟล์ วิซาร์ดการตั้งค่าจะเริ่มต้น Wiki.js ให้คุณโดยอัตโนมัติ

ติดตั้ง PM2

ตามค่าเริ่มต้น Wiki.js จะไม่เริ่มทำงานโดยอัตโนมัติหลังจากรีบูตระบบ เพื่อให้เริ่มต้นระบบได้เราจำเป็นต้องตั้งค่าตัวจัดการกระบวนการ PM2 PM2 มาพร้อมกับ Wiki.js เป็นโมดูล NPM ในระบบดังนั้นเราไม่จำเป็นต้องติดตั้ง PM2 ทั่วโลก

บอก PM2 เพื่อกำหนดค่าตัวเองเป็นบริการเริ่มต้นด้วยการเรียกใช้:

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

สุดท้ายให้บันทึกการกำหนดค่า PM2 ปัจจุบันโดยการรันคำสั่ง: /var/www/wiki.example.com/node_modules/pm2/bin/pm2 save

อินสแตนซ์ Wiki.js ของคุณทำงานเป็นกระบวนการพื้นหลังโดยใช้ PM2 เป็นผู้จัดการกระบวนการ

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true