如何在Fedora 25上部署Ghost

自2013年发布以来,Ghost是一个开源博客平台,在开发人员和普通用户中越来越受欢迎。它把重点放在内容博客上。Ghost最吸引人的地方是其简单,干净且响应迅速的设计。您可以通过手机撰写博客文章。Ghost的内容是使用Markdown语言编写的。幽灵非常适合个人或小组作家。

在本指南中,我们将使用Let's EncryptCertbotNode.jsNginxPM2Fedora 25 VPS上建立并部署安全的Ghost博客。

要求

  • Fedora 25服务器实例,至少具有1GB RAM
  • 您可能必须使用打开端口2368 semanage port -a -t http_port_t -p tcp 2368

让我们加密

在开始此步骤之前,请确保已为您的域设置了DNS记录。

我们将使用Let's Encrypt CA和EFF的Certbot客户端获取Ghost博客的TLS证书。不要忘记将所有实例替换为example.com您的域名。

  1. 更新系统:

    dnf check-update || dnf upgrade -y
    
  2. 安装所需的工具:

    dnf install @development-tools -y
    
  3. 安装Certbot(又名“让我们加密客户端”):

    dnf install certbot -y
    
  4. 检查Certbot版本:

    certbot --version
    # certbot 0.12.0
    
  5. 使用独立的”模式获取证书:

    certbot certonly --standalone --domains example.com,www.example.com --email [email protected] --agree-tos --rsa-key-size 2048
    

完成上述步骤后,您的证书私钥将位于/etc/letsencrypt/live/example.com目录中。

安装NodeJS

幽灵目前支持节点版本0.12.x4.2+6.9+而已。

我们将v6 Boron LTS在撰写本文时为Ghost安装受支持的版本。

  1. 下载并安装最新的LTS版本的Node.js:

    dnf install nodejs -y
    
  2. 检查节点和NPM版本:

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

安装Nginx

  1. 下载并安装Nginx:

    dnf install nginx -y
    
  2. 检查Nginx版本:

    nginx -v
    # nginx version: nginx/1.10.2
    
  3. 启动并启用Nginx服务:

    systemctl start nginx.service && systemctl enable nginx.service
    
  4. 将Nginx配置为反向代理:

    vi /etc/nginx/conf.d/ghost.conf
    
  5. 将以下内容粘贴到中/etc/nginx/conf.d/ghost.conf

    server {
    
      listen 80;
      listen [::]:80;
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
    
      server_name example.com www.example.com;
    
      ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    
      location / {
        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_pass http://127.0.0.1:2368;
      }
    
    }
    
  6. 检查Nginx语法:

    nginx -t
    
  7. 重新加载Nginx配置:

    systemctl reload nginx.service
    

安装Ghost

如果要在同一VPS上托管多个Ghost博客,则每个Ghost实例必须在单独的端口上运行。

  1. 制作webroot目录:

    mkdir -p /var/www/
    
  2. 创建一个新的虚幻用户:

    useradd -c "Ghost Application" ghost 
    
  3. 下载Ghost:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
    
  4. 解压缩Ghost:

    unzip -uo ghost.zip -d /var/www/ghost
    rm -f ghost.zip
    
  5. 导航到webroot:

    cd /var/www/ghost
    
  6. 更改webroot目录的所有权:

    chown -R ghost:ghost .
    
  7. 切换到新的幽灵用户:

    su - ghost
    
  8. 导航到webroot:

    cd /var/www/ghost
    
  9. 安装Ghost:

    npm install --production
    
  10. 通过更改文件内部对象的属性urlmail属性来配置Ghost :productionconfig.js

    cp config.example.js config.js
    vi 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://example.com',
        mail: {
          options: {
             service: '',
                auth: {
                  user: '',
                  pass: ''
                }
              }
        },
            . . .
            . . .
        },
    }
    . . .
    . . .        
    

    注意:您mail还应该配置。请查阅官方的Ghost文档以了解有关操作方法。

  11. 启动Ghost:

    npm start --production
    

    Ghost现在将运行。博客前端和管理界面均已通过HTTPS进行了安全保护,并且HTTP / 2也在正常工作。您可以打开浏览器并访问的网站https://example.com。不要忘记example.com用您的域名替换。

  12. 通过按CTRL+ 关闭Ghost进程,C然后从Ghost用户返回到root用户:

    exit
    

安装PM2

