标签 Ghost 下的文章

Ghost 是一个自由开源的内容管理系统(CMS)。如果你还不了解 CMS,那我在此解释一下。CMS 是一种软件,用它可以构建主要专注于创建内容的网站,而无需了解 HTML 和其他与 Web 相关的技术。

事实上,Ghost 是目前最好的开源 CMS 之一。它主要聚焦于创建轻量级、快速加载、界面美观的博客。

Ghost 系统有一个现代直观的编辑器,该编辑器内置 SEO(搜索引擎优化)功能。你也可以用本地桌面(包括 Linux 系统)和移动应用程序。如果你喜欢终端,也可以使用其提供的 CLI(命令行界面)工具。

让我们看看 Ghost 3.0 带来了什么新功能。

Ghost 3.0 的新功能

我通常对开源的 CMS 解决方案很感兴趣。因此,在阅读了官方公告后,我通过在 Digital Ocean 云服务器上安装新的 Ghost 实例来进一步尝试它。

与以前的版本相比,Ghost 3.0 在功能和用户界面上的改进给我留下了深刻的印象。

在此,我将列出一些值得一提的关键点。

书签卡

除了编辑器的所有细微更改之外,3.0 版本现在支持通过输入 URL 添加漂亮的书签卡。

如果你使用过 WordPress(你可能已经注意到,WordPress 需要添加一个插件才能添加类似的卡片),所以该功能绝对是 Ghost 3.0 系统的一个最大改进。

改进的 WordPress 迁移插件

我没有专门对此进行测试,但它更新了 WordPress 的迁移插件,可以让你轻松地将帖子(带有图片)克隆到 Ghost CMS。

基本上,使用该插件,你就能够创建一个存档(包含图片)并将其导入到 Ghost CMS。

响应式图像库和图片

为了使用户体验更好,Ghost 团队还更新了图像库(现已为响应式),以便在所有设备上舒适地呈现你的图片集。

此外,帖子和页面中的图片也更改为响应式的了。

添加成员和订阅选项

Ghost Subscription Model

虽然,该功能目前还处于测试阶段,但如果你是以此平台作为维持你业务关系的重要发布平台,你可以为你的博客添加成员、订阅选项。

该功能可以确保只有订阅的成员才能访问你的博客,你也可以选择让未订阅者也可以访问。

Stripe:集成支付功能

默认情况下,该版本支持 Stripe 付款网关,帮助你轻松启用订阅功能(或使用任何类型的付款的付款方式),而 Ghost 不收取任何额外费用。

新的应用程序集成

你现在可以在 Ghost 3.0 的博客中集成各种流行的应用程序/服务。它可以使很多事情自动化。

默认主题改进

引入的默认主题(设计)已得到改进,现在也提供了夜间模式。

你也可以随时选择创建自定义主题(如果没有可用的预置主题)。

其他小改进

除了所有关键亮点以外,用于创建帖子/页面的可视编辑器也得到了改进(具有某些拖放功能)。

我确定还有很多技术方面的更改,如果你对此感兴趣,可以在他们的更改日志中查看。

Ghost 影响力渐增

要在以 WordPress 为主导的世界中获得认可并不是一件容易的事。但 Ghost 逐渐形成了它的一个专门的发布者社区。

不仅如此,它的托管服务 Ghost Pro 现在拥有像 NASA、Mozilla 和 DuckDuckGo 这样的客户。

在过去的六年中,Ghost 从其 Ghost Pro 客户那里获得了 500 万美元的收入。就从它是致力于开源系统解决方案的非营利组织这一点来讲,这确实是一项成就。

这些收入有助于它们保持独立,避免风险投资家的外部资金投入。Ghost CMS 的托管客户越多,投入到免费和开源的 CMS 的研发款项就越多。

总体而言,Ghost 3.0 是迄今为止提供的最好的升级版本。这些功能给我留下了深刻的印象。

如果你拥有自己的网站,你会使用什么 CMS?你曾经使用过 Ghost 吗?你的体验如何?请在评论部分分享你的想法。


via: https://itsfoss.com/ghost-3-release/

