| 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, 5 Feb 2008 13:20:28 +0900</date> |
<date>Last modified: Tue, 23 Mar 2008 00:34:08 +0900</date> |
| 10 |
</head> |
</head> |
| 11 |
<body> |
<body> |
| 12 |
<section title="Overview"> |
<section title="Overview"> |
| 48 |
$ ./configure |
$ ./configure |
| 49 |
</program> |
</program> |
| 50 |
<note>場合によっては--with-apr-configや--with-apu-config、--with-pcre-configも必要です。</note> |
<note>場合によっては--with-apr-configや--with-apu-config、--with-pcre-configも必要です。</note> |
| 51 |
|
<note>詳細はBuildを参照</note> |
| 52 |
</li> |
</li> |
| 53 |
<li>mod_chxj.soを生成します |
<li>mod_chxj.soを生成します |
| 54 |
<program title="make"> |
<program title="make"> |
| 75 |
</ol> |
</ol> |
| 76 |
</subsection> |
</subsection> |
| 77 |
</section> |
</section> |
| 78 |
|
<section title="Build"> |
| 79 |
|
mod_chxjをコンパイルするにはconfigureを行う必要があります。 |
| 80 |
|
以下にconfigureのオプションを記します。 |
| 81 |
|
<subsection title="メイン"> |
| 82 |
|
<subsection title="--with-apache-header"> |
| 83 |
|
通常指定する必要はありません。configureでApacheのヘッダファイルの場所が検知できなかった場合や、任意のApacheヘッダファイルを使用したい場合に指定します。 |
| 84 |
|
<program title="--with-apache-header"> |
| 85 |
|
$ ./configure --with-apache-header=/usr/include/apache2 |
| 86 |
|
</program> |
| 87 |
|
上記は/usr/include/apache2以下にApacheのヘッダファイルがある場合の例です。 |
| 88 |
|
</subsection> |
| 89 |
|
<subsection title="--with-apxs"> |
| 90 |
|
通常指定する必要はありません。configureでapxsを検知できなかった場合や、任意のapxsプログラムを指定したい場合に指定します。 |
| 91 |
|
<program title="--with-apxs"> |
| 92 |
|
$ ./configure --with-apxs=/usr/local/apache2/bin/apxs2 |
| 93 |
|
</program> |
| 94 |
|
上記は/usr/local/apache2/bin/apxs2を使用するようにapxsに指定しています。 |
| 95 |
|
</subsection> |
| 96 |
|
<subsection title="--with-apr-config"> |
| 97 |
|
通常指定する必要はありません。 |
| 98 |
|
configureでapr-configを検知できなかった場合や、任意のapr-configプログラムを指定したい場合に指定します。 |
| 99 |
|
<program title="--with-apr-config"> |
| 100 |
|
$ ./configure --with-apr-config=/usr/local/apache2/bin/apr-1-config |
| 101 |
|
</program> |
| 102 |
|
上記は/usr/local/apache2/bin/apr-1-configを使用するように指定しています。 |
| 103 |
|
</subsection> |
| 104 |
|
<subsection title="--with-apu-config"> |
| 105 |
|
通常指定する必要はありません。 |
| 106 |
|
configureでapu-configを検知できなかった場合や、任意のapu-configプログラムを指定したい場合に指定します。 |
| 107 |
|
<program title="--with-apu-config"> |
| 108 |
|
$ ./configure --with-apu-config=/usr/local/apache2/bin/apu-1-config |
| 109 |
|
</program> |
| 110 |
|
上記は/usr/local/apache2/bin/apu-1-configを使用するように指定しています。 |
| 111 |
|
</subsection> |
| 112 |
|
</subsection> |
| 113 |
|
<subsection title="Cookieシミュレート機能でMySQLを使用する場合"> |
| 114 |
|
<subsection title="--enable-mysql-cookie"> |
| 115 |
|
Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、MySQLに保存するようにします。 |
| 116 |
|
DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。 |
| 117 |
|
別途MySQLサーバを用意する必要があります。また、本オプションを指定した場合は、--with-mysql-header、--with-mysql-lib-dirも指定します。 |
| 118 |
|
これはMySQLのヘッダとライブラリが必要なことを意味します。使用するMySQLのライブラリは今のところlibmysqlclient_r.soのみです。<br /> |
| 119 |
|
<font color="#ff0000">注意) --enable-memcache-cookieとの併用はできません。</font> |
| 120 |
|
<program title="--enable-mysql-cookie"> |
| 121 |
|
$ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql --with-mysql-lib-dir=/usr/lib |
| 122 |
|
</program> |
| 123 |
|
上記は、/usr/include/mysql以下にmysql用のヘッダがあり、/usr/lib以下にlibmysqlclient_r.soがある場合の例です。 |
| 124 |
|
</subsection> |
| 125 |
|
<subsection title="--with-mysql-header"> |
| 126 |
|
--enable-mysql-cookieを指定した場合は必須です。 |
| 127 |
|
MySQLのヘッダファイルの場所を指定します。 |
| 128 |
|
<program title="--with-mysql-header"> |
| 129 |
|
$ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql --with-mysql-lib-dir=/usr/lib |
| 130 |
|
</program> |
| 131 |
|
</subsection> |
| 132 |
|
<subsection title="--with-mysql-lib-dir"> |
| 133 |
|
--enable-mysql-cookieを指定した場合は必須です。 |
| 134 |
|
MySQLのライブラリ、libmysqlclient_r.soの設置されているディレクトリを指定します。 |
| 135 |
|
<program title="--with-mysql-lib-dir"> |
| 136 |
|
$ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql --with-mysql-lib-dir=/usr/lib |
| 137 |
|
</program> |
| 138 |
|
</subsection> |
| 139 |
|
</subsection> |
| 140 |
|
<subsection title="Cookieシミュレート機能でmemcachedを使用する場合"> |
| 141 |
|
<subsection title="--enable-memcache-cookie"> |
| 142 |
|
Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、memcachedに保存するようにします。 |
| 143 |
|
DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。 |
| 144 |
|
別途memcachedを用意する必要があります。また、本オプションを指定した場合は、--with-apr-memcache-header、--with-apr-memcache-lib-dirも指定します。 |
| 145 |
|
これはapr_memcacheのヘッダとライブラリが必要なことを意味します。<br /> |
| 146 |
|
<font color="#ff0000">注意) --enable-mysql-cookieとの併用はできません。</font><br /> |
| 147 |
|
<font color="#ff0000">注意) apr-utilsのバージョンは0.9.7以降である必要があります。</font> |
| 148 |
|
<program title="--enable-memcache-cookie"> |
| 149 |
|
$ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr-memcache0 --with-apr-memcache-lib-dir=/usr/lib |
| 150 |
|
</program> |
| 151 |
|
上記は、/usr/include/apr_memcache0以下にapr-memcache用のヘッダがあり、/usr/lib以下にlibapr_memcache.soがある場合の例です。 |
| 152 |
|
</subsection> |
| 153 |
|
<subsection title="--with-apr-memcache-header"> |
| 154 |
|
--enable-memcache-cookieを指定した場合は必須です。 |
| 155 |
|
apr-memcacheのヘッダファイルの場所を指定します。 |
| 156 |
|
<program title="--with-apr-memcache-header"> |
| 157 |
|
$ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr_memcache0 --with-apr-memcache-lib-dir=/usr/lib |
| 158 |
|
</program> |
| 159 |
|
</subsection> |
| 160 |
|
<subsection title="--with-apr-memcache-lib-dir"> |
| 161 |
|
--enable-mysql-cookieを指定した場合は必須です。 |
| 162 |
|
apr-memcacheのライブラリ、libapr_memcache.soの設置されているディレクトリを指定します。 |
| 163 |
|
<program title="--with-apr-memcache-lib-dir"> |
| 164 |
|
$ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr_memcache0 --with-apr-memcache-lib-dir=/usr/lib |
| 165 |
|
</program> |
| 166 |
|
</subsection> |
| 167 |
|
</subsection> |
| 168 |
|
</section> |
| 169 |
<section title="Configuration"> |
<section title="Configuration"> |
| 170 |
以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています |
以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています |
| 171 |
|
|
| 1061 |
そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。 |
そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。 |
| 1062 |
</subsection> |
</subsection> |
| 1063 |
<subsection title="Cookieの保存場所"> |
<subsection title="Cookieの保存場所"> |
| 1064 |
Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。 |
Cookieの内容はサーバ側に保存されます。 |
| 1065 |
|
デフォルトではDBMを使用し、保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。 |
| 1066 |
<program title="ChxjCookieDirの例"> |
<program title="ChxjCookieDirの例"> |
| 1067 |
ChxjCookieDir /var/abc |
ChxjCookieDir /var/abc |
| 1068 |
</program> |
</program> |
| 1069 |
|
|
| 1070 |
|
DBMの代わりにMySQLやmemcachedを指定することもできます。その際は、ChxjCookieDirは指定する必要はありません。 |
| 1071 |
|
MySQLを使用するには、configure時にMySQL COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note> |
| 1072 |
|
memcachedを使用するには、configure時にMEMCACHE COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note> |
| 1073 |
|
またMySQLを使用する場合には以下のディレクティブを指定する必要もあります。 |
| 1074 |
|
<ol> |
| 1075 |
|
<li>ChxjCookieMysqlHost<br /> |
| 1076 |
|
MySQLサーバの動作するホストを指定します。 |
| 1077 |
|
<program title="ChxjCookieMysqlHostの例"> |
| 1078 |
|
ChxjCookieMysqlHost "localhost" |
| 1079 |
|
</program> |
| 1080 |
|
</li> |
| 1081 |
|
<li>ChxjCookieMysqlPort<br /> |
| 1082 |
|
MySQLサーバのポート番号を指定します。 |
| 1083 |
|
<program title="ChxjCookieMysqlPortの例"> |
| 1084 |
|
ChxjCookieMysqlPort 3306 |
| 1085 |
|
</program> |
| 1086 |
|
</li> |
| 1087 |
|
<li>ChxjCookieMysqlDatabase<br /> |
| 1088 |
|
MySQLサーバのデータベース名を指定します。 |
| 1089 |
|
<program title="ChxjCookieMysqlDatabaseの例"> |
| 1090 |
|
ChxjCookieMysqlDatabase "test_db" |
| 1091 |
|
</program> |
| 1092 |
|
</li> |
| 1093 |
|
<li>ChxjCookieMysqlUsername<br /> |
| 1094 |
|
MySQLサーバに接続する際に使用するユーザ名を指定します。 |
| 1095 |
|
<program title="ChxjCookieMysqlUsernameの例"> |
| 1096 |
|
ChxjCookieMysqlUsername "roottest" |
| 1097 |
|
</program> |
| 1098 |
|
</li> |
| 1099 |
|
<li>ChxjCookieMysqlPassword<br /> |
| 1100 |
|
MySQLサーバに接続する際に使用するパスワードを指定します。 |
| 1101 |
|
<program title="ChxjCookieMysqlPasswordの例"> |
| 1102 |
|
ChxjCookieMysqlPassword "pwtest" |
| 1103 |
|
</program> |
| 1104 |
|
</li> |
| 1105 |
|
<li>ChxjCookieMysqlSocketPath<br /> |
| 1106 |
|
MySQLのソケットパスを指定します。 |
| 1107 |
|
<program title="ChxjCookieMysqlSocketPathの例"> |
| 1108 |
|
ChxjCookieMysqlSocketPath "/tmp/mysql.sock" |
| 1109 |
|
</program> |
| 1110 |
|
</li> |
| 1111 |
|
<li>ChxjCookieMysqlCharset<br /> |
| 1112 |
|
MySQLのエンコードを指定します。 |
| 1113 |
|
<program title="ChxjCookieMysqlCharsetの例"> |
| 1114 |
|
ChxjCookieMysqlCharset "utf8" |
| 1115 |
|
</program> |
| 1116 |
|
</li> |
| 1117 |
|
<li>ChxjCookieMysqlTablename<br /> |
| 1118 |
|
MySQLのクッキーを保存するテーブル名を指定します。 |
| 1119 |
|
<program title="ChxjCookieMysqlTablenameの例"> |
| 1120 |
|
ChxjCookieMysqlTablename "chxj_cookie" |
| 1121 |
|
</program> |
| 1122 |
|
上記のように"chxj_cookie"と指定すると、実際に作成されるテーブルは、chxj_cookieとchxj_cookie_expireテーブルの2つになります。 |
| 1123 |
|
</li> |
| 1124 |
|
</ol> |
| 1125 |
|
|
| 1126 |
|
memcachedを使用する場合には以下のディレクティブを指定する必要もあります。 |
| 1127 |
|
<ol> |
| 1128 |
|
<li>ChxjCookieMemcacheHost<br /> |
| 1129 |
|
memcachedの動作するホストを指定します。 |
| 1130 |
|
<program title="ChxjCookieMemcacheHostの例"> |
| 1131 |
|
ChxjCookieMemcacheHost "localhost" |
| 1132 |
|
</program> |
| 1133 |
|
</li> |
| 1134 |
|
<li>ChxjCookieMemcachePort<br /> |
| 1135 |
|
memcachedのポート番号を指定します。 |
| 1136 |
|
<program title="ChxjCookieMemcachePortの例"> |
| 1137 |
|
ChxjCookieMemcachePort 11211 |
| 1138 |
|
</program> |
| 1139 |
|
</li> |
| 1140 |
|
</ol> |
| 1141 |
</subsection> |
</subsection> |
| 1142 |
<subsection title="Cookieの保持期間"> |
<subsection title="Cookieの保持期間"> |
| 1143 |
ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。 |
ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。 |