MoinMoin安装设置:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Oneleaf留言 | 贡献
新页面: == MoinMoin 安装指南 == ---- 文章出处:http://forum.ubuntu.org.cn/viewtopic.php?t=6983 本文作者:OneLeaf ---- === Moinmoin Wiki的特点 === * 基于文件,不使用DB * ...
 
 
(未显示8个用户的13个中间版本)
第1行: 第1行:
== MoinMoin 安装指南 ==
声明:由于本文是多人协同合作写成,如果你有不懂或者更好的建议,请自由编辑本文。前提在于你出于友好的目的。
----
文章出处:http://forum.ubuntu.org.cn/viewtopic.php?t=6983


本文作者:OneLeaf
== 安装MoinWiki ==
Apache配合mod_wsgi:在Apache上安装MoinMoin时推荐的部署,快速并且容易安装。
请使用包安装工具安装libapache2-mod-wsgi包,并且已经配置好apache。


----
=== 解压缩安装包 ===
=== Moinmoin Wiki的特点 ===
将下载的压缩档解包,查看解压的文件:
* 基于文件,不使用DB
其中只有2个目录是我们用得到的。
* 完整实用的 结构文本约定
- moin-1.9.0
** MoinMoin 的编辑规则是比较轻巧易学的
    + MoinMoin - MoinMoin程序的源文件。
* 实现全部 Wiki 规范
    + wiki - 模板文件。
** Unicode 支持完备——页面名可以使用中文
我们将wiki目录称作''模板''是因为你通常不需要在该目录使用这些文件,只要将它们复制到你需要的地方。因此,你可以顺利建立多个wiki,并轻松将它们升级到新的MoinMoin版本。
* 丰富的导航方式
** 基于标题
** 基于关键字
** 基于分类
** 基于孤悬
* 多种扩展方式: 宏,插件,预处理……
* 支持样式
* 真正跨平台
* 丰富运行方式


=== MoinMoin Wiki 安装步骤 ===
=== 创建工作目录 ===
<pre><nowiki>
你需要创建至少两个目录:
sudo apt-get install python-moinmoin
* 源码目录
sudo mkdir /var/www/mywiki
* wiki实例目录
sudo cp -r /usr/share/moin/data /usr/share/moin/underlay /usr/share/moin/server/moin.cgi /var/www/mywiki
sudo chown -R www-data:www-data /var/www/mywiki
</nowiki></pre>


=== 集成到 Apache2 中 ===
我们这里分别在家目录里创建moinsource和mywiki两个相应目录。
在 Apache2 的配置文件中添加以下代码:
cd ~yourname/
<pre><nowiki>
  mkdir moinsource mywiki
<Directory /var/www/mywiki/moin.cgi>
Options +ExecCGI
</Directory>
Alias          /wiki/ /usr/share/moin/htdocs/
AcceptPathInfo  On
RewriteEngine  On
RewriteRule    ^/moin(/(.*))? /$2    [last,R]
RewriteRule    ^/wiki/        -      [last]
RewriteRule    ^/robots.txt    -      [last]
RewriteRule    ^/favicon.ico  -      [last]
RewriteRule    ^/?(.*)        /var/www/mywiki/moin.cgi/$1    [last,type=application/x-httpd-cgi]
</nowiki></pre>


=== 配置 MoinMoin ===
复制相应的文件到这两个目录:
<pre><nowiki>
cp -r moin-1.9.0/MoinMoin moinsource
sudo gedit /etc/moin/farmconfig.py
  cp -r moin-1.9.0/wiki/config moinsource
</nowiki></pre>
cp -r moin-1.9.0/wiki/server moinsource
在wikis段中加入你的wiki,如下:
  cp -r moin-1.9.0/wiki/data mywiki
<pre><nowiki>
cp -r moin-1.9.0/wiki/underlay mywiki
wikis = [
# wikiname,    url regular expression (no protocol)
# Standalone server needs the port e.g. localhost:8000
# Twisted server can now use the port, too.
#("moinmaster", r"^moinmaster.wikiwikiweb.de/.*$"),
#("moinmoin",    r"^moinmoin.wikiwikiweb.de/.*$"),
("mywiki", r"^wiki.ubuntu.org.cn/.*$")
]
</nowiki></pre>
复制配置文件
<pre><nowiki>
sudo cp /etc/moin/moinmaster.py /etc/moin/mywiki.py
</nowiki></pre>


