| 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)。 |
| 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> |
| 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> |
| 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> |
| 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> |
| 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 |
<Location /> |
<Location /> |
| 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> |
| 817 |
<td align="left"> </td> |
<td align="left"> </td> |
| 818 |
</tr> |
</tr> |
| 819 |
<tr> |
<tr> |
| 820 |
<td><SELECT<</td> |
<td><SELECT></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> |
| 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シミュレート機能を有効にする例"> |
| 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> |
| 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サーバの動作するホストを指定します。 |
| 1231 |
</li> |
</li> |
| 1232 |
</ol> |
</ol> |
| 1233 |
|
|
| 1234 |
memcachedを使用する場合には以下のディレクティブを指定する必要もあります。 |
memcachedを使用する場合にはChxjCookieStoreTypeディレクティブの他に以下のディレクティブを指定する必要もあります。 |
| 1235 |
<ol> |
<ol> |
| 1236 |
<li>ChxjCookieMemcacheHost<br /> |
<li>ChxjCookieMemcacheHost<br /> |
| 1237 |
memcachedの動作するホストを指定します。 |
memcachedの動作するホストを指定します。 |
| 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 |
|
|