(ヽ'ω`) < 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
(ヽ'ω`) < 聞こえない