编辑自定义文件
实例目录必须设置如下权限:
<pre><nowiki>
sudo chown -R www-data:www-data mywiki
sudo gedit /etc/moin/mywiki.py
sudo chmod -R ug+rwX mywiki
</nowiki></pre>
sudo chmod -R o-rwx mywiki


将其中的
=== 修改配置文件 ===
<pre><nowiki>
==== 单个wiki配置 ====
class FarmConfig(DefaultConfig):
moinmoin 的配置文件位于 moinsource/config/目录下面
</nowiki></pre>
如果是安装一个wiki则只要修改该目录下的wikiconfig.py文件:
改为:
<pre><nowiki>
class Config(DefaultConfig):
</nowiki></pre>


将其中的
请使用编辑器打开wikiconfig.py文件,修改以下变量的值,没有该变量请自行创建。(路径使用绝对路径)
<pre><nowiki>
必需设置的变量有:
default_lang = 'en'
* data_dir:指向你的wiki实例的data目录 /home/yourname/mywiki/data
</nowiki></pre>
* data_underlay_dir:!MoinMoin包含预制的系统和帮助页面,这些文件都在underlay目录下。它指向你的wiki实例的underlay目录 /home/yourname/mywiki/underlay
改为:
* interwikiname:这是你的wiki的一个简短具有描述性的标识符。它必须是唯一的并且以后不>能改变
<pre><nowiki>
* sitename:你的wiki网站的名字
default_lang = 'zh'
</nowiki></pre>


在最后可以增加如下的站点说明:
==== 多个wiki配置 ====
<pre><nowiki>
如果你需要启用多个wiki,请创建多个与mywiki目录一样的目录,名字需改其他。
sitename = u'UbuntuChina Wiki'
多个wiki的配置目录位于moinsource/config/目录的wikifarm目录下:
</nowiki></pre>


=== 使 MoinMoin 生效 ===
复制配置文件:
重新load apache2
cp mywiki.py wiki_1.py
<pre><nowiki>
cp mywiki.py wiki_2.py
sudo /etc/init.d/apache2 force-reload
按照单个wiki配置的描述配置wiki_1和wiki_2。
</nowiki></pre>


好了,你现在可以访问你的wiki站点了。
配置wiki农场提示:
* 每个wiki需要不同的data_dir和data_underlay_dir
* 如果你想让两个wiki共享一些设置,把它们放到farmconfig.py中 - 两个wiki会从中继承这些设置
* 两个wiki中写入与farmconfig.py不同的设置
* 参考mywiki的设置


=== 使用 FastCGI 来加快访问 ===
wikis = [
复制 moin 的 fastcgi 脚本
<pre><nowiki>
    # wikiname, url regular expression
sudo cp /usr/share/moin/server/moin.fcg /var/www/mywiki
    # ---------------------------------------------------------------
</nowiki></pre>
    ("mywiki", r".*"),  # this is ok for a single wiki
    # for multiple wikis, do something like this:
    #("wiki1", r"^http://wiki1\.example\.org/.*$"),
    #("wiki2", r"^http://wiki2\.example\.org/.*$"),
]


在apache的配置目录增加 sudo nano /etc/apache2/conf.d/mywiki
将其改为:
<pre><nowiki>
wikis = [
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi .fcg
    # wikiname, url regular expression
FastCgiServer /var/www/mywiki/moin.fcg -idle-timeout 60
    # ---------------------------------------------------------------
</IfModule>
    #("mywiki", r".*"),  # this is ok for a single wiki
</nowiki></pre>
    # for multiple wikis, do something like this:
    ("wiki_1", r"^http://wiki1\.example\.org/.*$"),
    ("wiki_2", r"^http://wiki2\.example\.org/.*$"),
]


安装fastcgi插件并激活:
wiki_1对应的是Moin配置文件wiki_1.py,wiki_2同理,后面是域名匹配设置。
<pre><nowiki>
sudo apt-get install libapache2-mod-fastcgi
a2enmod fastcgi
apache2ctl graceful
</nowiki></pre>


