複数サイトの運営。
(しらぎくモバイルシステム VI 設置方法)
しらぎくモバイルシステム VIを複数サイトで利用する際の方法です。
複数サイト運営機能の概要。
しらぎくモバイルシステム VIには、初めから同一サーヴァ内にある複数サイトを一本のスクリプトで運営する機能を実装しております。
具体的には、各サイトの設定を個別の設定ファイル等に記述する事で、それぞれの設定に応じて処理が可能になると言うものです。
特に、mod_perlを用いる場合、同じパッケージ名のコードが複数あると混乱が生じて誤作動を来たす事があるため、mod_perl環境で複数サイトを運営する場合には必ず一本のコードで対応する事を強く推奨します。
二つ目以降のサイトの設定。
二つ目以降のサイトを設定する際には、英数字及びアンダスコア(_)から成る設定名を命名する必要があります。
そのうえで、設定ファイルについては、一個目のサイトの設定ファイル KConfig.pl と同じディレクトリに専用の設定ファイルとして KConfig-設定名.pl を用意します。
- 例えば、二つ目のサイトの設定名を Horikita と命名した場合、設定ファイル名は
KConfig-Horikita.plとします。
また、HTMLの個別事前処理を実行したい場合、一個目のサイトの個別処理コードを記述する txtHook.pl ファイルと同じディレクトリに txtHook_設定名.pl を用意し、実行させるコードについて、函数名を txtHook_設定名 とします。
- 例えば、二つ目のサイトの設定名を Horikita と命名した場合、HTMLの個別事前処理コードファイル名は
txtHook_Horikita.plとし、実行させる函数名はtxtHook_Horikitaとします。- 設定ファイルと違い、設定名の前は
_となる事に注意してください。
- 設定ファイルと違い、設定名の前は
補足。
二つ目以降のサイトがスクリプトを設置しているサイトとは異なるユーザの場合、以下のように対応する事で利用可能になります。
- 但し、二つ目以降のサイトのユーザが、スクリプトを設置しているサイトのユーザと同じグループに属していないと動作しない事があります。
- 二つ目以降のサイトには「K.cgi」「img.cgi」のみ設置します。
- この場合、mod_perl 上で動作させるのであれば、ファイル名は適宜変更する事をお勧めします。但しその場合、URLが一部変更になります。
- また、上記での設定ファイルなどは全てスクリプト設置サイト側の所定のディレクトリに設置します。
- 二つ目以降のサイトに設置した「K.cgi」「img.cgi」内に書かれている
my $system_dir='';には、スクリプトが設置されているサイト内のスクリプト設置ディレクトリへの絶対パスを記述します。 - スクリプト設置ディレクトリについては、拡張子が.plとなっているスクリプトについて、属性を
644、拡張子が.txtとなっているファイルがある場合には、属性を664とします。- 二つ目以降のサイトがスクリプト設置サイトと同じユーザであれば、いずれの属性も 604 で動作します。但し、mod_perl 上で動作させる場合には、同じユーザ名であっても 604/664 でないと動作しません。
二つ目以降のサイトのURL。
二つ目以降のサイトのURLは、以下のようになります。
- URLの指定方法にクエリモードを用いる場合
- この場合、URLは以下のようになります。
http://CGIのURL/K.cgi?u=~設定名/パス名
つまり、通常のパス名の前に、
~設定名/が付きます。例えば、設定名を
Actressと、PCサイトでの最上位ディレクトリをhttp://www.uso800.uso/oouso/と指定している場合、http://www.uso800.uso/oouso/horikita/maki.htmlは以下のようになります。http://CGIのURL/K.cgi?u=~Actress/horikita/maki.html
- URLの指定方法にエクストラパスモードを用いる場合
- この場合、URLは以下のようになります。
http://CGIのURL/K.cgi/~設定名/パス名
つまり、通常のパス名の前に、
~設定名/が付きます。例えば、設定名を
Actressと、PCサイトでの最上位ディレクトリをhttp://www.uso800.uso/oouso/と指定している場合、http://www.uso800.uso/oouso/horikita/maki.htmlは以下のようになります。http://CGIのURL/K.cgi/~Actress/horikita/maki.html
mod_rewrite を用いる場合。
二つ目以降のサイトにも mod_rewrite を用いる場合、.htaccess での設定は以下のように変わります。
RewriteRule (.*) http://CGI設置URL/K.cgi/~設定名/$1 [NE,L]
これに依り、mod_rewriteを用いる場合であっても、二つ目以降のサイトで正常に対応する事が可能になります。