作者:Ankush Das 选题:lujun9972 译者:Morisun029 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Node.js 是用于开发服务器端应用程序的开源的运行时环境。Node.js 应用使用 JavaScript 编写,能在任何有 Node.js 运行时的服务器上运行。它跨平台支持 Linux、Windows、OSX、IBM AIX,也包括 FreeBSD。Node.js 是 Ryan Dahl 以及在 Joyent 工作的其他开发者于 2009 年创建的。它的设计目标就是构建可扩展的网络应用程序。

Ghost 是使用 Node.js 编写的博客平台。它不仅开源,而且有很漂亮的界面设计、对用户友好并且免费。它允许你快速地在网络上发布内容,或者创建你的混合网站。

在这篇指南中我们会在 FreeBSD 上安装使用 Nginx 作为 web 服务器的 Ghost。我们会在 FreeBSD 10.2 上安装 Node.js、Npm、nginx 和 sqlite3。

第一步 - 安装 Node.js npm 和 Sqlite3

如果你想在你的服务器上运行 ghost,你必须安装 node.js。在这一部分,我们会从 freebsd 移植软件库中安装 node.js,请进入库目录 "/usr/ports/www/node" 并通过运行命令 "make" 安装。

cd /usr/ports/www/node
make install clean

如果你已经安装了 node.js,那就进入到 npm 目录并安装它。npm 是用于安装、发布和管理 node 程序的软件包管理器。

cd /usr/ports/www/npm/
make install clean

下一步,安装 sqlite3。默认情况下 ghost 使用 sqlite3 作为数据库系统,但它也支持 mysql/mariadb 和 postgresql。我们会使用 sqlite3 作为默认数据库。

cd /usr/ports/databases/sqlite3/
make install clean

如果安装完了所有软件,还有检查 node.js 和 npm 的版本:

node --version
v0.12.6

npm --version
2.11.3

sqlite3 --version
3.8.10.2

node 和 npm 版本

第二步 - 添加 Ghost 用户

我们会以普通用户 "ghost" 身份安装和运行 ghost。用 "adduser" 命令添加新用户:

adduser ghost
FILL With Your INFO

添加用户 Ghost

第三步 - 安装 Ghost

我们会把 ghost 安装到 "/var/www/" 目录,首先新建目录然后进入到安装目录:

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

用 wget 命令下载最新版本的 ghost:

wget --no-check-certificate https://ghost.org/zip/ghost-latest.zip

把它解压到 "ghost" 目录:

unzip -d ghost ghost-latest.zip

下一步,更改属主为 "ghost",我们会以这个用户安装和运行它。

chown -R ghost:ghost ghost/

都做完了的话,通过输入以下命令切换到 "ghost" 用户:

su - ghost

然后进入到安装目录"/var/www/ghost/":

cd /var/www/ghost/

在安装 ghost 之前,我们需要为 node.js 安装 sqlite3 模块,用 npm 命令安装:

setenv CXX c++ ; npm install sqlite3 --sqlite=/usr/local

注意: 以 “ghost” 用户运行,而不是 root 用户。

现在,我们准备好安装 ghost 了,用 npm 命令安装:

npm install --production

下一步,复制配置文件 "config.example.js" 为 "config.js",用 nano 编辑器编辑:

cp config.example.js config.js
nano -c config.js

更改 server 模块的第 25 行:

host: '0.0.0.0',

保存并退出。

现在用下面的命令运行 ghost:

npm start --production

通过访问服务器 ip 和 2368 号端口验证一下。

Ghost 安装完成

以 “ghost” 用户在 "/var/www/ghost" 目录安装了 ghost。

第四步 - 作为 FreeBSD 服务运行 Ghost

要在 freebsd 上以服务形式运行应用,你需要在 rc.d 目录添加脚本。我们会在 "/usr/local/etc/rc.d/" 目录为 ghost 创建新的服务脚本。

在创建服务脚本之前,为了以服务形式运行 ghost,我们需要安装一个 node.js 模块,用 npm 命令以 sudo/root 权限安装 forever 模块:

npm install forever -g

现在进入到 rc.d 目录并创建名为 ghost 的新文件:

cd /usr/local/etc/rc.d/
nano -c ghost

粘贴下面的服务脚本:

#!/bin/sh

# PROVIDE: ghost
# KEYWORD: shutdown
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"

. /etc/rc.subr

name="ghost"
rcvar="ghost_enable"
extra_commands="status"

load_rc_config ghost
: ${ghost_enable:="NO"}

