Develop and Download Open Source Software

Browse CVS Repository

Diff of /modchxj/mod_chxj/doc/modchxj.sdoc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.35 by konn, Fri May 16 11:12:19 2008 UTC revision 1.36 by konn, Fri May 16 11:20:51 2008 UTC
# Line 6  Line 6 
6    <subtitle></subtitle>    <subtitle></subtitle>
7    <author>Atsushi Konno</author>    <author>Atsushi Konno</author>
8    <date>29 Mar 2005</date>    <date>29 Mar 2005</date>
9    <date>Last modified: Tue, 23 Mar 2008 00:34:08 +0900</date>    <date>Last modified: @@DATE@@</date>
10  </head>  </head>
11  <body>  <body>
12  <section title="Overview">  <section title="Overview">
13    
14  mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.0用モジュールであり、  mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.x用モジュールであり、
15  CHTML(DoCoMo i-Mode用 CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。  CHTML(DoCoMo i-Mode用 CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。
16  HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。  HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。
17  Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。  Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。
# Line 22  Cookie非対応端末、Refer非対応端末のため?/span> Line 22  Cookie非対応端末、Refer非対応端末のため?/span>
22  <subsection title="準備">  <subsection title="準備">
23  mod_chxjをインストールする前に、下記のものを用意する必要があります。  mod_chxjをインストールする前に、下記のものを用意する必要があります。
24  <ol>  <ol>
25    <li>Apache2.0のヘッダーファイル群</li>    <li>Apache2.xのヘッダーファイル群</li>
26    <li>Apache2.0用のapxs</li>    <li>Apache2.x用のapxs</li>
27    <li>apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)</li>    <li>apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)<note>memcacheを使用する場合、apuは0.9.7以降</note></li>
28    <li>automake、autoconf、libtool1.3.X</li>    <li>automake、autoconf、libtool1.3.X</li>
29    <li>ImageMagick(MagickWand)</li>    <li>ImageMagick(MagickWand)</li>
30    <li>Linux</li>    <li>Linux</li>
# Line 43  $ ./buildconf.sh Line 43  $ ./buildconf.sh
43  </li>  </li>
44  <li>Configure  <li>Configure
45    
 以下は、/usr/include/apache2.0に、Apache2.0のヘッダーファイルが存在する場合です。  
46  <program title="Configure">  <program title="Configure">
47  $ ./configure  $ ./configure
48  </program>  </program>
# Line 115  mod_chxjをコンパイルするにはconfigureを?/span> Line 114  mod_chxjをコンパイルするにはconfigureを?/span>
114        Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、MySQLに保存するようにします。        Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、MySQLに保存するようにします。
115        DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。        DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。
116        別途MySQLサーバを用意する必要があります。また、本オプションを指定した場合は、--with-mysql-header、--with-mysql-lib-dirも指定します。        別途MySQLサーバを用意する必要があります。また、本オプションを指定した場合は、--with-mysql-header、--with-mysql-lib-dirも指定します。
117        これはMySQLのヘッダとライブラリが必要なことを意味します。使用するMySQLのライブラリは今のところlibmysqlclient_r.soのみです。<br />        これはMySQLのヘッダとライブラリが必要なことを意味します。使用するMySQLのライブラリは今のところlibmysqlclient_r.soのみです。
       <font color="#ff0000">注意) --enable-memcache-cookieとの併用はできません。</font>  
118        <program title="--enable-mysql-cookie">        <program title="--enable-mysql-cookie">
119           $ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql  --with-mysql-lib-dir=/usr/lib           $ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql  --with-mysql-lib-dir=/usr/lib
120        </program>        </program>
# Line 142  mod_chxjをコンパイルするにはconfigureを?/span> Line 140  mod_chxjをコンパイルするにはconfigureを?/span>
140        Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、memcachedに保存するようにします。        Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、memcachedに保存するようにします。
141        DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。        DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。
142        別途memcachedを用意する必要があります。また、本オプションを指定した場合は、--with-apr-memcache-header、--with-apr-memcache-lib-dirも指定します。        別途memcachedを用意する必要があります。また、本オプションを指定した場合は、--with-apr-memcache-header、--with-apr-memcache-lib-dirも指定します。
143        これはapr_memcacheのヘッダとライブラリが必要なことを意味します。<br />        これはapr_memcacheのヘッダとライブラリが必要なことを意味します。
       <font color="#ff0000">注意) --enable-mysql-cookieとの併用はできません。</font><br />  
       <font color="#ff0000">注意) apr-utilsのバージョンは0.9.7以降である必要があります。</font>  
