ค้นหาเว็บไซต์

วิธีติดตั้งแพลตฟอร์มการเผยแพร่บล็อก Ghost (CMS) ใน CentOS 7


Ghost เป็นซอฟต์แวร์บล็อกหรือสิ่งพิมพ์ออนไลน์แบบโอเพ่นซอร์สที่เรียบง่ายแต่ทรงพลังซึ่งเขียนด้วย Nodejs เป็นชุดเครื่องมือเผยแพร่ที่ทันสมัยซึ่งออกแบบมาเพื่อการสร้างและใช้งานสิ่งพิมพ์ออนไลน์ได้อย่างง่ายดาย

คุณสมบัติผี:

  • รวดเร็ว ปรับขนาดได้ และมีประสิทธิภาพ
  • เสนอสภาพแวดล้อมการแก้ไขตามมาร์กดาวน์
  • มาพร้อมกับแอปเดสก์ท็อป
  • มาพร้อมแม่แบบแฮนด์สวยๆ
  • รองรับการจัดการเนื้อหาอย่างง่าย
  • รองรับหลายบทบาทสำหรับผู้เขียน บรรณาธิการ และผู้ดูแลระบบ
  • อนุญาตให้มีการตั้งเวลาเนื้อหาล่วงหน้า
  • รองรับการเร่งความเร็วเพจบนมือถือ
  • รองรับการเพิ่มประสิทธิภาพกลไกค้นหาอย่างสมบูรณ์
  • ให้ข้อมูลที่มีโครงสร้างโดยละเอียด
  • รองรับการสมัครสมาชิกด้วย RSS, อีเมลและ Slack
  • ช่วยให้สามารถแก้ไขไซต์แบบง่ายๆ และอื่นๆ อีกมากมาย

ความต้องการ:

  1. เซิร์ฟเวอร์ CentOS 7 ติดตั้งขั้นต่ำพร้อมหน่วยความจำ 1GB
  2. ระบบ CentOS 7 พร้อมที่อยู่ IP แบบคงที่
  3. Node v6 LTS – ติดตั้ง Node.js และ NPM ล่าสุดใน CentOS 7
  4. เซิร์ฟเวอร์ CentOS 7 ที่ติดตั้ง Nginx

ข้อสำคัญ: ก่อนที่คุณจะเริ่มติดตั้ง Ghost ด้วยตัวเอง คุณจะต้องมีโฮสติ้ง VPS ที่ดี เราขอแนะนำ BlueHost เป็นอย่างยิ่ง

ในบทความนี้ เราจะอธิบายวิธีการติดตั้งแพลตฟอร์มบล็อกโอเพ่นซอร์ส Ghost (ระบบการจัดการเนื้อหา) บนระบบ CentOS 7

ขั้นตอนที่ 1: การติดตั้ง Nodejs บน CentOS 7

1. Nodejs ไม่มีอยู่ในที่เก็บซอฟต์แวร์ของ CentOS ดังนั้นก่อนอื่นให้เพิ่มที่เก็บของมันแล้วจึงติดตั้งดังนี้

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs npm
dnf -y install nodejs npm   [On Fedora 22+ versions]

2. เมื่อติดตั้ง nodejs แล้ว คุณสามารถตรวจสอบว่าคุณได้ติดตั้ง Nodejs และ npm เวอร์ชันที่แนะนำโดยใช้คำสั่ง

node -v 
npm -v

ขั้นตอนที่ 2: การติดตั้ง Ghost บน CentOs 7

3. ตอนนี้ให้สร้างไดเรกทอรีรากของ Ghost ซึ่งจะจัดเก็บไฟล์แอปพลิเคชันไว้ใน /var/www/ghost ซึ่งเป็นตำแหน่งการติดตั้งที่แนะนำ

mkdir -p /var/www/ghost

4. จากนั้น ดาวน์โหลด Ghost เวอร์ชันล่าสุดจากพื้นที่เก็บข้อมูล GitHub ของ Ghost และแตกไฟล์ zip ลงในไดเร็กทอรีที่คุณเพิ่งสร้างด้านบน

curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d  /var/www/ghost

5. ตอนนี้ให้ย้ายไปยังไดเร็กทอรีโกสต์ใหม่ และติดตั้ง Ghost (เฉพาะการใช้งานจริงเท่านั้น) ด้วยคำสั่งต่อไปนี้ เมื่อคำสั่งที่สองเสร็จสิ้น ควรติดตั้ง Ghost บนระบบของคุณ

cd /var/www/ghost 
npm install --production

ขั้นตอนที่ 3: เริ่มและเข้าถึงบล็อกผีเริ่มต้น

6. หากต้องการเริ่ม Ghost ให้รันคำสั่งต่อไปนี้จากไดเร็กทอรี /var/www/ghost