status_cmd="ghost_status"
start_cmd="ghost_start"
stop_cmd="ghost_stop"
restart_cmd="ghost_restart"

ghost="/var/www/ghost"
log="/var/log/ghost/ghost.log"
ghost_start() {
sudo -u ghost sh -c "cd $ghost && NODE_ENV=production forever start -al $log index.js"
}

ghost_stop() {
sudo -u ghost sh -c "cd $ghost && NODE_ENV=production forever stop index.js"
}

ghost_status() {
sudo -u ghost sh -c "NODE_ENV=production forever list"
}

ghost_restart() {
ghost_stop;
ghost_start;
}

run_rc_command "$1"

保存并退出。

下一步,给 ghost 服务脚本添加可执行权限:

chmod +x ghost

为 ghost 日志创建新的目录和文件,并把属主修改为 ghost 用户:

mkdir -p /var/www/ghost/
touch /var/www/ghost/ghost.log
chown -R /var/www/ghost/

最后,如果你想运行 ghost 服务,你需要用 sysrc 命令添加 ghost 服务到开机启动应用程序:

sysrc ghost_enable=yes

用以下命令启动 ghost:

service ghost start

其它命令:

service ghost stop
service ghost status
service ghost restart

Ghost 服务命令

第五步 - 为 Ghost 安装和配置 Nginx

默认情况下,ghost 会以独立模式运行,你可以不用 Nginx、apache 或 IIS web 服务器直接运行它。但在这篇指南中我们会安装和配置 nginx 和 ghost 一起使用。

用 pkg 命令从 freebsd 库中安装 nginx:

pkg install nginx

下一步,进入 nginx 配置目录并为 virtualhost 配置创建新的目录。

cd /usr/local/etc/nginx/
mkdir virtualhost/

进入 virtualhost 目录,用 nano 编辑器创建名为 ghost.conf 的新文件:

cd virtualhost/
nano -c ghost.conf

粘贴下面的 virtualhost 配置:

server {
listen 80;

#Your Domain
server_name ghost.me;

location ~* \.(?:ico|css|js|gif|jpe?g|png|ttf|woff)$ {
access_log off;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public, mustrevalidate, proxy-revalidate";
proxy_pass http://127.0.0.1:2368;
}

location / {
add_header X-XSS-Protection "1; mode=block";
add_header Cache-Control "public, max-age=0";
add_header Content-Security-Policy "script-src 'self' ; font-src 'self' ; connect-src 'self' ; block-all-mixed-content; reflected-xss block; referrer no-referrer";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
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;
}

location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }

location ~ /\.ht {
deny all;
}

}

保存并退出。

要启用 virtualhost 配置,你需要把那个文件添加到 nginx.conf。进入 nginx 配置目录并编辑 nginx.conf 文件:

cd /usr/local/etc/nginx/
nano -c nginx.conf

在最后一行的前面,包含 virtualhost 配置目录:

[......]

