วิธีการปรับใช้ Ghost v0.11 LTS บนเดเบียน 8

Ghostเป็นแพลตฟอร์มบล็อกโอเพ่นซอร์สที่ได้รับความนิยมในหมู่ผู้พัฒนาและผู้ใช้ทั่วไปตั้งแต่ปี 2013 มันให้ความสำคัญกับเนื้อหาและบล็อก สิ่งที่น่าสนใจที่สุดเกี่ยวกับ Ghost คือการออกแบบที่เรียบง่ายสะอาดตาและตอบสนองได้ดี คุณสามารถเขียนบทความบล็อกของคุณจากโทรศัพท์มือถือ เนื้อหาสำหรับ Ghost เขียนโดยใช้ภาษา Markdown ผีเป็นแบบที่สมบูรณ์แบบสำหรับบุคคลหรือกลุ่มเล็ก ๆ ของนักเขียน

ในคู่มือนี้เราจะไปติดตั้งและปรับใช้ระบบรักษาความปลอดภัยผี v0.11.x LTSบล็อกบน Debian 8 VPS ใช้Let 's เข้ารหัส , Certbot , Node.js , NPM , NGINXและMySQL

ความต้องการ

  • ลงทะเบียน (ซื้อ) ชื่อโดเมน
  • Debian เช่น 8 เซิร์ฟเวอร์กับต่ำสุดของRAM 1GB
  • ผู้ใช้ Sudo

ก่อนที่จะเริ่ม

  1. ตรวจสอบเวอร์ชั่นเดเบียน:

    lsb_release -ds
    # Debian GNU/Linux 8.9 (jessie)
    
  2. สร้างบัญชีผู้ใช้ที่ไม่ใช่รูทใหม่:

    adduser johndoe --gecos "John Doe"
    
  3. ทำให้เป็น superuser โดยเพิ่มลงในsudoกลุ่ม:

    usermod -aG sudo johndoe
    
  4. เปลี่ยนเป็นผู้ใช้ใหม่:

    su - johndoe
    
  5. อัปเดตซอฟต์แวร์ของระบบปฏิบัติการของคุณ:

    sudo apt-get update && sudo apt-get upgrade -y
    
  6. ตั้งค่าเขตเวลา:

    sudo dpkg-reconfigure tzdata
    
  7. ติดตั้งเครื่องมือที่จำเป็น:

    sudo apt-get install -y build-essential zip unzip git apt-transport-https
    
  8. รีบูทระบบหากจำเป็น:

    sudo shutdown -r now
    

ติดตั้ง Certbot

หมายเหตุ : ก่อนเริ่มขั้นตอนนี้ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าระเบียนDNSสำหรับโดเมนของคุณแล้ว