144        <program title="--enable-memcache-cookie">        <program title="--enable-memcache-cookie">
145           $ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr-memcache0 --with-apr-memcache-lib-dir=/usr/lib           $ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr-memcache0 --with-apr-memcache-lib-dir=/usr/lib
146        </program>        </program>
# Line 518  ChxjConvRule "^/chxj.+$" "EngineOn" "EUC Line 514  ChxjConvRule "^/chxj.+$" "EngineOn" "EUC
514    </program>    </program>
515    </li>    </li>
516    <li>ChxjCookieDir<br />    <li>ChxjCookieDir<br />
517      クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。      クッキー保存先をdbmにする場合(デフォルト)指定します。
518        クッキーの内容を保存するディレクトリを指定します。
519      指定しない場合は/tmpに保存されます。      指定しない場合は/tmpに保存されます。
520    <program title="ex)">    <program title="ex)">
521      &lt;Location /&gt;      &lt;Location /&gt;
# Line 537  ChxjConvRule "^/chxj.+$" "EngineOn" "EUC Line 534  ChxjConvRule "^/chxj.+$" "EngineOn" "EUC
534    </program>    </program>
535    詳細は「Cookieシミュレート機能」の項を参照ください。    詳細は「Cookieシミュレート機能」の項を参照ください。
536    </li>    </li>
537      <li>ChxjCookieStoreType<br />
538        クッキー保存先を指定します。指定できるものは以下のとおり。
539        <table title="保存先">
540          <thead>
541            <tr>
542              <td>値</td><td>意味</td><td>指定例</td>
543            </tr>
544          </thead>
545          <tbody>
546            <tr>
547              <td>"dbm"</td><td>dbmを選択します。</td><td>ChxjCookieStoreType "dbm"</td>
548            </tr>
549            <tr>
550              <td>"mysql"</td><td>mysqlを選択します。<font color="#ff0000">有効にするにはconfigure時にMYSQL COOKIE機能を有効にする必要があります</font></td><td>ChxjCookieStoreType "mysql"</td>
551            </tr>
552            <tr>
553              <td>"memcache"</td><td>memcacheを選択します。<font color="#FF0000">有効にするにはconfigure時にMEMCACHE COOKIE機能を有効にする必要があります</font></td><td>ChxjCookieStoreType "memcache"</td>
554            </tr>
555          </tbody>
556        </table>
557      </li>
558      <li>ChxjCookieMysqlHost<br />
559          MySQLサーバの動作するホストを指定します。
560          <program title="ChxjCookieMysqlHostの例">
561             ChxjCookieMysqlHost "localhost"
562          </program>
563          詳細は「Cookieシミュレート機能」の項を参照ください。
564      </li>
565      <li>ChxjCookieMysqlPort<br />
566          MySQLサーバのポート番号を指定します。
567          <program title="ChxjCookieMysqlPortの例">
568             ChxjCookieMysqlPort 3306
569          </program>
570          詳細は「Cookieシミュレート機能」の項を参照ください。
571      </li>
572      <li>ChxjCookieMysqlDatabase<br />
573          MySQLサーバのデータベース名を指定します。
574          <program title="ChxjCookieMysqlDatabaseの例">
575             ChxjCookieMysqlDatabase "test_db"
576          </program>
577          詳細は「Cookieシミュレート機能」の項を参照ください。
578      </li>
579      <li>ChxjCookieMysqlUsername<br />
580          MySQLサーバに接続する際に使用するユーザ名を指定します。
581          <program title="ChxjCookieMysqlUsernameの例">
582             ChxjCookieMysqlUsername "roottest"
583          </program>
584          詳細は「Cookieシミュレート機能」の項を参照ください。
585      </li>
586      <li>ChxjCookieMysqlPassword<br />
587          MySQLサーバに接続する際に使用するパスワードを指定します。
588          <program title="ChxjCookieMysqlPasswordの例">
589             ChxjCookieMysqlPassword "pwtest"
590          </program>
591          詳細は「Cookieシミュレート機能」の項を参照ください。
592      </li>
593      <li>ChxjCookieMysqlSocketPath<br />
594          MySQLのソケットパスを指定します。
595          <program title="ChxjCookieMysqlSocketPathの例">
596             ChxjCookieMysqlSocketPath  "/tmp/mysql.sock"
597          </program>
598          詳細は「Cookieシミュレート機能」の項を参照ください。
599      </li>
600      <li>ChxjCookieMysqlCharset<br />
601          MySQLのエンコードを指定します。
602          <program title="ChxjCookieMysqlCharsetの例">
603             ChxjCookieMysqlCharset  "utf8"
604          </program>
605          詳細は「Cookieシミュレート機能」の項を参照ください。
606      </li>
607      <li>ChxjCookieMysqlTablename<br />
608          MySQLのクッキーを保存するテーブル名を指定します。
609          <program title="ChxjCookieMysqlTablenameの例">
610             ChxjCookieMysqlTablename  "chxj_cookie"
611          </program>
612          上記のように"chxj_cookie"と指定すると、実際に作成されるテーブルは、chxj_cookieとchxj_cookie_expireテーブルの2つになります。
613          詳細は「Cookieシミュレート機能」の項を参照ください。
614      </li>
615      <li>ChxjCookieMemcacheHost<br />
616          memcachedの動作するホストを指定します。
617          <program title="ChxjCookieMemcacheHostの例">
618             ChxjCookieMemcacheHost "localhost"
619          </program>
620          詳細は「Cookieシミュレート機能」の項を参照ください。
621      </li>
622      <li>ChxjCookieMemcachePort<br />
623          memcachedのポート番号を指定します。
624          <program title="ChxjCookieMemcachePortの例">
625             ChxjCookieMemcachePort 11211
626          </program>
627          詳細は「Cookieシミュレート機能」の項を参照ください。
628      </li>
629  </ol>  </ol>
630  </subsection>  </subsection>
631  </section>  </section>
# Line 728  ChxjConvRule "^/chxj.+$" "EngineOn" "EUC Line 817  ChxjConvRule "^/chxj.+$" "EngineOn" "EUC
817         <td align="left"> </td>         <td align="left"> </td>
818      </tr>      </tr>
819      <tr>      <tr>
820         <td>&lt;SELECT&lt;</td>         <td>&lt;SELECT&gt;</td>
821         <td align="center">name</td>         <td align="center">name</td>
822         <td align="center">○</td>         <td align="center">○</td>
823         <td align="center">○</td>         <td align="center">○</td>
# Line 1047  httpd.confに以下の記述を追加します。 Line 1136  httpd.confに以下の記述を追加します。
1136        
1137  </subsection>  </subsection>
1138  </section>  </section>
1139  <section title="Cookieシミュレート機能(EXPERIMENTAL)">  <section title="Cookieシミュレート機能">
1140  <subsection title="Cookieシミュレート機能(EXPERIMENTAL)">  <subsection title="Cookieシミュレート機能">
1141    Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。    Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。
1142        
1143    <program title="Cookieシミュレート機能を有効にする例">    <program title="Cookieシミュレート機能を有効にする例">
# Line 1059  httpd.confに以下の記述を追加します。 Line 1148  httpd.confに以下の記述を追加します。
1148  <subsection title="One-Time ID">  <subsection title="One-Time ID">
1149  Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。  Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。
1150  そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。  そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。
1151    One-Time IDを使用する必要が無い場合、またはOne-Time IDを使用したくない場合には、
1152    CookieLazyModeを使用することで毎回同一IDを発行させることができます。
1153  </subsection>  </subsection>
1154  <subsection title="Cookieの保存場所">  <subsection title="Cookieの保存場所">
1155  Cookieの内容はサーバ側に保存されます。  Cookieの内容はサーバ側に保存されます。
1156  デフォルトではDBMを使用し、保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。  保存先にはdbm、memcached、mysqlが選択できます。<br />
1157    <font color="#ff0000">注意) memcached、mysqlを保存先に選択する場合はconfigure時にそれぞれ指定する必要があります</font><br />
1158    保存先の指定にはChxjCookieStoreTypeディレクティブを使用します。
1159      <program title="ChxjCookieStoreTypeでDBMを指定した例">
1160        ChxjCookieStoreType "dbm"
1161      </program>
1162      <program title="ChxjCookieStoreTypeでMySQLを指定した例">
1163        ChxjCookieStoreType "mysql"
1164      </program>
1165      <program title="ChxjCookieStoreTypeでmemcacheを指定した例">
1166        ChxjCookieStoreType "memcache"
1167      </program>
1168      上記ChxjCookieStoreTypeが指定されない場合はdbmが選択されます。
1169    <br />
1170    
1171    dbmを使用する場合は、ChxjCookieDirディレクティブを指定し、保存ディレクトリを指定します。指定しなかった場合は/tmpに保存されます。
1172    
1173    <program title="ChxjCookieDirの例">    <program title="ChxjCookieDirの例">
1174      ChxjCookieDir /var/abc      ChxjCookieDir /var/abc
1175    </program>    </program>
# Line 1070  Cookieの内容はサーバ側に保存されます。 Line 1177  Cookieの内容はサーバ側に保存されます。
1177  DBMの代わりにMySQLやmemcachedを指定することもできます。その際は、ChxjCookieDirは指定する必要はありません。  DBMの代わりにMySQLやmemcachedを指定することもできます。その際は、ChxjCookieDirは指定する必要はありません。
1178  MySQLを使用するには、configure時にMySQL COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note>  MySQLを使用するには、configure時にMySQL COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note>
1179  memcachedを使用するには、configure時にMEMCACHE COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note>  memcachedを使用するには、configure時にMEMCACHE COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note>
1180  またMySQLを使用する場合には以下のディレクティブを指定する必要もあります。  
1181    MySQLを使用する場合にはChxjCookieStoreTypeディレクティブのほかに、以下のディレクティブを指定する必要もあります。
1182  <ol>  <ol>
1183    <li>ChxjCookieMysqlHost<br />    <li>ChxjCookieMysqlHost<br />
1184        MySQLサーバの動作するホストを指定します。        MySQLサーバの動作するホストを指定します。
# Line 1123  memcachedを使用するには、configure時にME Line 1231  memcachedを使用するには、configure時にME
1231    </li>    </li>
1232  </ol>  </ol>
1233    
1234  memcachedを使用する場合には以下のディレクティブを指定する必要もあります。  memcachedを使用する場合にはChxjCookieStoreTypeディレクティブの他に以下のディレクティブを指定する必要もあります。
1235  <ol>  <ol>
1236    <li>ChxjCookieMemcacheHost<br />    <li>ChxjCookieMemcacheHost<br />
1237        memcachedの動作するホストを指定します。        memcachedの動作するホストを指定します。
# Line 1148  ChxjCookieTimeoutディレクティブで保持期?/span> Line 1256  ChxjCookieTimeoutディレクティブで保持期?/span>
1256    </program>    </program>
1257    上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。    上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。
1258  </subsection>  </subsection>
1259    <subsection title="CookieLazyMode">
1260    ChxjCookieLazyModeディレクティブで"true"を指定するとOne-Time IDを使用しないようにすることができます。
1261    Cookie用のIDは毎回同一のIDが割り振られます。
1262    以下にCookieLazyModeの例を記します。
1263    <program title="ChxjCookieLazyModeの例">
1264      ChxjCookieLazyMode true
1265    </program>
1266    true以外を指定すると通常のOne-Time IDモードになります。
1267    </subsection>
1268  </section>  </section>
1269    
1270    

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26