Plugin導入後の起動テスト with lighttpd

これでインストールと設定は終わったので、起動してみる。

# trac-admin /var/trac/test/ upgrade
/usr/lib/python2.3/site-packages/trac/loader.py:101: UserWarning: Module tractags was already imported from /usr/lib/python2.3/site-packages/tractags/__init__.pyc, but /var/trac/test/plugins/TracTags-0.4-py2.3.egg is being added to sys.path
  entry_point.load()
Upgrade done.

マニュアルで入れたゴミが残っていたので掃除。

# rm -r /usr/lib/python2.3/site-packages/tractags/
# trac-admin /var/trac/test/ upgrade
Database is up to date, no upgrade necessary.
# tracd --port 8000 /var/trac/test &

ブラウザで見ると、メニューバーに"Tags"が追加になっている。
Wikiの編集でも、"Change information"に"Tag under:"が追加になっているのがわかる。
しかし、AdminとかBlogとかはどこにあるんだろう。
ログインしないと出てこないのかもしれない。
lighttpdから起動してみる。

# apt-get install lsb-base/sarge-backports
# apt-get install lighttpd/sarge-backports
# vi /etc/lighttpd/conf-available/10-trac.conf
server.modules   += ( "mod_auth",
                      "mod_fastcgi"
                    )

auth.backend               = "htpasswd"

$HTTP["url"] =~ "^/trac/" {
  auth.backend.htpasswd.userfile = "/etc/lighttpd/htpasswd.htaccess"
}

auth.require = ("/trac/login" =>
                ("method"  => "basic",
                 "realm"   => "test project",
                 "require" => "valid-user"
                )
               )

fastcgi.server = ("/trac" =>
                   ("trac" =>
                     ("socket" => "/tmp/trac-fastcgi.sock",
                      "bin-path" => "/var/www/trac/trac.fcgi",
                      "check-local" => "disable",
                      "bin-environment" =>
                        ("TRAC_ENV" => "/var/trac/test")
                     )
                   )
                 )
# ln -s /etc/lighttpd/conf-available/10-trac.conf /etc/lighttpd/conf-enabled/
# mkdir /var/www/trac
# chown www-data:www-data /var/www/trac
# cp /usr/share/trac/cgi-bin/trac.fcgi /var/www/trac/
# chown www-data:www-data /var/www/trac/trac.fcgi
# apt-get install apache2-utils
# htpasswd -c /etc/lighttpd/htpasswd.htaccess kinneko
New password:
Re-type new password:
Adding password for user kinneko
# /etc/init.d/lighttpd restart
Stopping web server: lighttpd.
Starting web server: lighttpd.

あれ、見えないな。
どうもlocalhost向けにしか上がってないみたいだ。

# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost.localdoma:www *:*                     LISTEN

w3mでアクセスしてみたら、エラーを吐いていた。

Traceback (most recent call last):
  File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 387, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 244, in dispatch
    req.display(template, content_type or 'text/html')
  File "/usr/lib/python2.3/site-packages/trac/web/api.py", line 358, in display
    data = self.hdf.render(template, form_token)
  File "/usr/lib/python2.3/site-packages/trac/web/clearsilver.py", line 290, in render
    template.parseFile(filename)
Error: Traceback (innermost last):
  File "csparse.c", line 298, in cs_parse_file()
  File "neo_files.c", line 86, in ne_load_file_len()
SystemError: Unable to open file /root/.python-eggs/TracTags-0.4-py2.3.egg-tmp/tractags/templates/tagswiki.cs: [13] Permissio

これは何者?

# ls  -l /root/.python-eggs/
total 3
drwxr-xr-x  3 root root 1024 Jan 24 16:36 TracTags-0.4-py2.3.egg-tmp
drwxr-xr-x  3 root root 1024 Jan 24 16:36 TracWebAdmin-0.1.2dev_r4429-py2.3.egg-tmp
drwxr-xr-x  3 root root 1024 Jan 24 16:36 tBlog-0.2.1dev_r1846-py2.3.egg-tmp

ひょっとして、~/www-dataがないから、/rootで作ったのかな?

# mkdir /home/www-data
# chown www-data:www-data /home/www-data

# /etc/init.d/lighttpd restart

できてない。
ないとどうなるだろう?

# rm -r /root/.python-eggs
# /etc/init.d/lighttpd restart

w3mでのぞいたら、そもそもエラーになっていたり... orz

[Errno 13] Permission denied: '/root/.python-eggs'

これは必須なのね。しかし、お行儀が悪い感じ。/var/tmpとかの下に作ればいいのに。
これでどだ?

# mkdir /root/.python-eggs
# chown www-data:www-data /root/.python-eggs
# /etc/init.d/lighttpd restart

気持ち悪いけど、以下のファイルはwww-dataで作成されるようになった。


中から出られない問題は、Sargeのlighttpdのデフォルト設定にあった。

# vi /etc/lighttpd/lighttpd.conf
#server.bind                = "localhost"
# /etc/init.d/lighttpd restart

作成したkinnekoユーザーにTRAC_ADMIN権限を与える。

# trac-admin /var/trac/test permission add kinneko TRAC_ADMIN
# trac-admin /var/trac/test permission list
kinneko    TRAC_ADMIN

ブラウザでログインすると、ツールバーに"Admin"が表示されている。
うわ、このAdminは便利だな。
ほとんどの操作がブラウザからできるぞ。