พวกเราจะไปใช้Let 's เข้ารหัส CAและเอฟเอฟ 's ลูกค้า Certbot ที่จะได้รับการเข้ารหัส SSL / TLSใบรับรองสำหรับบล็อกผีของเรา อย่าลืมแทนที่ทุกกรณีblog.domain.tldด้วยชื่อโดเมนของคุณ

  1. ติดตั้งซอฟต์แวร์การจัดการใบรับรองCertbot (ชื่อเดิมLet's Encrypt ) ที่สร้างด้วย Python:

    sudo -s
    printf "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list.d/jessie-backports.list
    exit        
    sudo apt-get update
    sudo apt-get install -y certbot -t jessie-backports
    
  2. ตรวจสอบรุ่น Certbot:

    certbot --version
    # certbot 0.10.2
    
  3. รับใบรับรองRSAโดยใช้วิธีการรับรองความถูกต้องแบบสแตนด์อโลน (ปลั๊กอิน):

    sudo certbot certonly --standalone --domains blog.domain.tld --rsa-key-size 2048 --must-staple --email admin@domain.tld --agree-tos
    
    # IMPORTANT NOTES:
    #  - Congratulations! Your certificate and chain have been saved at 
    /etc/letsencrypt/live/blog.domain.tld/fullchain.pem. 
    #  Your cert will expire on YYYY-MM-DD. . . .
    #  . . .
    

    หลังจากผ่านขั้นตอนก่อนหน้าใบรับรองและรหัสส่วนตัวของคุณจะอยู่ใน/etc/letsencrypt/live/blog.domain.tldไดเรกทอรี

ติดตั้ง Node.js และ NPM

หมายเหตุ : ขณะนี้ Ghost รองรับ Node.js เวอร์ชัน 4.5+ และ 6.9+ เท่านั้น

Ghost ถูกสร้างขึ้นบน Node.js เรากำลังจะติดตั้งรุ่นที่แนะนำสำหรับ Ghost ซึ่งเป็นv6 Boron LTSช่วงเวลาของการเขียนนี้

  1. ดาวน์โหลดและติดตั้ง Node.js v6 LTS:

    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  2. ตรวจสอบรุ่น Node.js และ NPM:

    node -v && npm -v
    # v6.11.2
    # 3.10.10
    

ติดตั้ง MySQL

โดยค่าเริ่มต้น Ghost จะถูกกำหนดค่าให้ใช้ฐานข้อมูล SQLite ซึ่งไม่ต้องการการกำหนดค่า

อีกวิธีหนึ่งคือ Ghost สามารถใช้กับฐานข้อมูล MySQL โดยเปลี่ยนการกำหนดค่าฐานข้อมูล คุณต้องสร้างฐานข้อมูลและผู้ใช้ก่อนจากนั้นคุณสามารถเปลี่ยนการกำหนดค่า sqlite3 ที่มีอยู่

  1. ดาวน์โหลดและติดตั้ง MySQL:

    sudo apt-get install -y mysql-server
    

    หมายเหตุ : ระหว่างการติดตั้งคุณจะได้รับแจ้งให้ใส่รหัสผ่านผู้ใช้ MySQL "root" คุณควรตั้งรหัสผ่านที่ปลอดภัยสำหรับผู้ใช้ "root" ของ MySQL

  2. ตรวจสอบรุ่น MySQL:

    mysql --version
    # mysql  Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3
    
  3. ตรวจสอบว่า MySQL daemon เริ่มทำงานแล้วหรือยังและทำงานอยู่:

    sudo systemctl status mysql.service
    sudo systemctl is-enabled mysql.service
    
  4. รันmysql_secure_installationสคริปต์เพื่อรักษาความปลอดภัยฐานข้อมูลของคุณ:

    sudo mysql_secure_installation
    
  5. เข้าสู่ระบบ MySQL ในฐานะผู้ใช้รูท:

    mysql -u root -p
    # Enter password:
    
  6. สร้างฐานข้อมูล MySQL และผู้ใช้ใหม่:

    create database dbname;
    grant all on dbname.* to 'user' identified by 'password';
    
  7. ออกจาก MySQL:

    exit
    

ติดตั้ง NGINX

  1. ดาวน์โหลดและติดตั้งเวอร์ชั่นล่าสุดของ 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/debian/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/debian/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
    exit
    sudo apt-get update
    sudo apt-get install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt nginx-nr-agent
    
  2. ตรวจสอบว่ามีการติดตั้งโดยตรวจสอบรุ่น NGINX:

    sudo nginx -v
    # nginx version: nginx/1.13.4
    
  3. ตรวจสอบสถานะเปิดใช้งานและเริ่มบริการ NGINX (daemon):

    sudo systemctl status nginx.service # inactive (dead)
    sudo systemctl enable nginx.service
    sudo systemctl start nginx.service
    
  4. สร้าง/etc/nginx/sslไดเรกทอรีและสร้างกลุ่ม Diffie-Hellman ( DH ) ใหม่:

    sudo mkdir -p /etc/nginx/ssl
    sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
    
  5. สร้างไดเรกทอรีบันทึกสำหรับblog.domain.tldโฮสต์เสมือน:

    sudo mkdir -p /var/log/nginx/blog.domain.tld
    
  6. กำหนดค่า NGINX เป็นพร็อกซีเซิร์ฟเวอร์ย้อนกลับHTTP ( S ):

    sudo vim /etc/nginx/conf.d/ghost.conf
    
  7. วางต่อไปนี้ใน/etc/nginx/conf.d/ghost.conf:

    # domain: blog.domain.tld
    # public: /var/www/ghost
    
    upstream ghost_app {
        server 127.0.0.1:2368;
        keepalive 32;
    }
    
    server {
        listen [::]:80 default_server;
        listen 80 default_server;
        listen [::]:443 ssl http2 default_server;
        listen 443 ssl http2 default_server;
    
        server_name blog.domain.tld; # Change to your domain/hostname
        root /var/www/ghost; # Change to the path where Ghost is
    
        error_log /var/log/nginx/blog.domain.tld/error.log;
        access_log /var/log/nginx/blog.domain.tld/access.log;
    
        client_max_body_size 100M;
    
        ssl_certificate /etc/letsencrypt/live/blog.domain.tld/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/blog.domain.tld/privkey.pem;
        ssl_dhparam ssl/dhparams-2048.pem;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;
    
        ssl_buffer_size 4K;
    
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50M;
        ssl_session_tickets off;
    
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/letsencrypt/live/blog.domain.tld/chain.pem;
    
        resolver 8.8.8.8 8.8.4.4 valid=300s;
    
        location / {
            proxy_pass http://ghost_app;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_hide_header X-Powered-By;
    
            proxy_http_version 1.1;
            proxy_set_header Connection "";
    
        }
    }
    
  8. บันทึกและทดสอบการกำหนดค่า NGINX เพื่อหาข้อผิดพลาดทางไวยากรณ์:

    sudo nginx -t
    
  9. โหลดการกำหนดค่า NGINX ซ้ำ:

    sudo systemctl reload nginx.service
    

ติดตั้ง Ghost

หมายเหตุ : หากคุณต้องการโฮสต์ Ghost หลายบล็อกใน VPS เดียวกันอินสแตนซ์ Ghost แต่ละรายการต้องทำงานบนพอร์ตแยกต่างหาก

  1. สร้างไดเรกทอรีรากของเอกสาร:

    sudo mkdir -p /var/www/
    
  2. สร้างghostผู้ใช้ใหม่:

    sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
    
  3. ดาวน์โหลด Ghost:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
    
  4. Unzip Ghost ใน/var/www/ghostไดเรกทอรี (ตำแหน่งการติดตั้งที่แนะนำ):

    sudo unzip -uo ghost.zip -d /var/www/ghost
    rm ghost.zip
    
  5. นำทางไปยังghostไดเรกทอรีใหม่:

    cd /var/www/ghost
    
  6. เปลี่ยนความเป็นเจ้าของ/var/www/ghostไดเรกทอรี:

    sudo chown -R ghost:ghost .
    
  7. เปลี่ยนเป็นghostผู้ใช้ใหม่:

    sudo su - ghost
    
  8. นำทางไปยังเอกสารรูท/var/www/ghost:

    cd /var/www/ghost
    
  9. ติดตั้ง Ghost พร้อมการอ้างอิงการผลิตเท่านั้น เมื่อสิ่งนี้เสร็จสิ้น Ghost จะถูกติดตั้ง:

    npm install --production
    
  10. ผีกำหนดค่าโดยการเปลี่ยนurl, mailและdatabaseทรัพย์สินของการผลิตภายในวัตถุของconfig.jsไฟล์:

    cp config.example.js config.js
    vim /var/www/ghost/config.js
    
    
    var path = require('path'),
        config;
    
    config = {
    // ### Production
    // When running Ghost in the wild, use the production environment.
    // Configure your URL and mail settings here
    production: {
        url: 'https://blog.domain.tld',
        mail: {
            transport: 'SMTP',
            options: {
                service: 'Mailgun',
                auth: {
                    user: '',
                    pass: ''
                }
            }
        },
        database: {
            client: 'mysql',
            connection: {
                host: '127.0.0.1',
                user: 'your_database_user',
                password: 'your_database_password',
                database: 'your_database_name',
                charset: 'utf8'
            },
            debug: false
        },
        // . . .
        // . . .
    

    หมายเหตุ : คุณควรกำหนดการตั้งค่าเมลด้วย ศึกษาเอกสารผีอย่างเป็นทางการเกี่ยวกับวิธีการทำ

  11. เริ่ม Ghost ในสภาพแวดล้อมการผลิต:

    npm start --production
    

    ตอนนี้ Ghost จะเริ่มทำงาน ทั้งบล็อกหน้าและส่วนต่อประสานผู้ดูแลระบบปลอดภัยด้วยHTTPSและHTTP / 2ก็ใช้งานได้ https://blog.domain.tldคุณสามารถเปิดเบราว์เซอร์ของคุณและเยี่ยมชมเว็บไซต์ที่ อย่าลืมแทนที่blog.domain.tldด้วยชื่อโดเมนของคุณ

  12. ปิดกระบวนการผีโดยกดCTRL+ Cและออกจากghostผู้ใช้กลับไปที่ผู้ใช้รูท:

    exit
    

ใช้ Ghost เป็นบริการระบบ

หากคุณปิดเซสชันเทอร์มินัลด้วย VPS บล็อกของคุณจะหยุดทำงานเช่นกัน นั่นไม่ดีเลย เพื่อหลีกเลี่ยงปัญหานี้เราจะใช้ Systemd มันจะทำให้บล็อกของเราขึ้น 24/7

  1. สร้างghost.serviceไฟล์หน่วย Systemd เรียกใช้sudo vim /etc/systemd/system/ghost.serviceและคัดลอก / วางเนื้อหาต่อไปนี้:

    [Unit]
    Description=Ghost - the professional publishing platform
    Documentation=https://docs.ghost.org/v0.11.11/docs
    After=network.target
    
    [Service]
    Type=simple
    # Edit WorkingDirectory, User and Group as needed
    WorkingDirectory=/var/www/ghost
    User=ghost
    Group=ghost
    ExecStart=/usr/bin/npm start --production
    ExecStop=/usr/bin/npm stop --production
    Restart=always
    SyslogIdentifier=Ghost
    
    [Install]
    WantedBy=multi-user.target
    
  2. เปิดใช้งานและเริ่มต้นghost.service:

    sudo systemctl enable ghost.service && sudo systemctl start ghost.service
    
  3. ตรวจสอบghost.serviceสถานะ:

    sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
    
  4. นำทางไปยังhttps://blog.domain.tld/ghost/และสร้างผู้ใช้ Ghost admin ทำสิ่งนี้โดยเร็วที่สุด!

ข้อสรุป

แค่นั้นแหละ. ขณะนี้เรามีบล็อก Ghost ที่ทำงานได้อย่างสมบูรณ์ เซิร์ฟเวอร์ของคุณกำลังส่งเนื้อหาผ่าน HTTP / 2 เมื่อไคลเอ็นต์ได้รับการสนับสนุน หากคุณต้องการที่จะเปลี่ยนรูปแบบผีเริ่มต้นที่เรียกว่าแคสเปอร์จะเป็นหนึ่งที่กำหนดเองคุณก็สามารถดาวน์โหลดและเปิดเครื่องรูดธีมลงในโฟลเดอร์และเลือกผ่านทางอินเตอร์เฟซผู้ดูแลระบบผีตั้งอยู่ที่/var/www/ghost/content/themeshttps://blog.domain.tld/ghost

ฝากความเห็น

วิธีการติดตั้ง 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