Differences between revisions 8 and 11 (spanning 3 versions)
Revision 8 as of 2010-12-09 09:57:48
Size: 9696
Editor: WinterSu
Comment:
Revision 11 as of 2011-12-21 05:14:20
Size: 11350
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
Line 7: Line 8:


Line 229: Line 233:
= WinterSu的安装体验 =
最最小白的方法,按部就班吧

适合于1.9.3

安装本地的wiki

sudo aptitude update

sudo aptitude upgrade

sudo aptitude install ssh samba smbclient apache2 libapache2-mod-wsgi

tar xvzf moin-1.9.3.tar.gz

cd moin-1.9.3/

sudo python setup.py install --force --prefix /usr/local --record=install.log

cd /usr/local/share/moin/server

cd /usr/local/share/moin

sudo cp server/moin.wsgi .

sudo cp config/wikiconfig.py .




编辑/etc/apache2/httpd.conf,在结尾处加入:

#

# MoinMoin WSGI configuration

#

# you will invoke your moin wiki at the root url, like http://servername/FrontPage:

WSGIScriptAlias / /usr/local/share/moin/moin.wsgi

# create some wsgi daemons - use user/group same as your data_dir:
WSGIDaemonProcess moin user=www-data group=www-data processes=5 threads=10 maximum-requests=1000 umask=0007

# use the daemons we defined above to process requests!
WSGIProcessGroup moin

编辑/usr/local/share/moin/moin.wsgi,在注释a2)段落的结尾后加入:

sys.path.insert(0, '/usr/local/share/moin') cd /usr/local/share




sudo chown -R www-data:www-data moin

sudo chmod -R ug+rwX moin

sudo chmod -R o-rwx moin

sudo /etc/init.d/apache2 restart




修改/usr/local/share/moin/wikiconfig.py中的管理员为需要的值:

page_front_page = u"FrontPage" #去掉此选项之前的“#”

superuser = [u"WikiAdmin", ]




sudo /etc/init.d/apache2 restart




使用WikiAdmin创建账户并登录系统,并在下面页面中安装帮助页面包:

http://localhost/LanguageSetup?action=language_setup
Line 230: Line 317:
是也乎,是也乎?

Quickly Install MoinMoin

::-- ZoomQuiet [2006-04-28 13:08:32]

CPUG联盟::

CPUG::门户plone

BPUG

SPUG

ZPUG

SpreadPython Python宣传

Changelog

理解MoinMoin 运行环境

MoinMoin 宣称是:""" MoinMoin is an advanced, easy to use and extensible WikiEngine with a large community of users.... """ 高级的,易用的,可扩展的,拥有广大社区用户的 维基引擎!

我们一开始关注的只是 易用的 !

MoinMoin的确作到了这种效果—— 仅仅一个moin.cgi 文件就可以发布整个MoinMoin 服务!

可以说,MoinMoin 环境是依托于Python 的强大环境,通过CGI等等通用Web 应用发布形式公开的应用平台。 即,其安排必定是简单易行的!因为一切功能都在Python 环境中,其它无有依赖!

信息

安装帮助 文档一定要先都看一看,了解可能的问题

不过系统的提示信息一定要注意,可以避免很多误解…………以FreeBSD 中使用ports 的默许安装方式的最后提示信息为例

************************************************************
# 提示要进行实例化
Important: You have currently no wiki instance installed.
# 给了实例化的命令提示
If you're installing from ports, just run 'make instance'
with appriopriate arguments.
eg. make MOINTYPE=FCGI MOINDEST=/usr/local/www/wiki instance

If you're installing from package, run these commands.
## 详细的进一步运行配置::
# Choose here one script depending on the type of wiki you
# want : moin.py (standalone), moin.fcg (FCGI) or moin.cgi.
export MOINSCRIPT="moin.cgi"
# Defaults should be fine but you may want to modify these.
export MOINDIR="/usr/local/share/moin"
export MOINDEST="/usr/local/www/wiki"
# Set this to your apache user and group.
export CGIUSER="www"
export CGIGROUP="www"

mkdir -p ${MOINDEST}/data
mkdir -p ${MOINDEST}/underlay
cp -R ${MOINDIR}/data ${MOINDEST}
cp -R ${MOINDIR}/underlay ${MOINDEST}
chmod -R u+rw,go-ws ${MOINDEST}/data
install -m 0555 ${MOINDIR}/config/wikiconfig.py ${MOINDEST}
test -z "${MOINSCRIPT}" || \
        install -m 0555 ${MOINDIR}/server/${MOINSCRIPT} ${MOINDEST}
