安装

噗叽唯姬由PHP编写。可运行于任何安装PHP5.3以上环境的操作系统。

PluginRenderer::executePluginBlock(): Plugin #sub() is not implemented.

设置方法

下面是一个例子。如果可以用shell访问Web服务器的话,将压缩包用FTP或SCP等传输到服务器上,只需在服务器上解压缩就可以运行。

tar -Jxvf PukiWiki Adv. v1.0.tar.xz

从Git上下载最新版本的话请输入以下命令。

 git clone https://github.com/logue/pukiwiki_adv
  1. 解开压缩包。
  2. 如果需要的话,检查配置文件(*.ini.php)的内容。
  3. 常用设定
    配置配置文件
    站点特定配置wiki-data/pukiwiki.ini.php
    服务器配置wiki-common/server.ini.php
    用户配置wiki-common/rules.ini.php
    UA配置wiki-common/profile.ini.php
    手机UI配置wiki-common/mobile.ini.php
    一般UI配置wiki-common/default.ini.php
    管理配置wiki-common/auth.ini.php
  4. 将压缩包内的内容传输到服务器。
    文件的传输模式,请参考以下项。
    目录权限
    attach777
    backup777
    cache777
    counter777
    diff777
    image755
    lib755
    plugin755
    skin755
    trackback777
    wiki777
    文件权限传输模式
    *.php644ASCII
    *.lng644ASCII
    cache/*666ASCII
    image/*644BINARY
    lib/*644ASCII
    plugin/*644ASCII
    skin/*644ASCII
    wiki/*666ASCII
  5. 检查服务器上的文件和目录的权限。请将wiki-common和wiki-data放置在外部无法访问的地方。 (放在用http://.../无访问权限的地方。)
    .
    |--wiki-data - 唯姬的数据目录
    |  |--attach - 附件存储目录
    |  |--backup - 备份文件存储目录
    |  |--cache - 缓存目录
    |  |  |-amazon - amazon的缓存目录
    |  |  `-PostId - PostId临时文件
    |  |--counter - 计数器
    |  |--diff - 差异目录
    |  |--htmlinsert - htmlinsert.inc.php包含要嵌入HTML的缓存目录
    |  |--init - 插件覆盖配置目录
    |  |--log - 日志目录
    |  |  |-browse - 查看日志
    |  |  |-check - 确认日志(mixirss.inc.php或通过RSS阅读器阅读等)
    |  |  |-download - 附件的下载日志
    |  |  `-update - 更新日志
    |  |--trackback - 引用/来源分析
    |  |--wiki - 唯姬的数据目录
    |  `--pukiwiki.ini.php - 唯姬配置文件
    |--wiki-common - 唯姬的公共目录
    |  |--extend - 扩展插件/配置存储目录
    |  |--lib - 唯姬的库目录
    |  |  |--bad-behavior - 反垃圾信息库Bad Behavior
    |  |  |--gettext - 多国语言库gettext
    |  |  |--openid - OpenId验证库
    |  |  |--opensocial - 通用SNS验证库
    |  |  |--phpqrcode - QR码生成库
    |  |  |--ua - UA判断库
    |  |  |--akismet.class.php - Akismet防垃圾信息(未实现)
    |  |  |--auth.cls.php - 身份验证类
    |  |  |--auth.def.php - 身份验证定义
    |  |  |--auth.php - 身份验证库
    |  |  |--auth_api.cls.php - 外部身份验证类
    |  |  |--auth_file.cls.php - 权限配置类
    |  |  |--backup.php - 备份库
    |  |  |--bad-behavior-pukiwiki.php - 唯姬Bad Behavior的封装
    |  |  |--barchart.cls.php - 图片生成类
    |  |  |--base_facebook.php - FaceBook基础库
    |  |  |--config.php - Wiki内配置(以:config开始的页面)的传递库
    |  |  |--convert_html.php - 唯姬语法转换库
    |  |  |--des.php - DES加密库
    |  |  |--diff.php - 差异库
    |  |  |--DSA.php - DEA验证库
    |  |  |--facebook.php - Facebook库
    |  |  |--fb_ca_chain_bundle.crt - Facebook公共密钥
    |  |  |--file.php - 文件处理库
    |  |  |--fileplus.php - 扩展文件处理库
    |  |  |--func.php - 基本函数库
    |  |  |--funcplus.php - 扩展函数库
    |  |  |--fizzy.php - 日语搜索扩展库
    |  |  |--hangul.php - 韩语排序库
    |  |  |--hash.php - 哈希值生成库
    |  |  |--init.php - 初始化函数库
    |  |  |--lang.php - 多国语言库
    |  |  |--log.php - 日志库
    |  |  |--link.php - 页面间内链生成库
    |  |  |--mail.php - 邮件发送库
    |  |  |--main.php - 唯姬本身
    |  |  |--make_link.php - URL链接解析库
    |  |  |--netbios.php - NetBIOS身份验证库
    |  |  |--plugin.php - 插件库
    |  |  |--proxy.cls.php - 代理类
    |  |  |--proxy.php - 代理访问库
    |  |  |--public_holday.php - 节假日库
    |  |  |--recaptchalib.php - reCAPTCHA库(未实现)
    |  |  |--referer.php - 网站来路分析库
    |  |  |--sha256.inc.php - SHA256加密库
    |  |  |--simple_html_dom.php - DOM分析库
    |  |  |--spam.php - 反垃圾信息库
    |  |  |--spam_pickup.php - 垃圾信息判定库
    |  |  |--spam_util.php - 垃圾信息URI判定库
    |  |  |--spamplus.php - DNSBL库
    |  |  |--timezone.php - 时区库
    |  |  |--trackback.php - TrackBack库
    |  |--locale - 语言环境文件存储目录
    |  |  |--bkup
    |  |  |--en_US
    |  |  |  |--LC_MESSAGES
    |  |  |--ja_JP
    |  |  |  |--LC_MESSAGES
    |  |  |--ko_KR
    |  |  |  |--LC_MESSAGES
    |  |  |--pot
    |  |  |--zh_CN
    |  |  |  |--LC_MESSAGES
    |  |  |--zh_TW
    |  |  |  |--LC_MESSAGES
    |  |--plugin - 基本插件存储目录
    |  |--auth.ini.php - 验证配置
    |  |--auth_api.ini.php - 外部验证API配置
    |  |--auth_users.ini.php - 验证用户配置
    |  |--auth_workgroup.ini.php - 用户组配置
    |  |--confg-log.ini.php - 日志记录配置
    |  |--default.ini.php - 引擎基本配置
    |  |--domain.ini.php - 域名配置
    |  |--handheld.ini.php - 传统手机UA配置
    |  |--mobile.ini.php - 移动终端配置(如iOS / Android / BlackBerry等)
    |  |--profile.ini.php - UA分配
    |  |--rules.ini.php - 缩写配置
    |  |--server.ini.php - 服务器配置(如邮件服务器、日文分词Mecab的位置等)
    |  `--spam.ini.php - 垃圾信息判定设置
    |--webroot - Web上的主目录文件夹(public_html的位置)
    |  |--image - 图片存储目录
    |  |--js - JavaScript存储目录
    |  |--skin - 主题相关存储目录
    |  |--.htaccess - Apache和Cherokee的服务器配置
    |  |--.htpasswd - 密码文件
    |  |--crossdomain.xml - 从外部响应Ajax的设置
    |  |--favicon.ico - 网站喜欢的图标
    |  |--humans.txt - 参加网页设计和建立的人员信息描述说明文件
    |  |--index.php - 实际的网站首页
    |  `--robots.txt - 搜索引擎抓取设置文件
    |--tools - 如迁移工具等
    `--doc - 完全没有用处的使用说明书
    
  6. 777 (rwxrwxrwx) 的目录为需要写入权限的目录群。
    目录内需要写入权限的文件设置为 666 (rw-rw-rw-) 。此外只需读取权限的目录设置为 755 (rwxr-xr-x),文件为 644 (rw-r--r--) 。
    未来在目录中添加文件时,如果不能一直跟随文件更新,请按照相同的方式设置权限。
  7. po 文件
    如locale/ja_JP/LC_MESSAGES/ 中存在的 *.po 文件,只在翻译消息的时候需要,运行时不需要。如果不想定制消息时,可删除。
  8. 从webroot内的index.php访问。

虚拟主机的文件设置举例

/home
   |--/[用户名]/
       |--wiki-common/ - 唯姬的库
       |--wiki-data/ - 唯姬的数据
       `--public_html/ <--这是webroot目录中的文件所在之处。

每个唯姬设置不同二级域名的情况

推荐每个二级域名按照以下的目录来设置。

/home
   |--/[用户名]/
       |--wiki-common/
       |--wiki-data/
       |    |--sub1 - sub1.xxx.com的唯姬数据
       |    `--sub2 - sub2.xxx.com的唯姬数据
       `--public_html/   - www.xxx.com的主目录
            |--sub1 - sub1.xxx.com的主目录
            |--sub2 - sub2.xxx.com的主目录
            |--js/
            `--image/

服务器设置

拥有Apache2.x、PHP5.3之后(含5.4)的环境即可运行。需要的扩展模块为JSON、mbstring、OpenSSL、curl、GD。

但是,如果预计负载很高,强烈推荐使用nginx1.x+php5.4的FPM环境来运行。