Views
Mod_python カウンタを動かしてみる
mod_python カウンタについては、
- 学内向け に使用法を説明してあります。
- ここでは、情報科学コースの教育システム環境で、試しに動かしてみます。
- ここ を見て、自分のホームディレクトリで apache を起動する。
- ここ から count.py をダウンロード
- ~/www/htdocs/py ディレクトリを作り、count.py を入れる
- count.py を編集
tkikuchi@NetBooted001124ccb8d6$ diff -u ~/Desktop/count.py count.py --- /net/fs/home0/isstaff/tkikuchi/Desktop/count.py 2006-11-07 08:38:16.000000000 +0900 +++ count.py 2006-11-03 13:40:09.000000000 +0900 @@ -7,15 +7,15 @@ import Image, ImageDraw, ImageFont, ImageChops # Where the database file is. You should create this file manually. -DBFILE =
/path/to/data/db
+DBFILE =/net/fs/homeN/GROUP/USER/www/htdocs/py/data/db
# Where the password file is. Use apache htpasswd to create this. -PWFILE =/path/to/data/passwd
+PWFILE =/net/fs/homeN/GROUP/USER/www/htdocs/py/data/passwd
# PIL font directory -FONTDIR =/path/to/PIL/pilfonts
+FONTDIR =/sw/lib/python2.4/site-packages/PIL/pilfonts
# regular expression for referer -REFOK = r'^http://[^/]example\.(com|jp)' +REFOK = r'' # r'^http://[^/]example\.(com|jp)' # Private IP address pattern forlist
function -PRIVIP = r'^192\.168' +PRIVIP = r'^127\.0\.0\.1$' # Acceptable formats and their mime types. # You must implement if you want to add other formats.- ~/www/conf/httpd.conf に
LoadModule python_module modules/mod_python.so
があるのを確認。(無ければ、他の LoadModule の近くに追加記入)
- ~/www/conf/httpd.conf に以下を追加
<Directory "/net/fs/homeN/GROUP/USER/www/htdocs/py"> SetHandler mod_python PythonHandler mod_python.publisher PythonDebug On </Directory>
- apache を再起動 (~/www/bin/apachectl restart)
- ブラウザで http://localhost:8080/py/count へアクセスする (**** が表示される)
- ~/www/htdocs/count-test.html を作成
<html> <body> <img src="/py/count?fmt=png"> </body> </html>
- ブラウザで http://localhost:8080/count-test.html へアクセス (画像で 1 が表示される)
- このままだと、カウントが 1 より上がらないので、コードを修正
@@ -110,7 +110,7 @@ count, oldip = data.split(
|
) count = int(count) ip = req.get_remote_host() - if ip <> oldip: + if True: ### ip <> oldip: count += 1 newdata =%s|%s
% (count, ip) db[ref] = newdata- 再読み込みするたびにカウンタが上がるはず。