如何在 Ubuntu 16.04 上使用 Apache 和 SSL 安装 Ghost 博客软件如何在 Ubuntu 16.04 上使用 Apache 和 SSL 安装 Ghost 博客软件如何在 Ubuntu 16.04 上使用 Apache 和 SSL 安装 Ghost 博客软件如何在 Ubuntu 16.04 上使用 Apache 和 SSL 安装 Ghost 博客软件
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上使用 Apache 和 SSL 安装 Ghost 博客软件

本教程适用于这些操作系统版本

  • Ubuntu 16.04(Xenial Xerus)
  • Ubuntu 15.10(Wily Werewolf)

在此页

  1. 先决条件
  2. 第 1 步 - 在 Ubuntu 上安装 Node.js
  3. 第 2 步 - 安装 Ghost 博客
  4. 第 3 步 - 配置 Ghost
  5. 第 4 步 - 安装 Apache 和 Ghost VirtualHost
  6. 第 5 步 - 为 Ghost 启用 SSL
  7. 测试
  8. 结论

Ghost 是一个功能强大的开源发布和博客平台,设计精美且易于使用。 Ghost 是用 javascript 编写的,使用 node.js 作为运行环境。第一个 Ghost 版本于 2013 年在 MIT 许可下发布,并不断更新。本教程展示了在 Ubuntu 16.04 上安装 Ghost Blog 软件、Node.js 和 Apache 作为 SSL 代理服务器。

Nodejs 是一个开源的 javaScript 运行时,它建立在 Chromes V8 JavaScript 引擎 (v4) 之上,用于开发服务器端网络应用程序。 Nodejs 是一个跨平台运行时,可以在 OS X、Microsoft Windows、Linux 和 FreeBSD 上运行。它提供了一个事件驱动的架构和非阻塞 I/O 模型,使其对于实时 Web 应用程序来说轻量级且高效。 Node.js 项目于 2009 年由 Ryan Dahl 启动,截至今天已达到 6.5.0 (LTS) 版本。

先决条件

  • Ubuntu 16.04
  • 根权限

我们将在本教程中做什么:

  • 安装 Node.js
  • 安装幽灵
  • 配置幽灵
  • 安装 Apache 并添加 Ghost VirtualHost
  • 为 Ghost 启用 SSL

步骤 1- 在 Ubuntu 上安装 Node.js

对于本教程,我们将使用 nodejs v4.x。 Nodejs 可以通过多种不同的方式安装,例如从源代码安装或从 Ubuntu 存储库安装。我将使用 nodesecure https://deb.nodesource.com/node_4.x 的 nodejs 存储库进行安装,它包含最新的软件,使用存储库可以轻松更新 node.js之后。

使用以下命令安装 nodesource 存储库密钥:

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

然后通过执行以下命令添加 nodejs 存储库:

sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list

更新存储库:

sudo apt-get update

现在我们可以安装 \nodejs\ 包,它将在服务器上安装 node.js 及其依赖项:

sudo apt-get install -y nodejs

现在检查nodejs版本以确保安装成功:

node --version

检查 npm 版本:

npm --version

npm 是一个包管理器,用于安装、发布和管理节点程序。

第 2 步 - 安装 Ghost 博客

我们将ghost安装在\/var/www/\目录下,使用最新版本的Ghost。请在 /var 中新建目录 \www\ 并使用 \cd\ 进入:

mkdir -p /var/www/
cd /var/www/

使用 wget 命令下载 Ghost,然后将其解压缩到名为“ghostblog”的目录中:

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

注意:-d:自动创建目录。

然后转到 ghostblog 目录并使用 npm 命令安装 Ghost:

cd ghostblog/
sudo npm install --production

第 3 步 - 配置 Ghost

请进入 ghostblog 目录,然后将配置示例文件复制到 \config.js\

cd /var/www/ghostblog/
cp config.example.js config.js

接下来,添加一个新用户“ghost”。该用户将被起诉运行 Ghost :

useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER

笔记:

-d=在 /var/www/ 中定义 ghost 用户的主目录。

-s=为 ghost 用户定义 shell。

现在把ghost安装目录的属主改成用户\ghost\。

chown -R ghost:ghost /var/www/ghostblog

通过以 ghost 用户身份执行 npm 命令来测试 ghost 博客。请以用户ghost登录:

su - ghost

然后进入安装目录并启动Ghost:

cd ghostblog/
npm start --production

Ghost 已安装并运行在端口为 2368 的本地主机上。我们可以使用 curl 命令检查它:

curl -I localhost:2368

您可以看到 ghost 正在运行 - HTTP/1.1 200 OK。

我们将ghost作为服务来运行,方便我们启动ghost。请通过键入 \exit\ 返回到 sudo/root 用户,并在目录 \/lib/systemd/system/\ 中创建一个名为 \ghost.service\ 的新文件。

cd /lib/systemd/system/
vim ghost.service

粘贴下面的 systemd 脚本:

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
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

接下来,重新加载 systemd 守护进程:

systemctl daemon-reload

然后添加开机启动ghost,用systemctl命令启动ghost:

systemctl enable ghost
systemctl start ghost

通过检查端口 2368 检查 ghost 是否正在运行:

netstat -plntu

第 4 步 - 安装 Apache 和 Ghost VirtualHost

使用 apt-get 命令安装 apache:

sudo apt-get install apache2

安装完成后,在目录\/etc/apache2/sites-available/\ 中为ghost 虚拟主机创建一个新文件。

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

粘贴下面的配置:

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

保存并退出。

使用命令 a2enmod 在 apache 中激活 HTTP 代理模块,如下所示:

sudo a2enmod proxy proxy_http

最后,我们要激活Ghost虚拟主机,然后重启apache:

sudo a2ensite ghostblog
sudo systemctl restart apache2

重启幽灵:

sudo systemctl restart ghost

通过访问域进行测试:http://ghostblog.me

第 5 步 - 为 Ghost 启用 SSL

要在 apache 上启用 SSL,请确保系统上安装了 OpenSSL 库。我们将在目录\/etc/apache2/certs\ 中生成新的密钥和crt 文件。首先,我们制作新的目录证书:

sudo mkdir -p /etc/apache2/certs

并使用以下命令生成证书密钥:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

请更改证书文件的权限:

sudo cd /etc/apache2/certs/
sudo chmod 600 *

接下来,通过编辑“ghostblog.conf”文件将 SSL 配置添加到 ghost 虚拟主机。

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

在下面粘贴新的配置脚本:

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

保存文件并退出 vim。

激活 OpenSSL apache 模块并重新启动 apache:

sudo a2enmod ssl headers
sudo systemctl restart apache2

测试

访问 http://ghostblog.me,您将被强制转到博客的 HTTPS/SSL 站点。

带有 apache 和 SSL 的 Ghost 已成功安装。

结论

Nodejs 是一个开源的多平台 javascript 运行时,用于构建服务器端 Web 应用程序。它对于实时 Web 应用程序来说是轻量级和高效的。 Ghost 是一个用 Javascript 为 Node.js 编写的博客平台。 Ghost 设计精美且用户友好。直观的界面使这个博客系统易于使用。 Ghost 可以独立安装,也可以与 Apache 或 Nginx 等网络服务器一起安装。您可以使用 OpenSSL 保护 Ghost。使用 Apache 和 OpenSSL 配置 Ghost 很容易,您只需设置 apache http_proxy 模块并生成 SSL 证书。

©2015-2025 艾丽卡 support@alaica.com