如果您使用VPS关闭终端会话,那么您的博客也将关闭。这不好。为了避免这种情况,我们将使用PM2流程管理器。这将使我们的博客保持24/7全天候运行。

  1. 安装最新的稳定版PM2流程管理器:

    npm install -g pm2@latest
    
  2. 检查PM2版本:

    pm2 -v
    # 2.4.6
    
  3. 再次切换到幽灵用户:

    su - ghost
    
  4. NODE_ENV环境变量设置为生产:

    echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
    
  5. 使用PM2启动(守护)Ghost应用程序:

    pm2 start /var/www/ghost/index.js --name "Ghost Blog"
    
  6. 导航到https://example.com/ghost/并创建Ghost管理员用户。尽快执行此操作。

结论

而已。我们现在有一个功能齐全的Ghost博客。如果要将默认的名为Casper的 Ghost主题更改为自定义主题,只需下载该主题并将其解压缩到/var/www/ghost/content/themes文件夹中,然后通过位于的Ghost管理界面将其选中即可https://example.com/ghost



Leave a Comment

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Fedora 29上安装Attendize

如何在Fedora 29上安装Attendize

使用其他系统?简介Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。Attendiz

如何在Fedora 28上安装Bludit CMS

如何在Fedora 28上安装Bludit CMS

使用其他系统?Bludit是一个用PHP编写的简单,快速且灵活的博客CMS。Bludit使用JSON格式的文件来存储内容,因此您不必

如何在Fedora 26 LAMP VPS上安装Couch CMS 2.0

如何在Fedora 26 LAMP VPS上安装Couch CMS 2.0

使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计

如何在Fedora 28上安装BookStack

如何在Fedora 28上安装BookStack

使用其他系统?BookStack是一个简单的自托管平台,用于组织和存储信息。BookStack是完全免费且开源的,

如何在Fedora 25上部署Ghost v0.11 LTS

如何在Fedora 25上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

如何在Fedora 28上安装AWStats

如何在Fedora 28上安装AWStats

AWStats是用于分析Web流量的有用工具。可以通过浏览器访问其HTML界面,从而轻松了解谁在查看您

如何在CentOS 8,Ubuntu 18.04,Debian 10和Fedora 31上安装Golang 1.13

如何在CentOS 8,Ubuntu 18.04,Debian 10和Fedora 31上安装Golang 1.13

Go(也称为Golang)是Google开发的一种静态类型的,类似于C的编程语言。追求简单性和多功能性使其成为b

如何在Fedora 28上安装PyroCMS

如何在Fedora 28上安装PyroCMS

使用其他系统?PyroCMS是用PHP编写的开源CMS。PyroCMS源代码托管在GitHub上。在本指南中,请仔细阅读整个条目

如何在Fedora 26 LAMP VPS上安装BlogoText CMS

如何在Fedora 26 LAMP VPS上安装BlogoText CMS

使用其他系统?BlogoText CMS是一个简单,轻便,免费和开源的内容管理系统(CMS)和极简博客引擎

在Fedora 26上安装TaskServer(taskd)

在Fedora 26上安装TaskServer(taskd)

使用其他系统?TaskWarrior是一个开源时间管理工具,它是对Todo.txt应用程序及其克隆的改进。由于

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

使用其他系统?Akaunting是专为小型企业和自由职业者设计的免费,开源和在线会计软件。它是机智建造的

如何在Fedora 29上安装Kanboard

如何在Fedora 29上安装Kanboard

使用其他系统?简介Kanboard是一个免费的开源项目管理软件程序,旨在促进和可视化。

如何在Fedora 28上安装Neos CMS

如何在Fedora 28上安装Neos CMS

使用其他系统?Neos是一个以CMS和应用程序框架为核心的内容应用程序平台。本指南将向您展示如何安装

如何在Fedora 28上安装DokuWiki

如何在Fedora 28上安装DokuWiki

使用其他系统?DokuWiki是用PHP编写的开源Wiki程序,不需要数据库。它将数据存储在文本文件中。德库维克

如何在Fedora 26 LAMP VPS上安装Paste 2.1

如何在Fedora 26 LAMP VPS上安装Paste 2.1

使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是

如何在Fedora 26 LAMP VPS上安装Redaxscript 3.2 CMS

如何在Fedora 26 LAMP VPS上安装Redaxscript 3.2 CMS

使用其他系统?Redaxscript 3.2 CMS是一款现代,超轻量级,免费和开源的内容管理系统(CMS),具有火箭fas

如何在Fedora 30上安装和配置TaskBoard

如何在Fedora 30上安装和配置TaskBoard

使用其他系统?简介TaskBoard是一个免费的开源工具,可以用来跟踪需要完成的事情。它提供

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。