การติดตั้ง pfSense บน Vultr Cloud Server
pfSense เป็นเครื่องมือที่เหมาะสำหรับผู้ดูแลระบบที่ต้องการเพิ่มคุณสมบัติที่หลากหลายในเครือข่ายของพวกเขา มันเป็นหลักที่มาเปิด
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 [email protected]
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_ecc
ECDSA:หลังจากได้รับใบรับรองจาก 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/nodebb
johndoe
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 start
NodeBB จะไม่เริ่มต้นโดยอัตโนมัติอีกครั้งเมื่อระบบรีบูต เพื่อหลีกเลี่ยงปัญหานี้เราจะต้องตั้งค่า 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 ของคุณเปิดใช้งานแล้ว
pfSense เป็นเครื่องมือที่เหมาะสำหรับผู้ดูแลระบบที่ต้องการเพิ่มคุณสมบัติที่หลากหลายในเครือข่ายของพวกเขา มันเป็นหลักที่มาเปิด
ใช้ระบบที่แตกต่างกันอย่างไร LimeSurvey เป็นซอฟต์แวร์สำรวจโอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา LimeSurvey โฮสต์บน GitHub คู่มือนี้จะแสดงให้คุณเห็น
ข้อกำหนดความรู้พื้นฐานของ UNIX FreeBSD x64 พร้อมติดตั้ง Nginx ติดตั้งเครื่องมือคุณจะต้องใช้หลายโปรแกรมที่ไม่ได้จัดส่งมาพร้อมกับ FreeBSD Ru
ใช้ระบบที่แตกต่างกันอย่างไร Automad เป็นระบบจัดการเนื้อหาแบบโอเพนซอร์ซ (CMS) และเทมเพลตเอนจินที่เขียนด้วย PHP รหัสที่มา Automad ฉัน
ใช้ระบบที่แตกต่างกันอย่างไร Redaxscript 3.2 CMS เป็นระบบจัดการเนื้อหา (CMS) ที่ทันสมัยและมีน้ำหนักเบาฟรีและโอเพนซอร์สที่มี rocket-fas
ใช้ระบบที่แตกต่างกันอย่างไร X-Cart เป็นแพลตฟอร์มอีคอมเมิร์ซแบบโอเพ่นซอร์สที่มีความยืดหยุ่นสูงพร้อมคุณสมบัติและการผสานรวมมากมาย ซอร์สโค้ด X-Cart เป็นโฮสต์
บทนำ WordPress เป็นระบบจัดการเนื้อหาที่โดดเด่นบนอินเทอร์เน็ต มันเพิ่มประสิทธิภาพทุกอย่างตั้งแต่บล็อกไปจนถึงเว็บไซต์ที่ซับซ้อนพร้อมเนื้อหาแบบไดนามิก
Murmur เป็นซอฟต์แวร์เซิร์ฟเวอร์อย่างเป็นทางการสำหรับโปรโตคอลการสื่อสารด้วยเสียง Mumble การดำเนินการอย่างเป็นทางการนี้มีเสถียรภาพและมีประสิทธิภาพ คู่มือนี้จะ
บทช่วยสอนนี้จะแสดงวิธีปกป้องเซิร์ฟเวอร์ FreeBSD ของคุณโดยใช้ไฟร์วอลล์ OpenBSD PF เราจะสมมติว่าคุณมีการติดตั้ง FreeBSD ที่สะอาดแล้ว
ใช้ระบบที่แตกต่างกันอย่างไร Cachet เป็นระบบหน้าสถานะโอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดสำหรับ Cachet นั้นโฮสต์บน GitHub ในคู่มือนี้คุณจะ
ใช้ระบบที่แตกต่างกันอย่างไร WonderCMS เป็นโอเพนซอร์ซ CMS แบบเร็วและเล็กเขียนด้วย PHP รหัสที่มาของ WonderCMS นั้นโฮสต์บน Github คู่มือนี้จะ
คำนำวัตถุประสงค์ของคู่มือนี้เพื่อแสดงให้คุณเห็นว่าการสร้างโฮมเพจสำหรับเว็บไซต์ของคุณบน Vultr ด้วย OpenBSD และ httpd นั้นง่ายเพียงใด กำลังสร้าง
วานิชเป็นแคชเซิร์ฟเวอร์โอเพ่นซอร์สที่เก็บเนื้อหาจากเว็บเซิร์ฟเวอร์ มันถูกติดตั้งที่ด้านหน้าของเว็บเซิร์ฟเวอร์เช่น Apache หรือ Nginx เรื่องของชินชิน
ใช้ระบบที่แตกต่างกันอย่างไร Dolibarr เป็นการวางแผนทรัพยากรขององค์กรโอเพ่นซอร์ส (ERP) และการจัดการลูกค้าสัมพันธ์ (CRM) สำหรับธุรกิจ Dolibarr
เซิร์ฟเวอร์ VPS มักถูกโจมตีโดยผู้บุกรุก การโจมตีประเภททั่วไปจะปรากฏในบันทึกของระบบเมื่อมีการพยายามล็อกอินหลายร้อยครั้งโดยไม่ได้รับอนุญาต การตั้งค่า
ใช้ระบบที่แตกต่างกันอย่างไร ProcessWire CMS 3.0 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและมีประสิทธิภาพฟรีและโอเพนซอร์ส ProcessWire CMS 3
ใช้ระบบที่แตกต่างกันอย่างไร Matomo (ชื่อเดิม Piwik) เป็นแพลตฟอร์มการวิเคราะห์โอเพนซอร์ซซึ่งเป็นทางเลือกเปิดให้ Google Analytics แหล่งที่มาของ Matomo นั้นโฮสต์อยู่
ใช้ระบบที่แตกต่างกันอย่างไร TLS 1.3 เป็นเวอร์ชันของโปรโตคอล Transport Layer Security (TLS) ที่เผยแพร่ในปี 2018 ตามมาตรฐานที่เสนอใน RFC 8446
บทนำบทช่วยสอนนี้แสดงให้เห็นถึงเซิร์ฟเวอร์อีเมลแบบเต็มรูปแบบที่ทำงานบน OpenBSD โดยใช้ OpenSMTPD, Dovecot, Rspamd และ RainLoop OpenSMTPD คือ th
ใช้ระบบที่แตกต่างกันอย่างไร Mailtrain เป็นแอปรับจดหมายข่าวแบบโอเพ่นซอร���สที่สร้างขึ้นบน Node.js และ MySQL / MariaDB แหล่งที่มาของ Mailtrains อยู่บน GitHub Thi
เรียนรู้วิธีการติดตั้ง 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