为了换上传说中写作体验超级好的 Ghost,我下了狠心把 VPS 上的所有内容全部删除,把系统从 CentOS 5 升级到 CentOS 6,在各种教程和手册的指导下花费了一个下午的时间终于配置好了 Ghost。
一句话总结:能把 Ghost 在 VPS 上配置好的人都值得拿高薪,太麻烦了!
下面的内容包括了我这一下午折腾的所有操作,你可以根据自己的需要选择阅读。当然如果你也想从头开始安装 Ghost,可以按顺序阅读本文。
基本信息本次操作涉及以下内容:
操作系统:CentOS6 32位(查看方式:cat /etc/*release*)
node版本:0.10.26
Ghost版本:0.4.1
nginx版本:1.4.7
MySQL版本:5.5
操作步骤:
通过 yum 安装 node
通过 yum 安装 nginx
通过 yum 安装 MySQL*
下载 Ghost 源码
配置 MySQL
配置 nginx
配置 Ghost
WordPress原有数据导入
*Ghost 支持 MySQL 或 SQLite3 数据库,为了日后扩展或迁移方便,我决定使用 MySQL。若你选择使用 SQLite3,可以跳过 MySQL 的相关步骤,同时在 Ghost 的 config.js 中使用自己的配置。
编译node原本我的 VPS 上快乐的运行着 LNMP 环境,本以为再直接装上 node 即可,谁知道 yum 无法直接安装 node。
根据 node 官方的 wiki, CentOS 需要先安装 epel 的 yum repo 才能使用 yum 安装 node。
#更新 yum 的 repo list rpm -Uvh download-i2.Fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm #同时安装 node 和 npm sudo yum install nodejs npm --enablerepo=epel安装完成后,分别使用node -v 和 npm -v 来确认 node 和 npm 以及功能安装成功。
其实是在写这篇博客的时候才发现可以直接通过 yum 装,我自己是直接编译的 node 源码……
安装nginx安装 nginx 的步骤和 node 类似,更新源列表然后直接安装。
#下载 repo 列表 wget nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm #通过 rpm 添加列表 rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm #通过 yum 安装 nginx yum install nginx #将 nginx 设置为开机启动(可选,推荐) chkconfig nginx on #启动 nginx 服务 service nginx start下面是一些常用的 nginx 相关文件地址:
主配置文件:/etc/nginx/nginx.conf
默认主机配置文件:/etc/nginx/conf.d/default.conf
默认日志目录:/var/log/nginx/
安装MySQL步骤依然类似,不再添加注释。
rpm -Uvh dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh rpms.famillecollet.com/enterprise/remi-release-6.rpm yum --enablerepo=remi,remi-test install mysql mysql-server service mysqld start chkconfig mysqld on 安装 Ghost这个简单,因为 node 环境已经部署好,运行 Ghost 只需要将 Ghost 的源码下载并解压就好了。
这里我把 /var/www 设置为服务器的根目录,你可以根据你的喜好进行设置,但是注意在下面的脚本中替换相关路径。
cd /var && mkdir www && cd www wget dl.ghostchina.com/Ghost-0.4.1.zip && unzip Ghost*现在 /var/www 目录结构如下(使用ls查看):
. ├── config.js ├── content ├── core ├── Gruntfile.js ├── index.js ├── LICENSE ├── node_modules ├── package.json └── README.md 配置MySQLMySQL 默认用户名为 root,默认密码为空,这是十分不安全的。因此我们要对 MySQL 进行一些简单的安全配置,然后为 Ghost 创建一个专门的数据库和专门的用户(使用root用户来连接Ghost使用的数据库是十分不安全的做法!)。
mysql_secure_installation
运行上述命令可以进入 MySQL 的交互式安装程序,基本流程是:
输入安装 MySQL 时指定的 root 密码,一般直接按回车
是否改变 root 密码,输入 y
输入新的 root 密码
是否删除匿名用户,输入 y
是否禁止 root 远程登录,输入 y
是否删除默认的 test 数据库,输入 y
是否马上应用最新的设置,输入 y
至此整个 MySQL 的安装过程结束。下一步开始创建为 Ghost 专用的用户名和数据库。
#登录MySQL mysql -u root -p 你的密码 #创建名为ghost的用户并新建名为ghost的数据库,同时给ghost用户授予ghost数据库的所有权限 CREATE DATABASE ghost; GRANT ALL PRIVILEGES ON ghost.* To 'ghost'@'127.0.0.1' IDENTIFIED BY '为ghost用户设置一个与root不同的密码'; 配置nginx安装完 nginx 后,它的主配置文件在 /etc/nginx/nginx.conf,但是这里面没有太多要修改的东西。