(ヽ´ω`) < 助けてほしいマン

わからないことを助けてほしいマンが書くブログ

(ヽ'ω`) < Moinmoinを複数個設置する(VirtualHost編)

(ヽ'ω`) < 1つじゃ足りない

という事で、前回サブディレクトリ運用で複数個のMoinmoin Wikiを設置する方法について解説した。

参考: (ヽ'ω`) < Moinmoinを複数個設置する(サブディレクトリ編) - (ヽ´ω`) < *****

今回はVirtualHost環境での複数設置の方法について解説をする。

(ヽ'ω`) < とか言いつつ

あまり説明するようなことはなくて、基本は単体設置の時と同じ流れ。

違うのはApache側の設定で、moin.confの内容、wsgiの設定を各VirtualHost毎に行なってやればOK。

(ヽ'ω`) < シナリオについて

今回も想定するシナリオは、前回のサブディレクトリ運用の際と同じくpython, ruby, javascriptについてのMoinmion Wikiを設置するものと想定する。

(ヽ'ω`) < 作業はほぼ一緒

基本的には単体設置の時と作業内容はほぼ同じ。複数個を設置するので/usr/share/moinディレクトリをテンプレートとして、任意の場所にコピーするところはサブディレクトリ運用と同じ。

  • /usr/share/moinディレクトリを任意の場所にコピーするところは、サブディレクトリ運用と同じ。
  • moin.wsgi, wikiconfig.pyを親ディレクトリにコピーするところは全てで共通
  • moin.wsgiの内容については全てで共通
  • wikiconfig.pyの内容についても単体設置の時と同じ
  • ディレクトリのパーミション設定も全てで共通

(ヽ'ω`) < それじゃ何が違うのか?

Apache側でのWSGIScriptAliasの項目(/etc/httpd/conf.d/moin.conf)を、各VirtualHostディレクティブの中で記述する。WSCGIScriptAlias以外の項目に関しては、そのままmoin.conf`に残しておく。(全てのVirtualHostで共通のため)

今回のシナリオでは、例えば

## in /etc/httpd/conf/httpd.conf

NameVirtualHost *:80

## python
<VirtualHost *:80>
    ServerAdmin    python-admin@hoge.com
    DocumentRoot   /var/www/python
    ServerName     python.wiki.hoge.com
    ErrorLog       /var/log/httpd/python/error_log
    CustomLog      /var/log/httpd/python/access_log common
    WSGIScriptAlias   /    /opt/moinmion/python/moin.wsgi
</VirtualHost>

## ruby
<VirtualHost *:80>
    ServerAdmin    ruby-admin@hoge.com
    DocumentRoot   /var/www/ruby
    ServerName     ruby.wiki.hoge.com
    ErrorLog       /var/log/httpd/ruby/error_log
    CustomLog      /var/log/httpd/ruby/access_log common
    WSGIScriptAlias   /    /opt/moinmion/ruby/moin.wsgi
</VirtualHost>

## javascript
<VirtualHost *:80>
    ServerAdmin    javascript-admin@hoge.com
    DocumentRoot   /var/www/javascript
    ServerName     javascript.wiki.hoge.com
    ErrorLog       /var/log/httpd/javascript/error_log
    CustomLog      /var/log/httpd/javascript/access_log common
    WSGIScriptAlias   /    /opt/moinmion/javascript/moin.wsgi
</VirtualHost>

のように記述する。

(ヽ'ω`) < 当然だけど

DNSの設定は適切に行うこと。

(ヽ'ω`) < 結局、単体設置の時と何が違うの?(2回目)

まとめると、複数設置でVirtualHost運用の場合は、単体設置の場合と比べて

  • /usr/share/moinをテンプレートとして任意のディレクトリに、moinからリネームしてコピー
  • /etc/httpd/conf/moin.confからWSGIScriptAliasの行を、各VirtualHost定義の箇所に移動

の2点を行う必要がある。

(ヽ'ω`) < Wiki farm

(ヽ'ω`) < 聞こえない