วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
NodeBBเป็นซอฟต์แวร์ฟอรัมที่ใช้ Node.js มันใช้ซ็อกเก็ตเว็บสำหรับการโต้ตอบแบบทันทีและการแจ้งเตือนแบบเรียลไทม์ รหัสที่มา NodeBB เป็นเจ้าภาพสาธารณะบนGithub คู่มือนี้จะแนะนำคุณเกี่ยวกับกระบวนการติดตั้ง NodeBB บนอินสแตนซ์ FreeBSD 12 Vultr ใหม่โดยใช้ Node.js, MongoDB เป็นฐานข้อมูล, Nginx เป็น reverse proxy และ Acme.sh สำหรับใบรับรอง SSL
NodeBB ต้องติดตั้งซอฟต์แวร์ต่อไปนี้:
A/ AAAAบันทึกการตั้งค่าตรวจสอบเวอร์ชั่น FreeBSD
uname -ro
# FreeBSD 12.0-RELEASE
ตรวจสอบให้แน่ใจว่าระบบ FreeBSD ของคุณทันสมัย
freebsd-update fetch install
pkg update && pkg upgrade -y
ติดตั้งแพ็คเกจที่จำเป็นหากไม่มีอยู่ในระบบของคุณ
pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips
สร้างบัญชีผู้ใช้ใหม่ด้วยชื่อผู้ใช้ที่คุณต้องการ (เราจะใช้johndoe)
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
รันvisudoคำสั่งและยกเลิกหมายเหตุ%wheel ALL=(ALL) ALLบรรทัดเพื่ออนุญาตให้สมาชิกของwheelกลุ่มเรียกใช้งานคำสั่งใด ๆ
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
suตอนนี้เปลี่ยนไปใช้ที่สร้างขึ้นใหม่ของคุณด้วย
su - johndoe
หมายเหตุ: แทนที่johndoeด้วยชื่อผู้ใช้ของคุณ
ตั้งค่าเขตเวลา
sudo tzsetup
NodeBB ขับเคลื่อนโดย Node.js ดังนั้นจึงจำเป็นต้องติดตั้ง แนะนำให้ทำการติดตั้งรุ่น LTS ปัจจุบันของ Node.js
ติดตั้ง Node.js และ npm
sudo pkg install -y node10 npm-node10
ตรวจสอบเวอร์ชั่น
node -v && npm -v
# v10.15.3
# 6.9.0
MongoDB เป็นฐานข้อมูลเริ่มต้นสำหรับ NodeBB
ติดตั้ง MongoDB
sudo pkg install -y mongodb40
ตรวจสอบเวอร์ชั่น
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6
เปิดใช้งานและเริ่ม MongoDB
sudo sysrc mongod_enable=yes
sudo service mongod start
สร้างฐานข้อมูลและผู้ใช้สำหรับ NodeBB
เชื่อมต่อกับ MongoDB ก่อน
mongo
สลับไปยังadminฐานข้อมูลในตัว
> use admin
สร้างผู้ใช้ที่เป็นผู้ดูแลระบบ
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
หมายเหตุ: แทนที่ตัวยึดตำแหน่ง<Enter a secure password>ด้วยรหัสผ่านที่คุณเลือก
nodebbเพิ่มฐานข้อมูลใหม่ที่เรียกว่า
> use nodebb
nodebbฐานข้อมูลจะถูกสร้างขึ้นและบริบทเปลี่ยนไป จากนั้นสร้างnodebbผู้ใช้ด้วยสิทธิ์ที่เหมาะสม
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
หมายเหตุ: อีกครั้งแทนที่ตัวยึดตำแหน่ง<Enter a secure password>ด้วยรหัสผ่านที่คุณเลือก
ออกจากเปลือก Mongo
> quit()
รีสตาร์ท MongoDB และให้แน่ใจว่าผู้ใช้ที่เป็นผู้ดูแลระบบที่สร้างขึ้นก่อนหน้านี้สามารถเชื่อมต่อได้
sudo service mongod restart
mongo -u admin -p your_password --authenticationDatabase=admin
ติดตั้ง Nginx
sudo pkg install -y nginx
ตรวจสอบเวอร์ชั่น
nginx -v
# nginx version: nginx/1.14.2
เปิดใช้งานและเริ่ม Nginx
sudo sysrc nginx_enable=yes
sudo service nginx start
NodeBB 4567โดยค่าเริ่มต้นทำงานบนพอร์ต เพื่อหลีกเลี่ยงการพิมพ์http://example.com:4567เราจะกำหนดค่า Nginx เป็น reverse proxy สำหรับแอปพลิเคชัน NodeBB คำขอทุกพอร์ต80หรือ443ถ้า SSL 4567ที่ใช้จะถูกส่งต่อไปยังท่าเรือ
รันsudo vim /usr/local/etc/nginx/nodebb.confและเติมด้วยการกำหนดค่าพร็อกซีย้อนกลับพื้นฐานด้านล่าง
server {
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
ในการกำหนดค่าข้างต้นอัปเดตserver_nameคำสั่งด้วยโดเมน / ชื่อโฮสต์ของคุณ
บันทึกไฟล์และออกด้วย:+ +WQ
ตอนนี้เราต้องรวมnodebb.confไว้ในnginx.confไฟล์หลัก
เรียกใช้sudo vim /usr/local/etc/nginx/nginx.confและเพิ่มบรรทัดต่อไปนี้ในhttp {}บล็อก
include nodebb.conf;
ตรวจสอบการกำหนดค่า
sudo nginx -t
โหลดซ้ำ Nginx
sudo service nginx reload
การรักษาความปลอดภัยฟอรัมของคุณด้วย 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
# v2.8.1
ได้รับอาร์เอสและ ECDSA forum.example.comใบรับรองสำหรับ
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength ec-256
หลังจากเรียกใช้คำสั่งข้างต้นใบรับรองและคีย์ของคุณจะอยู่ใน:
/etc/letsencrypt/forum.example.comอาร์เอส:/etc/letsencrypt/forum.example.com_eccECDSA:หลังจากได้รับใบรับรองจาก Let's Encrypt เราต้องกำหนดค่า Nginx เพื่อใช้งาน
รันsudo vim /usr/local/etc/nginx/nodebb.confอีกครั้งและกำหนดค่า Nginx เป็น HTTPS reverse proxy
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
ตรวจสอบการกำหนดค่า
sudo nginx -t
โหลดซ้ำ Nginx
sudo service nginx reload
สร้างไดเรกทอรีรากของเอกสาร
sudo mkdir -p /usr/local/www/nodebb
เปลี่ยนความเป็นเจ้าของของไดเรกทอรีไป/usr/local/www/nodebbjohndoe
sudo chown -R johndoe:johndoe /usr/local/www/nodebb
นำทางไปยังโฟลเดอร์รูทเอกสาร
cd /usr/local/www/nodebb
โคลน NodeBB ล่าสุดลงในโฟลเดอร์รูทเอกสาร
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .
เรียกใช้คำสั่งการตั้งค่า NodeBB และตอบคำถามแต่ละข้อเมื่อได้รับแจ้ง
./nodebb setup
หลังจากติดตั้ง NodeBB เสร็จแล้วให้เรียกใช้./nodebb startเพื่อเริ่มเซิร์ฟเวอร์ NodeBB ของคุณด้วยตนเอง
./nodebb start
หลังจากคำสั่งนี้คุณจะสามารถเข้าถึงอินสแตนซ์ฟอรัม NodeBB ของคุณในเว็บเบราว์เซอร์
เมื่อเริ่มต้นผ่าน./nodebb startNodeBB จะไม่เริ่มต้นโดยอัตโนมัติอีกครั้งเมื่อระบบรีบูต เพื่อหลีกเลี่ยงปัญหานี้เราจะต้องตั้งค่า NodeBB เป็นบริการระบบ
หากทำงานให้หยุด NodeBB
./nodebb stop
ติดตั้ง PM2 ทั่วโลก
sudo npm install pm2 -g
ตรวจสอบเวอร์ชั่น
pm2 -v
# 3.5.0
นำทางไปยังรูทเอกสาร NodeBB
cd /usr/local/www/nodebb
เริ่ม NodeBB ผ่าน PM2
pm2 start app.js
แสดงรายการกระบวนการ NodeBB
pm2 ls
ตรวจสอบระบบ init ที่มีอยู่
pm2 startup
คัดลอกและวาง ouput ของคำสั่งนี้ใน CLI เพื่อตั้งค่า hook เริ่มต้นของคุณ
บันทึกรายการกระบวนการของคุณ
pm2 save
แค่นั้นแหละ. อินสแตนซ์ NodeBB ของคุณเปิดใช้งานแล้ว
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true