chown -R ${CGIUSER}:${CGIGROUP} ${MOINDEST}

Note: export might not work with your shell, use
# setenv VAR 'value' instead
************************************************************
===>   Registering installation for moinmoin-1.5.2

ZQ的安装体验

MoinMoin 1.2.4 开始,各种版本的MoinMoin 都安装过,除了开始有些困惑,后来理解 了MoinMoin 的安装要点就自在自如了:

  1. url_prefix 是需要和Apache 等等web 服务器配合的

  2. moin.cgi等等服务运行文件要和配置文件wikiconfig.py在一起 当然要是有多维基的发布另有技巧

实际布局

根据理解我就可以自由安排各种目录而不会报错

  1. 确认MoinMoin 目录:

    • 默许的在/usr/local/lib/python2.4/site-packages/MoinMoin

    • 当然的为了方便,或是其它原因,可以直接使用链接将MoinMoin 移动到任何地方

      • 也为了方便的进行版本切换
  2. 维基实例目录:
    • 所谓实例就是包含moin.cgi等等服务运行文件的相关目录

    • 我的实例目录中是如下安排的:

      +--moin
      |  +--Moin153  从python2.4/site-packages 链接过来的实际MoinMoin
      |  +--Moin135  以前用以链接到python2.4/site-packages 的实际MoinMoin
      |  +--data
      |  +--htdocs  要和Apache 等等配合的样式发布目录
      |  +--server   实际服务运行文件收集,因为现在MoinMoin 不仅仅只会cgi了
      \  \--underlay  1.3.5 版本以后新的系统文章收集目录
    • 实际上/usr/local/share/moin 会有自动初始化的一个实例,目录结构和我定制的非常象;不过,为了避免升级时自动覆盖掉你原来的运行实例,一般要组织到其它专门目录

实际配置

这样一来只要重新设置个别配置文件,新的MoinMoin 就准备好可以运行了

CGI 从 Lighttpd

