猫窝私语 — Makumo's Blog

玛酷猫的温馨小窝,记录生活点点滴滴。

@玛酷猫6 年前

01/3
23:01
WordPress 建站日志

小窝加装泛域名SSL证书

(本来打算写在上篇的,篇幅有点长,干脆拆成两篇好了)
书接上回,话说随着chrome的版本更新,所有的http访问的网站都会在网址前面标一个大大的不安全,这都9102年了,不给网站弄的SSL证书也太不像话了。免费证书哪家强,当然是选择Let’s Encrypt,而且今年去年年中的时候已经支持泛域名的证书,B格更高,同时也推出了新的申请方式,相对于以前单个域名的申请,方便很多。

首先要下载acme.sh,安装成功后断开重新连接下终端,要不会后续的命令提示找不到

curl https://get.acme.sh | sh

由于acme.sh可以自动配置DNS,这就需要获取到域名的API,我的域名是使用DNSPOD解析的,这里就用DNSPOD做例子,其他的请参考官方指南。登录DNSPOD,在控制台——用户中心——安全设置里面,启用API Token,创建新的API Token,这里一定要保存好Token,因为这个是只显示一次,关掉后就没法获取完整,只能删掉重新建,同时记下Token对应的ID,然后运行下面命令,等待120秒验证,屏幕上会显示倒计时,如果一切正常的话,屏幕会显示申请成功并显示4个证书文件的路径。

export DP_Id='ID数字'
export DP_Key='Token字符串'
acme.sh --issue -d makumo.com -d *.makumo.com --dns dns_dp

然后打开站点的Nginx的配置文件,添加相关的配置,例如:

server 
    {
        listen 443 http2 ssl;
        server_name makumo.com;
        index index.html index.php;
        root  站点目录;
        ssl_certificate /root/.acme.sh/makumo.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/makumo.com/makumo.com.key;
        ssl_trusted_certificate  /root/.acme.sh/makumo.com/ca.cer;
        include proxy-pass-php.conf;
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
        location ~ /\.
        {
            deny all;
        }
}

proxy-pass-php.conf文件即为上一篇中的关于转发到Apache的部分.

nginx -s reload

重新加载Nginx配置文件就能使用https访问站点,这时候还会存在几个问题,站点中图片、脚本、样式还是使用的http来引入,在浏览器中会报出错误,后台无法进入,浏览器会显示过多的重定向,网络里面会看到一堆的302重定向,搜了下,绝大部分都会说在Wordpress配置文件中添加开启SSL的配置,如下:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

但是我这么设置后,前台没问题了,后台还是无法进入,虽然不报过多的重定向,直接报403错误了。
搜素了半天,还在有更简便的解决方案,安装插件really-simple-ssl,一次性解决各种恶心的问题。
另外,由于站点使用七牛作为图片的CDN缓存,站点切换为https后也需要将七牛的CDN改成https模式,在七牛的后台添加下证书(之前申请证书的4个文件,fullchain.cer是证书,域名.key就是对应的密钥),关联域名开启SSL就好了,这也是泛域名证书的方便之处,不用再次申请单域名证书了。七牛的https是收费的,看了下,0.28元/G,之前还有赠送的10元余额。应该能用段时间。

小窝加装泛域名SSL证书

@玛酷猫16 年前

12/13
02:32
WordPress 建站日志

小窝顺利更新至wordpress 2.7 正式版

昨天(准确的说是前天,已经过了12点了=。=!)登陆后台发现wordpress 2.7 正式版已经发布了,当时太晚了,也就没来的及更新。刚刚把2.7DOWN了下来,依旧老样子的程序:备份文件,备份数据库,覆盖程序,最后upgrade一下,一切都很顺利,有不少人说2.7版和mg12的主题有些冲突,不过我这是没有遇到过。

一进后台超级不适应,整个后台大换脸,看来还是要有短时间来适应下,不过整体来看还是很漂亮的,使用起来非常舒服,新加入的评论分页还没有机会尝试,毕竟来小窝串门的人还不是很多,以后还是有机会的,其他的新功能在慢慢研究了,已经2点了,明天还要去单位参加培训,休息去喽O(∩_∩)O

小窝顺利更新至wordpress 2.7 正式版

@玛酷猫16 年前

11/29
23:42
WordPress

wordpress自带标签云设置

总觉得标签云有些怪怪的,感觉使用标签不止这么多,而且最大的字体有些大了。于是乎发动懒猫精神上网搜索了下,这一刻搜索引擎是强大的 😀

在[name]Slyar,http://www.slyar.com/blog/[/name]的blog上看到相关的一篇文章[name]修改WordPress标签云的字体大小以及显示数量,http://www.slyar.com/blog/tag-cloud-font.html[/name]介绍到标签云的一系列参数,顺便也转录过来了:

smallest – Adjusts the size of the smallest tags in the cloud. Default is “8”.
largest – Adjusts the size of the biggest tags in the cloud. Default is “22”.
unit – Sets the unit type for font size (i.e. point or em). Default is “pt”.
number – How many tags will display in the cloud. Default is “45”.
format – “Flat” displays an inline cloud with each term separated by whitespace. “List” generates an unordered list. “Array” lets you define an array of tags. Default is “flat”.
orderby – Sort the cloud by “name” or “count”. Default is “name”.
order – Sort the cloud in ascending or descending order. Default is “ASC”.

