写在前面:由于实在无法忍受OpenShift在国内的速度以及安全宝的时不时抽风,在加上github联合DO的100刀优惠,终于剁手入了DO.现已将个人博客迁移至quericy.me,全过程记录如下,以作备用.

首先是福利

先是在V2EX上看到:《Github 联合 N 多公司发放教育福利,包括免费 Micro,DO 100 刀,Sendgrid 学生免费,Namecheap 免费.me 和免费 SSL 等等》的消息,于是果断入了域名和DO服务器(地址: https://education.github.com/pack ,需要edu邮箱)
使用edu邮箱关联github以及申请.me域名的过程就不多作阐述了.拿到DO的激活码后,先注册DO并用paypal开通服务器,再输入充值码,准备工作就此搞定.

使用DNSPOD进行域名解析

1,注册DNSPOD账户,添加申请到的.me免费域名,接着dnspod会提示未指定dns.接着我们到Namecheap的面板中点击域名,在Transfer Dns选项中,填入dnspod的域名服务器f1g1ns1.dnspod.net和f1g1ns2.dnspod.net.此后我们便可以在dnspod上进行域名的解析工作了.
DNSPOD

2,在DO中建立VPS,在Droplets中找到当前主机的IP地址,在dnspod中我们的域名上添加一条A记录,主机记录可以为@(不带二级域名)或者需要的二级域名.记录值填写刚才获取到的ip.域名解析便完成了,之后需要做的就是然后坐等dns生效了.

当然也可以在命令提示符中使用ipconfig /flushdns的方式刷新本地dns缓存,再用ping IP地址的方式是否能ping通

DNSPOD在国内一般2分钟就能生效,全球生效是48小时,而用Namecheap自带的DNS解析服务的话,我们国内也要等48小时才会生效.

LAMP安全配置

LAMP的搭建不多说,可参见本人的另一篇博文在AZURE上安装CENTOS及LAMP,这里与之前文章的区别在于单独为搭建博客使用,并进行简单的安全配置.

在安装完MySql后,执行mysql_secure_installation进行安全配置,并尽量为root设置安全而复杂的密码,且关闭root的远程登录.
然后执行:

1
2
CREATE DATABASE WordPressDB//博客数据库名,请自行更改
grant all privileges on WordPressDB.* to 用户名@'localhost' identified by "用户密码"

来为博客新建一个数据库,并为其单独指定一个MySql用户,该用户有且只拥有对博客数据库的所有权限,并且只能在localhost(也就是我们的VPS的本地)进行登录.

安装完php后,修改php.ini,主要修改post_max_size 和 upload_max_filesize,分别是对上传和下载的文件最大值的限制,设置为32M一般也够用了.

安装完LAMP后,进入网站目录文件(/var/www/html/)中,使用chrown apache:root /var/www/html/ 和 chmod 750 /var/www/html/ 来配置权限(由于需要配置芒果云,所以需要其他文件夹的访问权限和芒果云data目录的写权限,故如此配置,但本人无法确定这样做的安全性,如有隐患,还麻烦各位指出,不胜感激~)

(可选)配置资源文件管理器(芒果云)

由于Linux管理博客文件和上传下载的不便,所以一般会使用Winscp来进行ssh和ftp的上传下载操作.这里本人使用更加方便的芒果云来代替Winscp进行资源文件管理.

芒果云的源码可以从芒果云官网进行下载,安装也十分方便,解压到网站目录(本例中是/var/www/html/)可以给文件夹单独取个名字,然后用chmod命令为data目录分配读写权限,如果一切正常,访问域名+芒果云所在目录后就可以看到登录界面了.
如果提示缺少什么组件,就使用yum install进行安装,然后service httpd restart重启相关服务就可以了.

接下来,一定要对芒果云进行安全配置,不然~ ~ _(:з」∠)__

首先使用admin默认密码登录芒果云,然后在右上角用户管理中,删除demo和guest用户,然后新建一个Administrator组的账号,键入需要的用户名和强密码(芒果云的一个bug,密码不能带#和一小部分特殊字符,建立的时候要特别注意).然后可以试试能否登录.

但是芒果云是不能删除admin用户的,这样对用户名和密码猜解来说等于降低难度.然后,使用芒果云进入芒果云的文件目录->data->system,找到member.php,打开它.把”admin”:{*}这一串给删掉,注意花括号要对应.然后保存,这样就删除了admin用户的登录权限了.
MangGuoYunAmin

配置并安装WordPress

总算要到安装WordPress了,先去官网下载中文版的WordPress,用unzip来解压zip文件,如果装了芒果云,也可以用芒果云直接在zip包上右键解压.然后编辑wp-config-sample.php文件,修改下MySql用户信息,如下:

1
2
3
4
5
6
7
8
9
10
11
/** MySQL数据库名 */
define(‘DB_NAME’, ‘WordPressDB’);

/** MySQL数据库用户名 */
define(‘DB_USER’, ‘刚才新建的博客专用MySql用户名’);

/** MySQL数据库密码 */
define(‘DB_PASSWORD’, ‘用户密码’)

/** MySQL主机(不用修改) */
define(‘DB_HOST’, ‘localhost’);

保存后将wp-config-sample.php重命名为wp-config.php.然后将WordPress文件夹下的所有文件和文件夹拷贝到网站根目录(/var/www/html/)下.访问域名,如果一切正常,就可以看到WordPress的安装配置界面了!
WordPressSetup

迁移博客

如果是从旧博客迁移的话,还有一步要走,那就是旧数据迁移.插件还好说,芒果云直接对拷/wp-content/plugins/下的所有文件即可.
而数据迁移就需要特别慎重了.特别的是,如果更换域名的话,图片路径中的域名也是要变的.
而单纯的数据库导入导出的话,用原域名导入就会一团糟,比如新域名和WordPress后台填写的域名不一致导致ssl证书错误等等~ ~
所以,在把原来的旧站干掉前,我们还需要给旧站的WordPress安装一个WordPress迁移数据替换的插件:WP Migrate DB

安装后,将原域名->新域名,以及旧网站根目录->新网站根目录对应填写正确,检查无误后,点击Migrate DB导出数据库,然后使用芒果云的Adminer或者ssh登录并上传数据库sql文件,然后导入数据到指定的博客数据库中(为了不冲突,最好将旧的表备份好然后全部删掉)

如果一切顺利,重新访问WordPress,会提示数据库已经更新,点击继续,就会发现,一切都正常运行了!

至此,博客迁移完毕~ ~ 开始快乐的玩耍吧~ ~ - ( ≧ ▽ ≦)つロ

参考链接:
购买DigtalOcean VPS 安装WordPress 完整过程