在1.9.2 安装脚本进行了大修订!

  • 参考:MoinMoin安裝設置 - Ubuntu中文

  • 在 FreeBSD 中最简单的发布配置
    1. /usr/local/etc/lighttpd.conf

      server.modules              = (
      ...
                                     "mod_cgi", # 唯一依赖
      ...
      server.username            = "www"
      server.groupname           = "www"
      ...
      # 指定 .cgi 是用 python 运行
      static-file.exclude-extensions = ( ".php", ".pl", ".fcgi",".cgi" )
      cgi.assign = ( ".cgi" => "/usr/local/bin/python" )
      # MoinMoin 环境绑定
      alias.url = ("/moin_static192" => "/wiki/dm.wps.cn/htdocs/" )
      alias.url += ("/moin" => "/wiki/dm.wps.cn/server/moin.cgi" )
    2. 部署 MoinMoin 实例,手工整理好目录:

      • 一般直接从 /usr/local/share/moin/ 复制到你喜欢的目录中就好

      • 建议:

        path/to/u/维基实例:
        +-- config      # 配置样例目录
        +-- data        # 维基实体目录
            +-- cache       # 缓存入口
            +-- dict        # 搜索字典
            |-- intermap.txt    # InterWiki 定义文件
            +-- pages   # 用户文章入口
            +-- plugin  # 插件入口
            `-- user    # 用户注册信息
        +-- htdocs      # 样式和静态文件
        +-- server      # 运行脚本入口
            |-- moin
            |-- moin.ajp
            |-- moin.cgi
            |-- moin.fcgi
            |-- moin.scgi
            |-- moin.wsgi
            |-- moin_wsgi
            |-- test.wsgi
            |-- wikiconfig.py       # 实例配置文件,从 ../config 复制过来
            `-- wikiserverconfig.py
        `-- underlay    # 系统默认文章
    3. 配置实例: wikiconfig.py

          instance_dir = '/path/2/u/维基实例'
      ..
          url_prefix_static = '/moin_static192'   # 这就是和Lighttpd 配合的静态文件目录
    4. 启动Lighttpd ,注意:
      • Are you nuts ? Don't apply a SUID bit to this binary 错误一般是 /usr/local/sbin/lighttpd 的owner 和配置中不吻合

        • # chown www /usr/local/sbin/lighttpd 就好

      • failed: Permission denied /var/log/lighttpd.access.log 明确是权限问题了...

然后访问 http://x.x.x/moin/ 就看到了 ;-) [ATTACH]

WSGI 从 Nginx

在1.8 之后都建议使用 WSGI 模式发布!

Nginx 准备

根据:果果的家 » FreeBSD下用ports安装nginx的uwsgi模块

  • 修订 /usr/ports/www/nginx 相关文件

  • 将 uwsgi-0.9.4 编译 入 nginx-0.7.64

2010-03-24-183832_814x601_scrot.png

配置发布

  • 首先Python 要有 flup 支持,在BSD 中:

    $ cd /usr/ports/www/py-flup
    $ sudo make install clean
  • 继续探索中...

CGI 在 Apache

  1. Apache的发布配置,以CGI模式:

    <VirtualHost ...
        ....
        ScriptAlias /moin "/path/to/my/server/moin.cgi"
        Alias /htdocs "/path/to/my/htdocs/"
        <Directory "/path/to/my/htdocs">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
    ...
  2. 对应的wikiconfig.py配置项:

    #/path/to/my/server/wikiconfig.py
    ...
        data_dir = '/path/to/my/data/'
        data_underlay_dir = '/path/to/my/underlay/'
    
        url_prefix = '/htdocs'  #要和Apache中声明的相同

齐活!!MoinMoin 已经安装好了!

运行调试

但是不能说现在可以如意的运行,因为新安装的系统总有这儿那儿的问题,所以简单的协调一下子就成……

利用Python 的 trackback 功能!

#cd /path/to/my/server/
#python ./moin.cgi
  • 看一下子输出,如果是HTML 代码,那未恭喜你!可以重启Apache 发布MoinMoin 了!

  • 有错误?!读一下子提示,一般无非是几种情况:
    1. 权限不足 不用讲了,是人都会使用 chmod 命令吧?!-)

      • 另外注意,如果 moin.cgi 安装到特殊目录,一定也要相应的进行权限声明,允许CGI 可执行,否则,网络是访问不了的

<Directory "/path/to/my/moin/serv">
        Order allow,deny
        Allow from all
</Directory>
  1. 配置文件找不到 不是位置不对,就是该死的doc 文件的非常回行符问题

  2. Python环境找不到 看一下子moin.cgi 的头部和你系统环境一致?

至此,应该说基本上绝大多数情况下MoinMoin 已经正确完全的安装/升级完毕了!

除了目录的整理,可以说MoinMoin 的安装,配置只有两个文件,几行文字的定制…………

总结

战略上要轻视MoinMoin 的安装,战术上要重视/小心MoinMoin 的实例目录的安排!其它无它!

WinterSu的安装体验

最最小白的方法,按部就班吧

适合于1.9.3

安装本地的wiki

sudo aptitude update

sudo aptitude upgrade

sudo aptitude install ssh samba smbclient apache2 libapache2-mod-wsgi

tar xvzf moin-1.9.3.tar.gz

cd moin-1.9.3/

sudo python setup.py install --force --prefix /usr/local --record=install.log

cd /usr/local/share/moin/server

cd /usr/local/share/moin

sudo cp server/moin.wsgi .

sudo cp config/wikiconfig.py .

编辑/etc/apache2/httpd.conf,在结尾处加入:

#

# MoinMoin WSGI configuration

#

# you will invoke your moin wiki at the root url, like http://servername/FrontPage:

WSGIScriptAlias / /usr/local/share/moin/moin.wsgi

# create some wsgi daemons - use user/group same as your data_dir: WSGIDaemonProcess moin user=www-data group=www-data processes=5 threads=10 maximum-requests=1000 umask=0007

# use the daemons we defined above to process requests! WSGIProcessGroup moin

编辑/usr/local/share/moin/moin.wsgi,在注释a2)段落的结尾后加入:

sys.path.insert(0, '/usr/local/share/moin') cd /usr/local/share

sudo chown -R www-data:www-data moin

sudo chmod -R ug+rwX moin

sudo chmod -R o-rwx moin

sudo /etc/init.d/apache2 restart

修改/usr/local/share/moin/wikiconfig.py中的管理员为需要的值:

page_front_page = u"FrontPage" #去掉此选项之前的“#”

superuser = [u"WikiAdmin", ]

sudo /etc/init.d/apache2 restart

使用WikiAdmin创建账户并登录系统,并在下面页面中安装帮助页面包:

http://localhost/LanguageSetup?action=language_setup

反馈

呜呼!使用wikiserver.py的体验总是失败的!所有配置都不生效!1.9.3和1.8.8!呜呼!——WinterSu

QuickIntoMoinMoin/QuickInstallMoin (last edited 2011-12-21 05:14:20 by ZoomQuiet)