把参数值写入wp-includeswidgets.php中的wp_tag_cloud()函数中即可,例如:

wp_tag_cloud('unit=px&smallest=12&largest=20&number=50&orderby=count');

即把标签云设置成最大字体20像素,最小字体12像素,显示数目50,按照使用次数排序

wordpress自带标签云设置

@玛酷猫16 年前

11/18
23:42
WordPress 建站日志

SEO、点击数、其他

这今天看了几篇SEO相关的文章,正好手边有个良好的测试对象,就拿自己的小窝试一试。懒猫当然是借助插件帮忙了,先去下载了[name]All in One SEO Pack,http://wordpress.org/extend/plugins/all-in-one-seo-pack/[/name],其实可以自己修改相关文件来达到插件的作用,不过作为标准懒猫,还是拿来主义O(∩_∩)O。不过有点比较郁闷的是插件包里面带着有zh_CN.mo的语言包,为什么显示还是英文=。=不过好在比较简单,英文也就凑合这用了。设置完成后将WP默认的“站名-文章名”的title转变成对搜索引擎相对友好的“文章名-站名”,同时也把页面中的keyword和description填补了起来。在编写文章的时候也可以填写相关SEO的内容,还是很方便的。顺便补完了分类的描述,使分类页面中间的description能正常显示,不过显示出来的文字前后多了个<p></p>。。改天找下对应的函数,把这个抹掉。

WP居然不自带文章点击数的统计,难道国外的博客都不将点击数作为一种衡量标准吗?虽然说点击数水分比较大,但是也不至于舍弃这个功能吧,也仅仅是加个字段,加几句代码罢了。依旧发挥懒猫精神,下了[name]wp-postviews,http://lesterchan.net/wordpress/readme/wp-postviews.html[/name],安装后,在样式侧边管理里面多了一个新的模块,可以显示热门文章了,不过我遇到了两个很奇怪的问题,一个就是将计数器控制调整成everyone,怎么刷新都不见点击数加1;另外就是之前All in One SEO Pack所设置的meta标签内容全部乱码了-_-!暂时先停止这个插件,之后慢慢研究那块冲突了。

懒猫还是比较爱吃的,准备抽个时间把以前网上搜索的食谱整理下,发出来,一是方便自己查找,二是有福共享嘛。

晚上天气还是好冷。。。打一会字就手脚冰凉了,不多写了,钻被窝了。O(∩_∩)O

SEO、点击数、其他

@玛酷猫16 年前

11/14
00:30
WordPress 建站日志

解决wordpress留言评论者IP都是127.0.0.1

刚刚开始用2.1版本的时候就发现这个问题,所有评论这的IP都是127.0.0.1,当时也没在意,心想可能是那块没有设置好,反正评论的人也不多。前几天更新成2.6.3后,发现这个问题依旧存在,127.0.0.1似乎在评论审核的黑名单中,弄的所有的评论都变成垃圾评论,都要一个个审核,很是烦人。

上网查了下资料,遇到这个问题的人并不多,还在有人提起,也有热心人回复了大概原因以及大概解决方案:原因是空间商启用了某种缓存机制导致取IP产生错误,使得结果都是本机IP,也就是127.0.0.1。解决方案也很简单,更换获取IP语句就好。

查了下PHP获取IP的语句,主要是以下几种

$_SERVER["HTTP_X_FORWARDED_FOR"; 
$_SERVER["HTTP_CLIENT_IP"]; 
$_SERVER["REMOTE_ADDR"]; 
getenv("HTTP_X_FORWARDED_FOR"); 
getenv("HTTP_CLIENT_IP"); 
getenv("REMOTE_ADDR"); 

剩下的就很简单了,写一个测试页面,一个一个试,看那个能显示正确的IP地址,在修改/wp-includes/comment.php ,我的文件是在第718行

	
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['REMOTE_ADDR'] );

将$_SERVER[‘REMOTE_ADDR’]改成上面测试正确IP的语句,问题解决。

本人对PHP还是初学者阶段,如有叙述不当之处,还希望多多斧正。

解决wordpress留言评论者IP都是127.0.0.1

@玛酷猫16 年前

11/13
01:01
WordPress 建站日志

WP的代码高亮提示插件

今天无意翻阅以前发的文章,发现原来使用的高亮插件coolcode版面乱掉了,试着调了一会CSS,效果依旧不是很理想,无奈只有放弃。(后来才发现是定了首行缩进的缘故,不过考虑到coolcode修改经常标签丢失,也还是放弃了)

在网上搜索了下,先用的是[name]Syntax Highlighter,http://code.google.com/p/syntaxhighlighter/[/name],页面显示还是很漂亮的,不过可能是纯JS的缘故,我这显示总是用一种滞后。页面打开后,显示的是普通的代码,代码比较长,页面版面变形厉害,等页面输出完毕后,代码部分才变成需要的高亮样式,感觉比较难受,而且个人喜欢使用禁用JS的火狐上网,看自己页面效果全无。只有先放一边了。