include virtualhost/*.conf;

}

保存并退出。

用命令 "nginx -t" 测试 nginx 配置,如果没有错误,用 sysrc 添加 nginx 到开机启动:

sysrc nginx_enable=yes

并启动 nginx:

service nginx start

现在测试所有 nginx 和 virtualhost 配置。请打开你的浏览器并输入: ghost.me

ghost.me 成功运行

Ghost.me 正在成功运行。

如果你想要检查 nginx 服务器,可以使用 "curl" 命令。

测试 ghost 和 nginx

Ghost 正在 nginx 上运行。

总结

Node.js 是 Ryan Dahl 为创建和开发可扩展服务器端应用程序创建的运行时环境。Ghost 是使用 node.js 编写的开源博客平台,它有漂亮的外观设计并且易于使用。默认情况下,ghost 是可以单独运行的 web 应用程序,并不需要类似 apache、nginx 或 IIS 之类的 web 服务器,但我们也可以和 web 服务器集成(在这篇指南中使用 Nginx)。Sqlite 是 ghost 默认使用的数据库,它还支持 msql/mariadb 和 postgresql。Ghost 能快速部署并且易于使用和配置。


via: http://linoxide.com/linux-how-to/install-ghost-nginx-freebsd-10-2/

作者:Arul 译者:ictlyh 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

2015年1月27日,GNU C库(glibc)的一个漏洞也称鬼影漏洞(GHOST)被公诸于众。总的来说,这个漏洞允许远程攻击者利用glibc中的GetHOST函数的缓冲区溢出漏洞来获得系统的完全控制。点击这里获得更多细节。

鬼影漏洞可在版本在glibc-2.18之前的Linux系统上被利用。也就是说没有打过补丁的版本2.2到2.17都是有风险的。

检查系统漏洞

你可以使用下面的命令来检查glib的版本

ldd --version

输出

ldd (Ubuntu GLIBC 2.19-10ubuntu2) 2.19 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.

glib的版本应该高于2.17,我们的输出是2.19。如果你看到glib的版本在2.2到2.17之间。你应该运行下面的命令。

sudo apt-get update

sudo apt-get dist-upgrade

安装完之后,你应该用下面的命令重启系统。

sudo reboot

重启完成之后,你可以用同样的命令来检查glib的版本。


via: http://www.ubuntugeek.com/how-to-protect-ubuntu-server-against-the-ghost-vulnerability.html

作者:ruchi 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

建议用户马上更新可用的补丁

WordPress validating pingback’s post URL

这个漏洞之前由Qualys的安全研究员发现,并取了绰号叫Ghost,可以利用WordPress或其他PHP应用来攻击网站服务器。

这个瑕疵是一个缓冲区溢出问题,可以被攻击者触发用来获取Linux主机的命令行执行权限。发生在glibc的“\_\_nss\_hostname\_digits\_dots()”函数中,它会被“gethostbyname()”函数用到。

PHP应用可以用来利用这个瑕疵

Sucuri的Marc-Alexandre Montpas说之所以这个问题很重要是因为这些函数在大量软件和服务器系统使用。

“说这是个严重问题的一个例子是WordPress本身:它使用一个叫wp\_http\_validate\_url()的函数来验证每个pingback的发送URL,它是通过PHP应用的“gethostbyname()”函数替代来执行的”,他在周三的一篇博客文章里写到。

攻击者可以用这种方式来引入一个设计用来触发服务器端漏洞的恶意URL,从而获得系统访问权限。

实际上,Trustwave的安全研究人员提供了验证代码,可以使用WordPress的pingback功能引起缓冲区溢出。

多个Linux发行版受到影响

ghost漏洞存在于glibc 2.17以上版本中,发布于2013年5月21日。glibc当前版本是2.20,发布于2014年9月。

不过,当时并没有升级为一个安全补丁,许多发行版并没有包含进去,特别是提供长期支持(LTS)的发行版。

受影响的系统包括Debian 7(wheezy),Red Hat企业版Linux 6和7,CentOS 6和7,Ubuntu 12.04。幸运的是,Linux供应商已经开始发布可以减轻风险的升级补丁。建议用户马上下载并更新。

为了展示这个漏洞,Qualys建立了一个利用它通过Exim邮件服务器运行远程代码的试验页面。这家安全公司声称在这个漏洞丢掉半条命之前不会关闭这个页面,意思是受影响的系统的数量降到50%的水平。

Linux上存在漏洞的应用包括clockdiff,ping和arping(在某些特定情况下),procmail,pppd,和Exim邮件服务器。


via: http://news.softpedia.com/news/WordPress-Can-Be-Used-to-Leverage-Critical-Ghost-Flaw-in-Linux-471730.shtml

作者:Ionut Ilascu 译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

今天我们将会在Ubuntu Server 14.04 LTS (Trusty)上安装一个博客平台Ghost。

Ghost是一款设计优美的发布平台,很容易使用且对任何人都免费。它是免费的开源软件(FOSS),它的源码在Github上。截至2015年1月(LCTT 译注:原文为2014,应为2015),它的界面很简单还有分析面板。编辑使用的是很便利的分屏显示。

因此有了这篇步骤明确的在Ubuntu Server上安装Ghost的教程:

1. 升级Ubuntu

第一步是运行Ubuntu软件升级并安装一系列需要的额外包。

sudo apt-get update
sudo apt-get upgrade -y
sudo aptitude install -y build-essential zip vim wget

2. 下载并安装 Node.js 源码

wget http://nodejs.org/dist/node-latest.tar.gz
tar -xzf node-latest.tar.gz
cd node-v*

现在,我们使用下面的命令安装Node.js:

./configure
make
sudo make install

3. 下载并安装Ghost

sudo mkdir -p /var/www/
cd /var/www/
sudo wget https://ghost.org/zip/ghost-latest.zip
sudo unzip -d ghost ghost-latest.zip
cd ghost/
sudo npm install --production

4. 配置Ghost

sudo nano config.example.js

在“Production”字段,将:

host: '127.0.0.1',

修改成

host: '0.0.0.0',

创建Ghost用户

sudo adduser --shell /bin/bash --gecos 'Ghost application' ghost
sudo chown -R ghost:ghost /var/www/ghost/

现在启动Ghost,你需要以“ghost”用户登录。

su - ghost
cd /var/www/ghost/

现在,你已经以“ghost”用户登录,并可启动Ghost:

npm start --production

via: http://linoxide.com/ubuntu-how-to/install-ghost-ubuntu-server-14-04/

作者:Arun Pyasi 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Ghost是一个相对较新的博客发布平台,它开始于众筹平台kickstarter上一个£25,000英镑的众筹项目。尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发功能的通用内容管理平台,发展到现在已经逐渐变得笨重、复杂以至于难以维护。但与此同时,仅仅诞生才几个月的Ghost坚持以用户为中心,打造精雕细琢的用户界面,承诺要做一个纯粹的博客平台。

在本教程中,我将描述如何在Linux中设置Ghost博客平台

在Linux上安装Ghost

Ghost是使用Node.js框架编写的。因此,首先你需要在你的Linux系统上安装Node.js框架。确保Node.js的版本为0.10或者更高。接下来,登录入http://ghost.org(需要注册),然后下载Ghost的源代码。记着按照下面的步骤安装:

$ sudo mkdir -p /var/www/ghost
$ sudo unzip ghost-0.3.3.zip -d /var/www/ghost
$ cd /var/www/ghost
$ sudo npm install --production

启动前先配置Ghost

在你启动Ghost之前,按照下面的步骤在/var/www/ghost/config.js位置创建它的配置文件。使用你的主机IP地址替换掉“YOUR\_IP”。

$ cd /var/www/ghost
$ sudo cp config.example.js config.js
$ sudo sed -i 's/127.0.0.1/YOUR_IP/g' config.js

以开发者模式尝试运行Ghost

搞到这一步,你就可以准备去启动Ghost咯。

要注意的是,Ghost可以以两种不同的模式运行:“开发者模式”和“用户模式”。为了安全起见,Ghost将两种模式的配置文件(/var/www/ghost/config.js)分开存放。例如,两种不同的模式使用不同的数据库文件(例如位于/var/www/content/data的ghostdev.db和ghost.db)。

使用以下命令就可以启动Ghost。Ghost默认以开发者模式运行。

$ cd /var/www/ghost
$ sudo npm start

Ghost成功运行后,终端中会有以下输出信息,告诉你Ghost正运行在:2368(译者注:2368为端口号)。

在你本机的浏览器中键入 http://:2368,身份校验后你就会看到Ghost的初始页面。

以用户身份启动Ghost

在你确认Ghost运行完好后,按下Ctrl+C停用开发者模式下的Ghost。现在你就可以在用户模式下启动Ghost咯。当你以用户模式运行Ghost时,你就可以使用Node.js呼叫forever模块了,forever模块允许你以守护进程运行Ghost,还可以让你以后台进程运行Ghost。

安装forever模块:

$ sudo npm install forever -g

最后,你就可以以用户模式像下面这样运行Ghost:

$ cd /var/www/ghost
$ sudo NODE_ENV=production forever start index.js

检查一下Ghost的数据库文件是否成功以用户模式创建(/var/www/ghost/content/ghost.db)。

你也可以检查一下forever活动进程列表:

$ sudo forever list
 info:    Forever processes running
 data:        uid  command         script   forever pid   logfile                     uptime
 data:    [0] cH0O /usr/bin/nodejs index.js 15355   15357 /home/dev/.forever/cH0O.log 0:0:0:37.741 

假如你看到以上信息,意味着Ghost已经成功以后台进程运行咯。

想停止Ghost守护进程,可以运行以下命令:

$ cd /var/www/ghost
$ sudo forever stop index.js

via: http://xmodulo.com/2013/11/install-ghost-blogging-platform-linux.html

译者:Linux-pdz 校对:Mr小眼儿

本文由 LCTT 原创翻译,Linux中国 荣誉推出