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 安装脚本进行了大修订!

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

WSGI 从 Nginx

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

Nginx 准备

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

2010-03-24-183832_814x601_scrot.png

配置发布

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

<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-01-03 12:50:14 by WinterSu)