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

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

ความต้องการ

ข้อกำหนดในการเรียกใช้ Wiki.js และทำตามคู่มือนี้ให้เสร็จสิ้นมีดังนี้:

  • Node.js เวอร์ชั่น 6.9.0 หรือใหม่กว่า
  • MongoDB เวอร์ชั่น 3.2 ขึ้นไป
  • Nginx
  • Git เวอร์ชั่น 2.7.4 หรือใหม่กว่า
  • RAM ขั้นต่ำ 768MB
  • ชื่อโดเมนที่มีA/ AAAAบันทึกการตั้งค่า

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

lsb_release -ds
# Ubuntu 18.04.4 LTS

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

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

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

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

sudo dpkg-reconfigure tzdata

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

sudo apt update && sudo apt upgrade -y

ติดตั้งแพ็คเกจที่จำเป็น

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

ติดตั้ง Git

Git 2.7.4 มาติดตั้งไว้แล้วบน Ubuntu Server edition ดังนั้นเราไม่จำเป็นต้องติดตั้ง หากคุณต้องการติดตั้งเวอร์ชันที่ใหม่กว่าคุณสามารถใช้ PPA ของบุคคลที่สามหรือรวบรวม Git รุ่นล่าสุดจากแหล่งที่มา

คุณสามารถตรวจสอบเวอร์ชัน Git ที่ติดตั้งอยู่ในปัจจุบันได้โดยการเรียกใช้:

git --version
# git version 2.7.4

หากคุณต้องการติดตั้งซอฟต์แวร์ Git เวอร์ชันใหม่คุณสามารถใช้สิ่งต่อไปนี้

# 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

ตรวจสอบรุ่น Git

git --version
# git version 2.17.0

ติดตั้ง Node.js

ติดตั้ง Node.js โดยใช้ที่เก็บ NodeSource APT สำหรับ Node.js

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

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

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

ติดตั้ง MongoDB

เราจะใช้คลังเก็บ MongoDBอย่างเป็นทางการซึ่งได้รับการปรับปรุงให้ทันสมัยด้วยการเปิดตัว MongoDB รุ่นใหญ่และรุ่นรองล่าสุด

ติดตั้ง MongoDB Community Edition

sudo apt install -y mongodb

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

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

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

ติดตั้ง 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

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

sudo nginx -v
# nginx version: nginx/1.15.0

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

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

กำหนดค่า Nginx เป็น 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 (ตัวเลือก)

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

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

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

/etc/letsencrypt/acme.sh --version

รับใบรับรอง RSA และ 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ไดเรกทอรี

หลังจากได้รับใบรับรองจาก 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.js รุ่นที่ติดตั้งอยู่ในปัจจุบันคุณสามารถเรียกใช้คำสั่งต่อไปนี้

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