修改apache2的站点配置为:
==== 启动文件配置 ====
<pre><nowiki>
使用编辑器打开 moinsource/server/moin.wsgi,找到:
<Directory "/var/www/mywiki">
#sys.path.insert(0, 'PREFIX/lib/python2.3/site-packages')
allow from all
将其改为:
AllowOverride None
sys.path.insert(0, '/home/yourname/moinsource')
Options ExecCGI FollowSymLinks
order allow,deny
SetHandler fastcgi-script
</Directory>


Alias          /wiki/ /usr/share/moin/htdocs/
找到:
AcceptPathInfo  On
#sys.path.insert(0, '/path/to/wikiconfigdir')
RewriteEngine  On
#sys.path.insert(0, '/path/to/farmconfigdir')
RewriteRule    ^/moin(/(.*))? /$2    [last,R]
根据需要改为:
RewriteRule    ^/wiki/         -      [last]
单个wiki请改为:
RewriteRule    ^/robots.txt    -      [last]
sys.path.insert(0, '/home/yourname/moinsource/config')
RewriteRule    ^/favicon.ico  -      [last]
#sys.path.insert(0, '/path/to/farmconfigdir')
RewriteRule    ^/?(.*)        /var/www/mywiki/moin.fcg/$1    [last,type=application/x-httpd-fcgi]
多个wiki请改为:
  #sys.path.insert(0, '/path/to/wikiconfigdir')
