<!--
   $FML: cgi.sgml,v 1.4 2003/04/15 14:51:43 fukachan Exp $
-->

<chapter id="setupcgi">
	<title>
	CGI の設定
	</title>


<warning>

<para>
CGI の内部構造については
<link linkend="cgi.internal.method">
<xref linkend="cgi.internal.method">
</link>
を参照して下さい。
</para>

<para>
apache で suexec を使うことを前提としています。
</para>

<para>
また、現在はＭＬごとの CGI はなく、
ドメイン全体を管理する CGI しかありません。
そのうち作ります _o_ 
</para>

<para>
CGI を使う場合でも、メールサーバとして postfix や qmail を使っている場
合はメールサーバの設定変更は不要です。
</para>

</warning>


<sect1 id="setupcgi.install">
	<title>
	makefml newml は CGI スクリプトを作ります
	</title>

<para>
makefml newml を実行するとデフォルトで config.cgi などの CGI スクリプ
トが ~fml/public_html/ 以下に用意されています。この CGI は二種類あり、
ドメイン全体を管理するものとそれぞれのＭＬを管理する CGI と両方ありま
す。
</para>

<para>
例えば、elena@fml.org ＭＬを作成すると
fml.org の全ＭＬを管理する CGI スクリプト
<screen>
http://lists.fml.org/~fml/cgi-bin/fml/ドメイン/admin/config.cgi

例
http://lists.fml.org/~fml/cgi-bin/fml/fml.org/admin/config.cgi
</screen>
と elena ML だけを管理する CGI スクリプト
<screen>
http://lists.fml.org/~fml/cgi-bin/fml/ドメイン/ml-admin/ＭＬ名/config.cgi

例
http://lists.fml.org/~fml/cgi-bin/fml/fml.org/ml-admin/elena/config.cgi
</screen>
の両方が makefml により用意されます
(後者はそういう予定ということで、実際には作られません _o_)。
</para>

<para>
<graphic entityref="image.cgi.newml"></graphic>
</para>

</sect1>


<sect1 id="setupcgi.htaccess">
	<title>
	.htaccess を編集する
	</title>

<para>
デフォルトでは、CGI のアクセスを拒否するようにドメイン単位で
.htaccess が作られます。
<screen>
http://lists.fml.org/~fml/cgi-bin/fml/ドメイン/.htaccess

例
http://lists.fml.org/~fml/cgi-bin/fml/fml.org/.htaccess
</screen>
</para>

<para>
デフォルトの .htaccess は次のような無意味:)なものになっていて、
アクセスできません。
<screen>
AuthName ByPassword
AuthType Basic
require valid-user
</screen>
この .htaccess を適切なものに書き換えて下さい。
</para>

<warning>
<para>
(当たり前だけど)このファイルを消すと、誰でもアクセスできるようになります。
デバッグする場合はともかく、そういう裏技は使わないようにしましょう;-)
また、そういうのに限って再設定し忘れたりするものなので、しない方が良い
です。きちんと .htaccess を設定しましょう。
</para>
</warning>

</sect1>


<sect1 id="setupcgi.admin.cgi.overview">
	<title>
	例: ドメインマスタ CGI の画面
	</title>

<para>
この CGI は
「makefml を実行できる権限を与えても良いけれど、
でも、UNIX のコマンドラインを使うのがちょっと辛い」
という人を想定しています。
よって、ＭＬの作成などができるわけですが、
makefml のすべての機能が使えるわけでもありません。 
</para>

<para>
画面を見るとわかる通り、
CGI で可能な項目は makefml のサブセットとなっています。
なお、使用可能なコマンドは最初の画面にヘルプとして表示されています。
<screen>
例: CGI トップ画面

                     @home.fml.org CGI for configuration

fml admin menu             fml CGI interface for @home.fml.org ML's
mailing list:
[elena]              左のナビゲーションバーから、ＭＬ(mailing list)とコマ
command:             ンド(command)を選択し、 submit ボタンを押して下さい
[subscribe  ]        。
[submit][reset]
                     subscribe   アドレスの追加
                     unsubscribe アドレスの削除
                     addadmin    リモート管理者アドレスの追加
                     byeadmin    リモート管理者アドレスの削除
options Language:    list        アドレスリストを見る
[Japanese] [change]  log         ログを見る
                     newml       ＭＬの作成
                     rmml        ＭＬの削除
</screen>
</para>


<para>
なお、画面の左下もしくは右にヘルプメッセージが表示されるので
それを参考にして下さい。
もちろんコマンドごとにメッセージは異なります:)
</para>

<para>
<graphic entityref="image.cgi.top"></graphic>
</para>


</sect1>


<sect1 id="setupcgi.admin.cgi.newml">
	<title>
	CGI の使い方の例: ＭＬの作成
	</title>

<para>
左の画面のコマンドで newml を選択し、
submit ボタンを押して下さい。
ML 名を選択する必要はありません:)
</para>

<para>
中央に、ＭＬ名の入力を促す画面が現れるので、
作成するＭＬ名を入力し、中央の submit ボタンを押して下さい。
</para>

<para>
<graphic entityref="image.cgi.newml"></graphic>
</para>

</sect1>


<sect1 id="setupcgi.admin.cgi.subscribe">
	<title>
	CGI の使い方の例: メンバー登録
	</title>

<para>
左の画面のコマンドで ML 名と subscribe を選択し、
submit ボタンを押して下さい。
</para>

<para>
中央に、アドレスの入力を促す画面が現れるので、
登録したいアドレスを入力し、
中央の submit ボタンを押して下さい。
</para>

<para>
<graphic entityref="image.cgi.useradd"></graphic>
</para>

</sect1>


</chapter>
