Ghostเ���็นคนล่าสุดและยิ่งใหญ่ที่สุด���นการแข่งขัน WordPress การพัฒนาชุดรูปแบบนั้นรวดเร็วและง่ายต่อการเรียนรู้เนื่องจากผู้พัฒนา Ghost ตัดสินใจใช้ทั้งเฟรมเวิร์ก ember.jsและhandlebars.jsเพื่อลบเส้นโค้งการเรียนรู้ ติดตั้งและเวลาการติดตั้งจะใช้เวลาประมาณ 45-60 นาทีและทำให้การใช้งานของเทคโนโลยีต่อไปนี้: Node.js
, และRelayd
Httpd
หมายเหตุ: โปรดแทนที่ example.org ด้วยชื่อโดเมนของคุณและ 192.0.2.x ด้วยที่อยู่ IP Vultr ที่คุณกำหนด เราจะใช้ใบรับรองที่ลงนามด้วยตนเองซึ่งดีสำหรับการทดสอบเท่านั้น หากคุณตัดสินใจที่จะใช้ Ghost ในการผลิตเป็นสิ่งสำคัญอย่างยิ่งที่จะใช้ใบรับรองจริง ใบรับรองจริงสามารถรับได้ฟรีโดยใช้การเข้ารหัสลับ Let 's
การกำหนดค่า OpenBSD
เปิดใช้งานและHttpd
relayd
# rcctl enable httpd relayd
สร้าง/etc/httpd.conf
ไฟล์กำหนดค่าสำหรับ Httpd ในตัวอย่างนี้วัตถุประสงค์เดียวของ Httpd คือเปลี่ยนเส้นทางคำขอไปยัง https Relayd จะเป็นหนึ่งในการรับฟังhttps
พอร์ตและคำขอพร็อกซีไปยัง Ghost
prefork 3
types { include "/usr/share/misc/mime.types" }
server "www.example.org" {
listen on 192.0.2.1 port 80
# Redirect to https
block return 301 "https://$SERVER_NAME:$REQUEST_URI"
}
สร้างใบรับรอง SSL ทดสอบสำหรับการปรับใช้ Ghost ของคุณ เนื่องจากนี่เป็นเพียงการทดสอบเท่านั้นคุณสามารถเว้นฟิลด์ส่วนใหญ่ไว้ได้ ชื่อเดียวที่คุณจะต้องกรอกคือCommon Name
ฟิลด์และควรตรงกับชื่อโดเมนแบบเต็มของเซิร์ฟเวอร์ เมื่อคุณพร้อมที่จะแทนที่ใบรับรองที่เซ็นชื่อเองด้วยใบรับรองที่เป็นจริงและถูกต้องเพียงจำไว้ว่าให้ชื่อไฟล์เหมือนเดิม Relayd คาดว่าจะพบที่สำคัญและใบรับรองที่มีการประชุมการตั้งชื่อและ<ip address>.crt
<ip address>.key
# cd /etc/ssl
# openssl req -x509 -new -nodes -newkey rsa:4096 -keyout private/192.0.2.1.key -out 192.0.2.1.crt -days 364 -sha256
# chmod 0400 private/192.0.2.1.key
สร้าง/etc/relayd.conf
ไฟล์กำหนดค่าสำหรับ Relayd Relayd ทำเวทมนต์ที่พร็อกซีและเปลี่ยนเส้นทางคำขอไปยัง Ghost
prefork 3
http protocol https {
match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
match request header append "X-Forwarded-By" \
value "$SERVER_ADDR:$SERVER_PORT"
tcp { nodelay, sack, socket buffer 65536, backlog 128 }
tls { no tlsv1, ciphers HIGH }
tls no session tickets
}
relay ghost {
listen on 192.0.2.1 port 443 tls
protocol https
forward to 127.0.0.1 port 2368
}
เพิ่มแพ็คเกจต่อไปนี้
pkg_add -r node unzip wget
สร้างผู้ใช้และโฮมไดเรกทอรีสำหรับการติดตั้ง Ghost ตัวอย่างเช่นสร้างชื่อผู้ใช้กับไดเรกทอรีบ้านที่เรียกว่าghost
/var/www/ghost
ใช้รหัสผ่านที่รัดกุมมากสำหรับบัญชีนี้
# user add -m -c "Ghost User" -d /var/www/ghost -G wheel -g =uid -u 5000 -s /bin/ksh ghost
# passwd ghost
เปลี่ยนเป็นghost
ผู้ใช้และดาวน์โหลด Ghost เวอร์ชันล่าสุด
# doas su ghost
# cd /var/www/ghost
# mkdir blog
# cd blog/
# wget https://ghost.org/zip/ghost-latest.zip
# unzip ghost-latest.zip
ติดตั้ง Ghost
# npm install sqlite3 --sqlite=/usr/local
# npm install --production
# npm install forever
# doas npm install -g knex-migrator
กำหนดค่า Ghost แทนที่database
ส่วนconfig.production.json
ที่มีdatabase
ข้อด้านล่างหากคุณต้องการที่จะใช้แทนsqlite
mysql
Sqlite สามารถรองรับการเชื่อมต่อได้ประมาณ 100,000 ครั้งต่อวัน หากคุณติดตั้ง MySQL ไว้แล้วคุณสามารถเลือกใช้แทนได้เสมอ สำหรับdefaults.json
ไฟล์ให้เปลี่ยนdomain
ส่วนของurl
โดเมนของคุณ
# cd core/server/config/env/config/
# vi config.production.json
"database": {
"client": "sqlite3",
"connection": {
"filename": "content/data/ghost.db"
},
# cd core/server/config/
# vi defaults.json
"url": "http://www,example.org",
"server": {
"host": "127.0.0.1",
"port": 2368
},
ตอนนี้เราต้องเติมฐานข้อมูลและเริ่มต้น Ghost
# cd ~/blog
# NODE_ENV=production knex-migrator init
# NODE_ENV=production ~/blog/node_modules/forever/bin/forever start ~/blog/index.js
ดำเนินการnetstat -na -f inet
และค้นหา127.0.0.1:2368
รายการ คุณยังสามารถทำps ax | grep node
เพื่อตรวจสอบว่า Ghost กำลังทำงานอยู่
http://www.example.org
เปิดเว็บเบราว์เซอร์ที่คุณชื่นชอบและเรียกดู https://www.example.org
คุณจะถูกเปลี่ยนเส้นทางโดยอัตโนมัติ คุณจะได้รับการต้อนรับด้วยหน้าผีเริ่มต้น
เรียกดูเพื่อhttp://www.example.org/ghost
สิ้นสุดการติดตั้ง