下载[name]iG Syntax Hiliter,http://blog.igeek.info/still-fresh/2006/02/25/code-for-fun/[/name],启用的时候不同的提示严重错误,无法启动,错误代码是:路径/geshi.php不存在,一头雾水,在服务器上查了下,文件的确在那,头晕中。

[name]Highlight Source Pro,http://blog.kno.at/tools/highlight-source-pro[/name]和[name]WP-Syntax,http://wordpress.org/extend/plugins/wp-syntax/[/name]有点类似,使用pre标签,每行代码短还好,代码一长,滚动条就出来了,有点破坏整体风格,虽然有些人可能喜欢滚动条。

暂时先用着WP-Syntax了,毕竟用到代码的地方并不是很多,有空再去网上找找其他的高亮插件了。

WP的代码高亮提示插件

@玛酷猫17 年前

06/18
17:34
WordPress

coolcode——在wordpress中插入源代码

之前写过几片包含部分源代码文章,由于不知道如何在wordpress中正确显示源代码,就直接换个颜色,当普通文本编辑了。不过总觉的很别扭,虽然和正文的颜色不同,看上去还是一团团的,分不清那个是那个。老办法,GOOGLE下,网上资源还是很丰富的啦。
先是找到一个叫 [name]Syntax Highlighter – php Beautifier,http://scott.yang.id.au/project/phphighlighter/[/name] 的插件 不过作者的页面好象被删除了,找不到具体的下载地址,继续搜索发现了一个叫 [name]CoolCode,http://www.coolcode.cn/andot/wordpress-plugin-coolcode/26[/name] 的插件,这里有详细的使用说明和下载,就不在文中引用了,下载安装后感觉不错,很清楚的高亮着色显示代码。
例子如下(这个是Hello, Dolly中的一段代码):

(更新版本、模板后coolcode显示错位了。。。调了半天也没调好,无奈放弃了。2008-11-12注)

coolcode——在wordpress中插入源代码

@玛酷猫17 年前

06/18
12:58
WordPress 建站日志

K2的树型分类显示

今天在一个二级分类里加了篇文章,回到首页发现侧边栏的文章分类变的乱七八糟了,试着自己调整下未果,于是乎祭起GOOGLE法器。参考了 肚破惊天 和 懶懶喵 的两篇相关文章,在wp_list_cats()中加上hierarchical=1,终于搞定。转摘如下:

wp_list_cats()各個自設選項列表如下,中间用连接符&连接

sort_column
ID 或 name,预设为 ‘ID
分别为依 ID 值或分类名称排序

sort_order
asc 或 desc,预设为递增 asc
排序递增或递减

list
0 或 1,预设为以清单方式显示: 1
设定是否以清单方式显示
将会在分类上加上<ul> <li>

optiondates
0 或 1,预设为不显示: 0
设定是否显示每个分类下最新发表文章的发表日期
optioncount
0 或 1,预设为不显示: 0
是否显示分类所拥有的文章计数

hide_empty
0 或 1,预设为隐藏: 1
设定是否隐藏无文章的分类

use_desc_for_title
0 或 1,预设为显示成分类说明: 1
设定分类连结的title是否显示为分类说明
<a title=”分类说明” href=”…>

children
0 或 1,预设为显示: 1
是否显示子分类

hierarchical
0 或 1,预设为层级方式显示: 1
子分类是否以层级方式显示

child_of
无默认值
只显示某项分类(ID)的子分类
child_of=分类ID值
有设定此项目的话,hide_empty要设为0

exclude
无默认值
设定不要显示的分类ID,可为复数
如 exclude=ID1,ID2,ID3,…..

feed
无默认值
设定分类 RSS 的显示文字
如 feed=RSS
如果这个项目有设定的话,分类之后将会显示分类Feed的连结

feed_image
无默认值
设定分类 RSS 的图片路径
如 feed=images/rss.gif
如果同时有设定 feed_image 与 feed,则将以 feed_image 为主

还要在k2的style.css里加一段代码,先找到sytle.css里的这段代码

/*- Sidebar Subpages Menu */
.sb-pagemenu ul {
margin-left: 10px;
}

在/*- Sidebar Subpages Menu */后面加上

.sb-categories ul.children {
margin: 0 0 0 20px;
}

即可

K2的树型分类显示

@玛酷猫18 年前

05/21
16:33
WordPress 建站日志

更换了K2的汉化文件

  更换了K2的汉化MO文件,这下翻译看起来舒服多了。也比较符合中国人的说话习惯。文章的显示时间也去掉了TIME部分,只有日期了,简洁了很多。用PoEdit看了K2的PO文件,感觉还是很有意思的,可以根据需要调整翻译的词语顺序结构了。用文本编辑器修改页面代码,写入中文部分经常显示出来是乱码,用主题编辑器处理就能正确显示,比较费解,看起来都是文本编辑器,估计可能是编辑器代码选的不对。另外感觉可以写入特殊英文字段在用MO文件转下,有空去试试。

更换了K2的汉化文件