TS-639にMoinMoin 1.9.2をインストールする。

MoinMoin(モインモイン)はPythonで書かれたWikiEngineです。
TS-639では、ipkgから簡単にインストールすることができます。

インストール

# ipkg install py25-moin
Installing py25-moin (1.9.2-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/py25-moin_1.9.2-1_i686.ipk
package tar suggests installing gzip
package tar suggests installing xz-utils
Installing py-moin-common (1.9.2-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/py-moin-common_1.9.2-1_i686.ipk
Installing coreutils (8.4-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/coreutils_8.4-1_i686.ipk
Installing sed (4.2.1-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/sed_4.2.1-1_i686.ipk
Installing tar (1.23-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/tar_1.23-1_i686.ipk
Configuring apache
update-alternatives: Linking //opt/sbin/htpasswd to /opt/sbin/apache-htpasswd
update-alternatives: Linking //opt/sbin/httpd to /opt/sbin/apache-httpd
httpd: bad user name nobody
httpd: bad user name nobody
postinst script returned status 1
ERROR: apache.postinst returned 1
Configuring coreutils
update-alternatives: Linking //opt/bin/[ to coreutils-lbracket
update-alternatives: Linking //opt/bin/base64 to coreutils-base64
update-alternatives: Linking //opt/bin/basename to coreutils-basename
update-alternatives: Linking //opt/bin/cat to coreutils-cat
update-alternatives: Linking //opt/bin/chcon to coreutils-chcon
update-alternatives: Linking //opt/bin/chgrp to coreutils-chgrp
update-alternatives: Linking //opt/bin/chmod to coreutils-chmod
update-alternatives: Linking //opt/bin/chown to coreutils-chown
update-alternatives: Linking //opt/bin/chroot to coreutils-chroot
update-alternatives: Linking //opt/bin/cksum to coreutils-cksum
update-alternatives: Linking //opt/bin/comm to coreutils-comm
update-alternatives: Linking //opt/bin/cp to coreutils-cp
update-alternatives: Linking //opt/bin/csplit to coreutils-csplit
update-alternatives: Linking //opt/bin/cut to coreutils-cut
update-alternatives: Linking //opt/bin/date to coreutils-date
update-alternatives: Linking //opt/bin/dd to coreutils-dd
update-alternatives: Linking //opt/bin/df to coreutils-df
update-alternatives: Linking //opt/bin/dir to coreutils-dir
update-alternatives: Linking //opt/bin/dircolors to coreutils-dircolors
update-alternatives: Linking //opt/bin/dirname to coreutils-dirname
update-alternatives: Linking //opt/bin/du to coreutils-du
update-alternatives: Linking //opt/bin/echo to coreutils-echo
update-alternatives: Linking //opt/bin/env to coreutils-env
update-alternatives: Linking //opt/bin/expand to coreutils-expand
update-alternatives: Linking //opt/bin/expr to coreutils-expr
update-alternatives: Linking //opt/bin/factor to coreutils-factor
update-alternatives: Linking //opt/bin/false to coreutils-false
update-alternatives: Linking //opt/bin/fmt to coreutils-fmt
update-alternatives: Linking //opt/bin/fold to coreutils-fold
update-alternatives: Linking //opt/bin/groups to coreutils-groups
update-alternatives: Linking //opt/bin/head to coreutils-head
update-alternatives: Linking //opt/bin/hostid to coreutils-hostid
update-alternatives: Linking //opt/bin/id to coreutils-id
update-alternatives: Linking //opt/bin/install to coreutils-install
update-alternatives: Linking //opt/bin/join to coreutils-join
update-alternatives: Linking //opt/bin/kill to coreutils-kill
update-alternatives: Linking //opt/bin/link to coreutils-link
update-alternatives: Linking //opt/bin/ln to coreutils-ln
update-alternatives: Linking //opt/bin/logname to coreutils-logname
update-alternatives: Linking //opt/bin/ls to coreutils-ls
update-alternatives: Linking //opt/bin/md5sum to coreutils-md5sum
update-alternatives: Linking //opt/bin/mkdir to coreutils-mkdir
update-alternatives: Linking //opt/bin/mkfifo to coreutils-mkfifo
update-alternatives: Linking //opt/bin/mknod to coreutils-mknod
update-alternatives: Linking //opt/bin/mktemp to coreutils-mktemp
update-alternatives: Linking //opt/bin/mv to coreutils-mv
update-alternatives: Linking //opt/bin/nice to coreutils-nice
update-alternatives: Linking //opt/bin/nl to coreutils-nl
update-alternatives: Linking //opt/bin/nohup to coreutils-nohup
update-alternatives: Linking //opt/bin/nproc to coreutils-nproc
update-alternatives: Linking //opt/bin/od to coreutils-od
update-alternatives: Linking //opt/bin/paste to coreutils-paste
update-alternatives: Linking //opt/bin/pathchk to coreutils-pathchk
update-alternatives: Linking //opt/bin/pinky to coreutils-pinky
update-alternatives: Linking //opt/bin/pr to coreutils-pr
update-alternatives: Linking //opt/bin/printenv to coreutils-printenv
update-alternatives: Linking //opt/bin/printf to coreutils-printf
update-alternatives: Linking //opt/bin/ptx to coreutils-ptx
update-alternatives: Linking //opt/bin/pwd to coreutils-pwd
update-alternatives: Linking //opt/bin/readlink to coreutils-readlink
update-alternatives: Linking //opt/bin/rm to coreutils-rm
update-alternatives: Linking //opt/bin/rmdir to coreutils-rmdir
update-alternatives: Linking //opt/bin/runcon to coreutils-runcon
update-alternatives: Linking //opt/bin/seq to coreutils-seq
update-alternatives: Linking //opt/bin/sha1sum to coreutils-sha1sum
update-alternatives: Linking //opt/bin/sha224sum to coreutils-sha224sum
update-alternatives: Linking //opt/bin/sha256sum to coreutils-sha256sum
update-alternatives: Linking //opt/bin/sha384sum to coreutils-sha384sum
update-alternatives: Linking //opt/bin/sha512sum to coreutils-sha512sum
update-alternatives: Linking //opt/bin/shred to coreutils-shred
update-alternatives: Linking //opt/bin/shuf to coreutils-shuf
update-alternatives: Linking //opt/bin/sleep to coreutils-sleep
update-alternatives: Linking //opt/bin/sort to coreutils-sort
update-alternatives: Linking //opt/bin/split to coreutils-split
update-alternatives: Linking //opt/bin/stat to coreutils-stat
update-alternatives: Linking //opt/bin/stdbuf to coreutils-stdbuf
update-alternatives: Linking //opt/bin/stty to coreutils-stty
update-alternatives: Linking //opt/bin/su to coreutils-su
update-alternatives: Linking //opt/bin/sum to coreutils-sum
update-alternatives: Linking //opt/bin/sync to coreutils-sync
update-alternatives: Linking //opt/bin/tac to coreutils-tac
update-alternatives: Linking //opt/bin/tail to coreutils-tail
update-alternatives: Linking //opt/bin/tee to coreutils-tee
update-alternatives: Linking //opt/bin/test to coreutils-test
update-alternatives: Linking //opt/bin/timeout to coreutils-timeout
update-alternatives: Linking //opt/bin/touch to coreutils-touch
update-alternatives: Linking //opt/bin/tr to coreutils-tr
update-alternatives: Linking //opt/bin/true to coreutils-true
update-alternatives: Linking //opt/bin/truncate to coreutils-truncate
update-alternatives: Linking //opt/bin/tsort to coreutils-tsort
update-alternatives: Linking //opt/bin/tty to coreutils-tty
update-alternatives: Linking //opt/bin/uname to coreutils-uname
update-alternatives: Linking //opt/bin/unexpand to coreutils-unexpand
update-alternatives: Linking //opt/bin/uniq to coreutils-uniq
update-alternatives: Linking //opt/bin/unlink to coreutils-unlink
update-alternatives: Linking //opt/bin/uptime to coreutils-uptime
update-alternatives: Linking //opt/bin/users to coreutils-users
update-alternatives: Linking //opt/bin/vdir to coreutils-vdir
update-alternatives: Linking //opt/bin/wc to coreutils-wc
update-alternatives: Linking //opt/bin/who to coreutils-who
update-alternatives: Linking //opt/bin/whoami to coreutils-whoami
update-alternatives: Linking //opt/bin/yes to coreutils-yes
Configuring py-moin-common
Configuring py25-moin
Configuring sed
update-alternatives: Linking //opt/bin/sed to /opt/bin/gnu-sed
Configuring tar
update-alternatives: Linking //opt/bin/tar to /opt/bin/gnutar
Successfully terminated.

設定

wikiconfig.pyの下記の箇所を変更する。

# vi /opt/share/moin/config/wikiconfig.py
    data_dir = '/share/Qweb/moin/data'
    language_default = 'ja'

データ格納用ディレクトリの準備

# mkdir -p /share/Qweb/moin
# cp -R -p /opt/share/moin/data /share/Qweb/moin
# chmod 777 /share/Qweb/moin
# chmod 777 /share/Qweb/moin/data
# chmod 777 /share/Qweb/moin/data/cache
# chmod 777 /share/Qweb/moin/data/dict
# chmod 777 /share/Qweb/moin/data/pages
# chmod 777 /share/Qweb/moin/data/plugin
# chmod 777 /share/Qweb/moin/data/user
# chmod 666 /share/Qweb/moin/data/edit-log
# chmod 666 /share/Qweb/moin/data/event-log
# chmod 666 /share/Qweb/moin/data/intermap.txt
# chmod 666 /share/Qweb/moin/data/meta

underlay.tar.gzを展開

# cd /opt/share/moin
# tar xvfz underlay.tar.gz -C ./config
# chmod 777 ./config
# chmod 777 ./config/underlay
# chmod 777 ./config/underlay/pages

moin.wsgiの変更

# vi /opt/share/moin/server/moin.wsgi
# a2) Path of the directory where wikiconfig.py / farmconfig.py is located.
#     See wiki/config/... for some sample config files.
sys.path.insert(0, '/opt/share/moin/config')

# b) Configuration of moin's logging
#    If you have set up MOINLOGGINGCONF environment variable, you don't need this!
#    You also don't need this if you are happy with the builtin defaults.
#    See wiki/config/logging/... for some sample config files.
from MoinMoin import log
log.load_config('/opt/share/moin/config/logging/logfile')

mod_wsgi.confの変更

mod_wsgiの設定ファイルを変更する。

# vi /usr/local/apache/conf/extra/mod_wsgi.conf

mod_wsgi.confの1番最後の行に追記する。

WSGIScriptAlias "/moin" "/opt/share/moin/server/moin.wsgi"
<Directory "/opt/share/moin">
    Order deny,allow
    Allow from all
</Directory>
<Directory "/share/Qweb/moin/data">
    Order deny,allow
    Allow from all
</Directory>

Alias "/moin_static192" "/opt/lib/python2.5/site-packages/MoinMoin/web/static/htdocs"
<Directory "/opt/lib/python2.5/site-packages/MoinMoin/web/static/htdocs">
    Order deny,allow
    Allow from all
</Directory>

apacheの再起動

変更を反映するため、apacheを再起動する。

# /usr/local/apache/bin/apachectl -k restart

動作確認

Webブラウザから、"http://ドメイン名/moin" にアクセスするとMoinMoinWikiが表示される。

superuserの設定

superuserを作成する。

  • Webブラウザから、"http://ドメイン名/moin/"にアクセスする。
  • "Login"ボタンをクリックすると、"Login"画面を表示する。
  • "you can create one now"ボタンをクリックすると、"Create Account"画面を表示する。
  • "Name", "Password", "Email"を入力し、"Create Profile"ボタンをクリックするとユーザアカウントが作成される。

アクセス権限を設定するので、wikiconfig.pyの下記の箇所を変更する。

# vi /opt/share/moin/config/wikiconfig.py
  • superuser, acl_rights_before: スーパーユーザの設定。
  • acl_rights_default: ログインユーザーに編集を認め、匿名ユーザは読み取りのみ
    superuser = [u"YourName", ]
    acl_rights_before = u"YourName:read,write,delete,revert,admin"
    acl_rights_default = u"Known:read,write,delete,revert All:read"

apacheの再起動

変更を反映するため、apacheを再起動する。

# /usr/local/apache/bin/apachectl -k restart