-- hd [2004-08-05 22:38:15]
PyBlosxom
一直在考虑使用一个Blog系统加强woodpecker的社区,最终选定了pyblosxom。pyblosxom到现在还没有加入到FreeBSD的ports中来,我将它的安装记录下来,希望对将来使用它的人有一个参考。
这里我们讲述的安装模式为多人使用的模式,因为我们需要为woodpecker社区中的参与者们每一个人开放一个空间。对于一个用户的安装方法会更简单,请参考pyblosxom的INSTALL。
本文所说明的为pyblosxom 1.0版本的安装信息,其它版本主参考相应版本的INSTALL文件。
使用需求
- 一个Web服务器(可以使用FreeBSD支持的非常好的Apache)
- python 2.1以上的版本
- 一个文本编译器(pyblosxom现在还需要使用一个文本编辑器来加入文章)
系统准备
安装apache
现在我开始尝试使用apache2.0了,所以我装的是apache 2.0:
cd /usr/ports/www/apache2 make install clean
python
FreeBSD的python一直紧跟潮流,所以就用它了:
cd /usr/ports/lang/python make install clean
运行需要py-xml的支持
FreeBSD还是为我们准备好了最新的py-xml:
cd /usr/ports/textproc/py-xml make install clean
系统安装
- 解开pyblosxom的压缩包到一个临时目录
- 将用户su为root
- 在临目录中运行“python setup.py install”以安装pyblosxom代码库到python中。
- 将config.py和pyblosxom.cgi文件复制到cgi-bin目录下
- 修改config.py中相关的设置
# 你的blog的名字 py['blog_title'] = "Woodpacker Blog" # 你的blog在RSS中的说明 py['blog_description'] = "Woodpacker Blog" # 作者的名字和邮件地址 py['blog_author'] = "HD hdcola at gmail.com" # blog的默认语言 py['blog_language'] = "zh" # blog的字符编码 py['blog_encoding'] = "utf-8" # blog存储数据的目录 py['datadir'] = "/data1/www/blog.woodpecker/blog" # blog系统存储日志的目录 py['logdir'] = "/data1/www/blog.woodpecker/log"
- 运行一下pyblosxom.cgi,看一下输出,是否有错误
- 在操作系统下使用文字编辑器建立一个文本文件到py['datadir']指向的目录下。我建立的文件名叫hello.txt内容为:
%<------------------------------------------- First Post <p> This is the first post in my blog. </p> %<-------------------------------------------
这用使用浏览器访问cgi-bin/pyblosxom.cgi试试。就可以看到你有一个blog在系统中出现了。
安装插件
Comments
复制contrib/plugins/comments/plugins/comments.py到你的plugins目录下。在config.py文件中的load_plugins属性中加入comments。
如果你需要安装trackbacks(可选),将contrib/plugins/comments/plugins/trackback.py}}复制到你的plugins目录下。在{{{config.py文件中的load_plugins属性中加入trackbacks。
如果你需要安装pingbacks(可选),复制contrib/plugins/comments/plugins/xmlrpc_pingback.py到你的plugins目录下。你一定要确认你已经定义了py["base_url"]属性。xmlrpc_pingback.py需要使用到Mark Pilgrin的rssfinder(http://diveintomark.org/projects/feed_finder/feedfinder.py)和rssparser(freebsd ports里在textproc/py-feedparser中)模块(它们都可以在http://diveintomark.org/projects/找到源头)。不要忘记在}文件中的load_plugins属性中加入xmlrpc_pingback。
如果需要支持CommentAPI时,复制contrib/plugins/comments/plugins/commentAPI.py到你的plugins目录下。....这里没有写完,没搞明白这个CommentAPI怎么玩
- 所有的评论都存储在一个与数据目录并行的目录之下,comments系统允许你定义评论存储的目录以及存储文件的后娺,你必须建立好相应的目录并且给pyblosxom CGI脚本可写的权限。
设置py['comment_dir']到你的评论文件存储路径下。 设置py['comment_ext']}}为你的文件扩展名,默认为{{{cmt。
- comment系统能在新的comments/trackbacks/pingbacks提交时通知你指定的邮箱,如果你需要打开这个特性,在config.py中加入以下设置:
1 py['comment_smtp_server'] = "your.host.name.org" # your SMTP server
2 py['comment_smtp_from'] = "[email protected]" # the address sending the notification
3 py['comment_smtp_to'] = "[email protected]" # the address receiving the notification
从{{{contrib/plugins/comments/flavours}}}复制附加的文件到数据文件目录中。
comment-story模板用于格式化一个条目的评论。 comment模板用于格式化comment/trackback/pingback。 comment-form模板用于加入一个新的评论。
编辑comment-story, comment, 和 comment-form模板,以下为相应的变量的设置:
story和comment-story中:
$num_comments包含