个人工具

“MoinMoin安装设置”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(对全文进行重构,符合当前版本的moinwiki)
第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站点了。
+
=== 修改配置文件 ===
 +
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包含预制的系统和帮助页面,这些文件都在underla目录下。它指向你的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的配置目录位于当前目录下的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>
+
  
结束!
+
=== 路径设置 ===
 +
 
 +
==== 位于根路径的设置 ====
 +
为了使web服务器找到MoinWiki的启动文件,你需要在Apache中配置文件中指定这些路径:
 +
* Apache需要知道!MoinMoin的启动文件的路径,在我们的示例中为/home/yourname/moinconf/server/moin.wsgi。
 +
* Apache需要知道wiki script根路径
 +
为了做到这些,需要编辑Apache的虚拟主机配置文件,它们通常位于/etc/apache2/sites-available/目录下。
 +
 
 +
编辑与wiki对应的虚拟主机配置文件,在它的VirtualHost定义中加入:
 +
WSGIScriptAlias / /home/yourname/moinconf/server/moin.wsgi
 +
即可。
 +
 
 +
==== 位于其他路径的设置 ====
 +
如果wiki安装在网站/mywiki目录下,将其改为:
 +
WSGIScriptAlias /mywiki /home/yourname/moinconf/server/moin.wsgi
 +
同时你还需要在配置文件中加入:
 +
    url_prefix_static = '/mywiki/moin_static190'
 +
 
 +
=== 启动wiki ===
 +
sudo apache2ctl restart

2010年1月25日 (一) 08:59的版本

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

安装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

修改配置文件

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

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

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

多个wiki配置

如果你需要启用多个wiki,请创建多个与mywiki目录一样的目录,名字需改其他。 多个wiki的配置目录位于当前目录下的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同理,后面是域名匹配设置。

路径设置

位于根路径的设置

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

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

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

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

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

即可。

位于其他路径的设置

如果wiki安装在网站/mywiki目录下,将其改为:

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

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

    url_prefix_static = '/mywiki/moin_static190'

启动wiki

sudo apache2ctl restart