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

加载更多搜索结果...

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

如何在 Ubuntu 15.10 上使用 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. 结论

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

Ghost 是一个功能强大的开源发布和博客平台,设计精美且易于使用。 Ghost 是用 javascript 编写的,使用 node.js 作为运行环境。 Ghost 已于 2013 年在 MIT 许可下发布。

先决条件

  • Ubuntu 15.10
  • 根权限

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

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

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

对于本教程,我们将使用 node.js v0.12。 Node.js 可以从源代码或 nodesource.com 存储库安装。我们将使用 node.js 存储库 https://deb.nodesource.com/node_0.12 进行安装。

请通过执行以下命令添加和更新存储库:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

接下来使用 apt 安装 node.js:

sudo apt-get install -y nodejs

现在检查 node.js 版本:

node --version

v0.12.7

并检查 npm 版本:

npm --version

2.11.3

Npm 是用于安装、发布和管理节点程序的 node.js 包管理器。

第 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 命令以 root/sudo 安装 Ghost:

cd ghostblog/
npm install --production

第 3 步 - 配置 Ghost

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

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

现在用 vim 编辑器打开配置文件:

vim config.js

在服务器块(第 27 行),将主机值更改为 0.0.0.0。

host = 0.0.0.0

允许从外部访问博客。保存并退出。

然后添加新用户“ghost”。该用户将用于运行 ghost:

sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD

现在将 ghost 安装目录的所有者更改为用户 \ghost\。

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

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

su - ghost

并转到 Ghost 安装目录并启动它:

cd /var/www/ghostblog
npm start --production

访问端口 2368 上的服务器 IP,在我的例子中:192.168.1.104:2368

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

sudo cd /lib/systemd/system/
sudo 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 守护进程:

sudo systemctl daemon-reload

添加Ghost服务开机自动启动,使用systemctl命令启动Ghost:

sudo systemctl enable ghost
sudo systemctl start ghost

第 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>

保存并退出。

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

sudo a2enmod ssl headers
sudo systemctl restart apache2

测试

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

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

结论

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

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