##language:zh -- hd [<>] <> = 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 }}} == 系统安装 == 1. 解开pyblosxom的压缩包到一个临时目录 1. 将用户su为root 1. 在临目录中运行“python setup.py install”以安装pyblosxom代码库到python中。 1. 将config.py和pyblosxom.cgi文件复制到cgi-bin目录下 1. 修改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" }}} 1. 运行一下pyblosxom.cgi,看一下输出,是否有错误 1. 在操作系统下使用文字编辑器建立一个文本文件到py['datadir']指向的目录下。我建立的文件名叫hello.txt内容为: {{{ %<------------------------------------------- First Post

This is the first post in my blog.

%<------------------------------------------- }}} 这用使用浏览器访问cgi-bin/pyblosxom.cgi试试。就可以看到你有一个blog在系统中出现了。 == 安装插件 == === Comments === 1.#1 复制{{{contrib/plugins/comments/plugins/comments.py}}}到你的plugins目录下。在{{{config.py}}}文件中的{{{load_plugins}}}属性中加入{{{comments}}}。 1. 如果你需要安装trackbacks(可选),将{{{contrib/plugins/comments/plugins/trackback.py}}复制到你的plugins目录下。在{{{config.py}}}文件中的{{{load_plugins}}}属性中加入{{{trackbacks}}}。 1. 如果你需要安装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/找到源头)。不要忘记在{{config.py}}}文件中的{{{load_plugins}}}属性中加入{{{xmlrpc_pingback}}}。 1. 如果需要支持CommentAPI时,复制{{{contrib/plugins/comments/plugins/commentAPI.py}}}到你的plugins目录下。....这里没有写完,没搞明白这个CommentAPI怎么玩 :( 1. 所有的评论都存储在一个与数据目录并行的目录之下,comments系统允许你定义评论存储的目录以及存储文件的后娺,你必须建立好相应的目录并且给pyblosxom CGI脚本可写的权限。 设置{{{py['comment_dir']}}}到你的评论文件存储路径下。 设置{{{py['comment_ext']}}为你的文件扩展名,默认为{{{cmt}}}。 1. comment系统能在新的comments/trackbacks/pingbacks提交时通知你指定的邮箱,如果你需要打开这个特性,在config.py中加入以下设置: {{{ #!python py['comment_smtp_server'] = "your.host.name.org" # your SMTP server py['comment_smtp_from'] = "you@your.host.name.org" # the address sending the notification py['comment_smtp_to'] = "you@your.host.name.org" # the address receiving the notification }}} 1. 从{{{{{{contrib/plugins/comments/flavours}}}}}}复制附加的文件到数据文件目录中。 {{{comment-story}}}模板用于格式化一个条目的评论。 {{{comment}}}模板用于格式化comment/trackback/pingback。 {{{comment-form}}}模板用于加入一个新的评论。 1. 编辑{{{comment-story}}}, {{{comment}}}, 和 {{{comment-form}}}模板,以下为相应的变量的设置: {{{story}}}和{{{comment-story}}}中: * {{{$num_comments}}}包含