MoinMoin安装设置:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Jyo2005留言 | 贡献
无编辑摘要
 
(未显示7个用户的12个中间版本)
第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>sudo gedit /etc/moin/farmconfig.py
cp -r moin-1.9.0/MoinMoin moinsource
</pre>
cp -r moin-1.9.0/wiki/config moinsource
在wikis段中加入你的wiki,如下:
cp -r moin-1.9.0/wiki/server moinsource
<pre>wikis = [
cp -r moin-1.9.0/wiki/data mywiki
# wikiname, url regular expression (no protocol)
cp -r moin-1.9.0/wiki/underlay mywiki
# 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/.*$")
]
</pre>
复制配置文件
<pre>sudo cp /etc/moin/farmconfig.py /etc/moin/mywiki.py
</pre>
编辑自定义文件
<pre>sudo gedit /etc/moin/mywiki.py
</pre>
将其中的
<pre>class FarmConfig(DefaultConfig):
</pre>
改为:
<pre>class Config(DefaultConfig):
</pre>
将其中的
<pre>default_lang = 'en'
</pre>
改为:
<pre>default_lang = 'zh'
</pre>
在最後可以增加如下的站点说明:
<pre>sitename = u'UbuntuChina Wiki'
</pre>


=== 使 MoinMoin 生效 ===
实例目录必须设置如下权限:
重新load apache2
sudo chown -R www-data:www-data mywiki
<pre><nowiki>
sudo chmod -R ug+rwX mywiki
sudo /etc/init.d/apache2 force-reload
sudo chmod -R o-rwx mywiki
</nowiki></pre>


好了,你现在可以访问你的wiki站点了。
=== 修改配置文件 ===
==== 单个wiki配置 ====
moinmoin 的配置文件位于 moinsource/config/目录下面
如果是安装一个wiki则只要修改该目录下的wikiconfig.py文件:


=== 使用 FastCGI 来加快访问 ===
请使用编辑器打开wikiconfig.py文件,修改以下变量的值,没有该变量请自行创建。(路径使用绝对路径)
复制 moin 的 fastcgi 脚本
必需设置的变量有:
<pre><nowiki>
* data_dir:指向你的wiki实例的data目录 /home/yourname/mywiki/data
sudo cp /usr/share/moin/server/moin.fcg /var/www/mywiki
* data_underlay_dir:!MoinMoin包含预制的系统和帮助页面,这些文件都在underlay目录下。它指向你的wiki实例的underlay目录 /home/yourname/mywiki/underlay
</nowiki></pre>
* interwikiname:这是你的wiki的一个简短具有描述性的标识符。它必须是唯一的并且以后不>能改变
* sitename:你的wiki网站的名字


在apache的配置目录增加 sudo nano /etc/apache2/conf.d/mywiki
==== 多个wiki配置 ====
<pre><nowiki>
如果你需要启用多个wiki,请创建多个与mywiki目录一样的目录,名字需改其他。
<IfModule mod_fastcgi.c>
多个wiki的配置目录位于moinsource/config/目录的wikifarm目录下:
AddHandler fastcgi-script .fcgi .fcg
FastCgiServer /var/www/mywiki/moin.fcg -idle-timeout 60
</IfModule>
</nowiki></pre>


安装fastcgi插件并激活:
复制配置文件:
<pre><nowiki>
cp mywiki.py wiki_1.py
sudo apt-get install libapache2-mod-fastcgi
cp mywiki.py wiki_2.py
a2enmod fastcgi
按照单个wiki配置的描述配置wiki_1和wiki_2。
apache2ctl graceful
</nowiki></pre>


修改apache2的站点配置为:
配置wiki农场提示:
<pre><nowiki>
* 每个wiki需要不同的data_dir和data_underlay_dir
<Directory "/var/www/mywiki">
* 如果你想让两个wiki共享一些设置,把它们放到farmconfig.py中 - 两个wiki会从中继承这些设置
allow from all
* 两个wiki中写入与farmconfig.py不同的设置
AllowOverride None
* 参考mywiki的设置
Options ExecCGI FollowSymLinks
order allow,deny
SetHandler fastcgi-script
</Directory>


Alias          /wiki/ /usr/share/moin/htdocs/
wikis = [
AcceptPathInfo On
   
RewriteEngine  On
    # wikiname, url regular expression
RewriteRule    ^/moin(/(.*))? /$2    [last,R]
    # ---------------------------------------------------------------
RewriteRule    ^/wiki/         -      [last]
    ("mywiki", r".*"),  # this is ok for a single wiki
RewriteRule    ^/robots.txt    -      [last]
   
RewriteRule    ^/favicon.ico  -      [last]
    # for multiple wikis, do something like this:
RewriteRule    ^/?(.*)         /var/www/mywiki/moin.fcg/$1    [last,type=application/x-httpd-fcgi]
    #("wiki1", r"^http://wiki1\.example\.org/.*$"),
    #("wiki2", r"^http://wiki2\.example\.org/.*$"),
]


AddHandler fastcgi-script .fcgi .fcg
将其改为:
</nowiki></pre>
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/.*$"),
]


重新load apache2
wiki_1对应的是Moin配置文件wiki_1.py,wiki_2同理,后面是域名匹配设置。
<pre><nowiki>
sudo /etc/init.d/apache2 force-reload
</nowiki></pre>


结束!
==== 启动文件配置 ====
使用编辑器打开 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

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