npm start --production

7. ตามค่าเริ่มต้น Ghost ควรทำงานบนพอร์ต 2368 ดังนั้นให้เปิดพอร์ตบนไฟร์วอลล์เพื่ออนุญาตการเข้าถึง

firewall-cmd --zone=public --permanent --add-port=2368/tcp
firewall-cmd --reload

8. ตอนนี้เปิดเว็บเบราว์เซอร์แล้วไปที่ URL ต่อไปนี้ด้านล่าง

http://SERVER_IP:2368
OR
http://localhost:2368

หมายเหตุ: หลังจากเรียกใช้ Ghost เป็นครั้งแรก ไฟล์ config.js จะถูกสร้างขึ้นในไดเร็กทอรีรากของ Ghost คุณสามารถใช้มันเพื่อตั้งค่าการกำหนดค่าระดับสภาพแวดล้อมสำหรับโกสต์ โดยคุณสามารถกำหนดค่าตัวเลือกต่างๆ เช่น URL ไซต์ ฐานข้อมูล การตั้งค่าเมล ฯลฯ

ขั้นตอนที่ 4: ติดตั้งและกำหนดค่า Nginx สำหรับ Ghost

ติดตั้งและเริ่มเว็บเซิร์ฟเวอร์ Nginx หากไม่ได้ติดตั้งโดยใช้ที่เก็บ EPEL ดังที่แสดง

yum install epel-release
yum install nginx
systemctl start nginx

หากคุณใช้ไฟร์วอลล์ ให้ใช้คำสั่งต่อไปนี้เพื่อเปิดใช้งานการเข้าถึงการรับส่งข้อมูล HTTP และ HTTPS

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

ขั้นตอนต่อไปคือการกำหนดค่า Nginx ให้เซิร์ฟเวอร์บล็อก Ghost ของเราบนพอร์ต 80 เพื่อให้ผู้ใช้สามารถเข้าถึงบล็อก Ghost ได้โดยไม่ต้องเพิ่มพอร์ต :2368 ที่ท้าย URL

ขั้นแรกให้หยุดอินสแตนซ์ Ghost ที่ทำงานอยู่โดยกดปุ่ม CTRL+C บนเทอร์มินัล

ตอนนี้กำหนดค่า Nginx ด้วยการสร้างไฟล์ใหม่ภายใต้ /etc/nginx/sites-available/ghost

vi /etc/nginx/sites-available/ghost

เพิ่มการกำหนดค่าต่อไปนี้ และอย่าลืมเปลี่ยนบรรทัดที่ไฮไลต์ต่อไปนี้เป็น your_domain_or_ip_address

server {
    listen 80;
    server_name your_domain_or_ip_address;
    location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}

บันทึกไฟล์และใช้งานการกำหนดค่านี้โดยสร้าง symlink ภายใต้ไดเรกทอรี /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

ตอนนี้เปิดไฟล์ /etc/nginx.conf รวมไฟล์การกำหนดค่าไว้ในไดเร็กทอรี sites-enabled และปิดใช้งานไซต์เริ่มต้นตามที่แสดง

vi /etc/nginx/nginx.conf

ตอนนี้ให้เพิ่มบรรทัดต่อไปนี้ภายในบล็อก http เพื่อรวมไฟล์การกำหนดค่าไว้ในไดเร็กทอรี sites-enabled

http {
...
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

จากนั้นใส่ความคิดเห็นเกี่ยวกับบล็อกเซิร์ฟเวอร์เริ่มต้นที่พบในบล็อก http

...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


   server {
      listen       80 default_server;
      listen       [::]:80 default_server;
      server_name  _;
      root         /usr/share/nginx/html;
#
      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;
#
      location / {
      }
#
      error_page 404 /404.html;
          location = /40x.html {
      }
#
      error_page 500 502 503 504 /50x.html;
          location = /50x.html {
      }
...
...

สุดท้ายให้บันทึกและรีสตาร์ทเว็บเซิร์ฟเวอร์ nginx

systemctl restart nginx

อีกครั้ง ไปที่ http://your_domain_or_ip_address แล้วคุณจะเห็นบล็อก Ghost ของคุณ

สำหรับข้อมูลเพิ่มเติม ไปที่หน้าแรกของ Ghost: https://ghost.org/

ในบทความนี้ เราได้อธิบายวิธีการติดตั้งและกำหนดค่า Ghost ใน CentOS 7 ใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อส่งคำถามหรือความคิดเห็นเกี่ยวกับคำแนะนำถึงเรา

สุดท้ายแต่ไม่ท้ายสุด ในโพสต์ถัดไป เราจะแสดงวิธีการตั้งค่า Ghost ใน Debian และ Ubuntu ในระหว่างนี้ โปรดเชื่อมต่อกับ linux-console.net