sys.path.insert(0, '/home/yourname/moinsource/config/wikifarm‘)


AddHandler fastcgi-script .fcgi .fcg
=== 路径设置 ===
</nowiki></pre>


重新load apache2
==== 位于根路径的设置 ====
<pre><nowiki>
为了使web服务器找到MoinWiki的启动文件,你需要在Apache中配置文件中指定这些路径:
sudo /etc/init.d/apache2 force-reload
* Apache需要知道!MoinMoin的启动文件的路径,在我们的示例中为/home/yourname/moinsource/server/moin.wsgi。
</nowiki></pre>
* Apache需要知道wiki script根路径
为了做到这些,需要编辑Apache的虚拟主机配置文件,它们通常位于/etc/apache2/sites-available/目录下。


结束!
编辑与wiki对应的虚拟主机配置文件,在它的VirtualHost定义中加入:
WSGIScriptAlias / /home/yourname/moinsource/server/moin.wsgi
即可。
 
==== 位于其他路径的设置 ====
如果wiki安装在网站/mywiki目录下(这意味着,你拥有/var/www/mywiki目录,如果没有请创建,该目录必须是空目录),将其改为:
WSGIScriptAlias /mywiki /home/yourname/moinsource/server/moin.wsgi
同时你还需要在配置文件中加入:
    url_prefix_static = '/mywiki/moin_static190'
 
=== 启动wiki ===
sudo apache2ctl restart

2013年12月12日 (四) 11:55的最新版本

声明:由于本文是多人协同合作写成,如果你有不懂或者更好的建议,请自由编辑本文。前提在于你出于友好的目的。

安装MoinWiki

Apache配合mod_wsgi:在Apache上安装MoinMoin时推荐的部署,快速并且容易安装。 请使用包安装工具安装libapache2-mod-wsgi包,并且已经配置好apache。

解压缩安装包

将下载的压缩档解包,查看解压的文件: 其中只有2个目录是我们用得到的。

- moin-1.9.0
   + MoinMoin - MoinMoin程序的源文件。
   + wiki - 模板文件。

我们将wiki目录称作模板是因为你通常不需要在该目录使用这些文件,只要将它们复制到你需要的地方。因此,你可以顺利建立多个wiki,并轻松将它们升级到新的MoinMoin版本。

创建工作目录

你需要创建至少两个目录:

  • 源码目录
  • wiki实例目录

我们这里分别在家目录里创建moinsource和mywiki两个相应目录。

cd ~yourname/
mkdir moinsource mywiki

复制相应的文件到这两个目录:

cp -r moin-1.9.0/MoinMoin moinsource
cp -r moin-1.9.0/wiki/config moinsource
cp -r moin-1.9.0/wiki/server moinsource
cp -r moin-1.9.0/wiki/data mywiki
cp -r moin-1.9.0/wiki/underlay mywiki

实例目录必须设置如下权限:

sudo chown -R www-data:www-data mywiki
sudo chmod -R ug+rwX mywiki
sudo chmod -R o-rwx mywiki

修改配置文件

单个wiki配置

moinmoin 的配置文件位于 moinsource/config/目录下面 如果是安装一个wiki则只要修改该目录下的wikiconfig.py文件:

请使用编辑器打开wikiconfig.py文件,修改以下变量的值,没有该变量请自行创建。(路径使用绝对路径) 必需设置的变量有:

  • data_dir:指向你的wiki实例的data目录 /home/yourname/mywiki/data
  • data_underlay_dir:!MoinMoin包含预制的系统和帮助页面,这些文件都在underlay目录下。它指向你的wiki实例的underlay目录 /home/yourname/mywiki/underlay
  • interwikiname:这是你的wiki的一个简短具有描述性的标识符。它必须是唯一的并且以后不>能改变
  • sitename:你的wiki网站的名字

多个wiki配置

如果你需要启用多个wiki,请创建多个与mywiki目录一样的目录,名字需改其他。 多个wiki的配置目录位于moinsource/config/目录的wikifarm目录下:

复制配置文件:

cp mywiki.py wiki_1.py
cp mywiki.py wiki_2.py

按照单个wiki配置的描述配置wiki_1和wiki_2。

配置wiki农场提示:

  • 每个wiki需要不同的data_dir和data_underlay_dir
  • 如果你想让两个wiki共享一些设置,把它们放到farmconfig.py中 - 两个wiki会从中继承这些设置
  • 两个wiki中写入与farmconfig.py不同的设置
  • 参考mywiki的设置
wikis = [

    # wikiname, url regular expression
    # ---------------------------------------------------------------
    ("mywiki", r".*"),   # this is ok for a single wiki

    # for multiple wikis, do something like this:
    #("wiki1", r"^http://wiki1\.example\.org/.*$"),
    #("wiki2", r"^http://wiki2\.example\.org/.*$"),
]

将其改为:

wikis = [

    # wikiname, url regular expression
    # ---------------------------------------------------------------
    #("mywiki", r".*"),   # this is ok for a single wiki

    # for multiple wikis, do something like this:
    ("wiki_1", r"^http://wiki1\.example\.org/.*$"),
    ("wiki_2", r"^http://wiki2\.example\.org/.*$"),
]

wiki_1对应的是Moin配置文件wiki_1.py,wiki_2同理,后面是域名匹配设置。

启动文件配置

使用编辑器打开 moinsource/server/moin.wsgi,找到:

#sys.path.insert(0, 'PREFIX/lib/python2.3/site-packages')

将其改为:

sys.path.insert(0, '/home/yourname/moinsource')

找到:

#sys.path.insert(0, '/path/to/wikiconfigdir')
#sys.path.insert(0, '/path/to/farmconfigdir')

根据需要改为: 单个wiki请改为:

sys.path.insert(0, '/home/yourname/moinsource/config')
#sys.path.insert(0, '/path/to/farmconfigdir')

多个wiki请改为:

#sys.path.insert(0, '/path/to/wikiconfigdir')
sys.path.insert(0, '/home/yourname/moinsource/config/wikifarm‘)

路径设置

位于根路径的设置

为了使web服务器找到MoinWiki的启动文件,你需要在Apache中配置文件中指定这些路径:

  • Apache需要知道!MoinMoin的启动文件的路径,在我们的示例中为/home/yourname/moinsource/server/moin.wsgi。
  • Apache需要知道wiki script根路径

为了做到这些,需要编辑Apache的虚拟主机配置文件,它们通常位于/etc/apache2/sites-available/目录下。

编辑与wiki对应的虚拟主机配置文件,在它的VirtualHost定义中加入:

WSGIScriptAlias / /home/yourname/moinsource/server/moin.wsgi

即可。

位于其他路径的设置

如果wiki安装在网站/mywiki目录下(这意味着,你拥有/var/www/mywiki目录,如果没有请创建,该目录必须是空目录),将其改为:

WSGIScriptAlias /mywiki /home/yourname/moinsource/server/moin.wsgi

同时你还需要在配置文件中加入:

    url_prefix_static = '/mywiki/moin_static190'

启动wiki

sudo apache2ctl restart