Skip to content.

kagome.lab.tkikuchi.net

Sections
Personal tools
You are here: Home » Members » tkikuchi's Home » 使い方など » Mod_python カウンタを動かしてみる
Views

Mod_python カウンタを動かしてみる

Document Actions

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 for list 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
    
  • 再読み込みするたびにカウンタが上がるはず。
Created by tkikuchi
Last modified 2006-11-09 16:59
 

Powered by Plone

This site conforms to the following standards: