CentOSにMoinMoinを入れることを目指す。

#yum install python-setuptools
#yum install python-devel
#easy_install mercurial

うまくいった。

#hg

で確認。OK。

#cd /srv
#mkdir moin
#cd moin
#mkdir code
#cd code
#hg clone http://hg.moinmo.in/moin/1.9 1.9

とすると、

requesting all changes
adding changesets
adding manifests
adding file changes
added 5548 changesets with 23737 changes to 6236 files
updating to branch default
1775 files updated, 0 files merged, 0 files removed, 0 files unresolved

となる。

#cd /srv/moin/code/1.9
#make pagepacks

展開される。

#yum list installed | grep httpd

httpdapache?)がインストールされていることを確認。

#yum install mod_wsgi

でmod_wsgiをインストール。

#cd /srv/moin
#mkdir cfg
#mkdir -p wikis/wikiname

CentOSで階層のあるディレクトリを作るには-pが必要らしい。。。

#cp /srv/moin/code/1.9/wiki/config/wikiconfig.py /srv/moin/cfg/1.9/wikiconfig.py
#cp /srv/moin/code/1.9/wiki/server/moin.wsgi /srv/moin/cfg/1.9/moin.wsgi

で設定ファイルをコピー。

#cp -r /srv/moin/code/1.9/wiki/data /srv/moin/wikis/rimaging/data
#cp -r /srv/moin/code/1.9/wiki/underlay /srv/moin/wikis/rimaging/underlay

moin.wsgi

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

sys.path.insert(0, '/srv/moin/code/1.9/')

と変更。

sys.path.insert(0, '/path/to/wikiconfig')

sys.path.insert(0, '/srv/moin/cfg/1.9/')

と変更。

wikiconfig.pyで

instance_dir = '/srv/moin/wikis/wikiname'

と変更。ACLも設定。

httpd/conf/httpd.confに以下を追加。

LoadModule wsgi_module modules/mod_wsgi.so
ServerName servername.jp:80

httpd/conf/httpd.confのvirtualhostの項目に以下を追加。moinのバージョンとあわせること!

Alias /moin_static192/ "/srv/moin/code/1.9/MoinMoin/web/static/htdocs/"


Order allow,deny
Allow from all

WSGIScriptAlias /wikiname "/srv/moin/cfg/1.9/moin.wsgi"

Order allow,deny
Allow from all

#/etc/rc.d/init.d/httpd start

httpdを起動。

見えない。。。403 forbiddenがでる。

#chown -R apache:apache moin

とする。まだダメ。

どうもCentOSSelinuxというのが問題のよう。

# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing

# echo 0 >> /selinux/enforce

forbiddenが解消される。でもこれはくやしい。

# chcon system_u:object_r:httpd_sys_content_t moin -R

とすると、enforceの状態でもforbiddenはでなくなる。ただし、moinにファイルを加えるたびにやる必要があるようだ。

一応完成。