Home > Logs > July 2008 > This Entry

Ubuntu 8.04 LTS(Hardy Heron) Server Edition に、Trac をインストールする

※ 今回構築中のマシンは、DELL PowerEdge T105(クアッドコアAMD Opteron 1352) です。

Trac 専用にバーチャルホストを設定し、ブラウザからデータベースを操作できるように設定します。

Ubuntu Server Edition への Trac のインストール

先に、必要なものをインストールしておきます。

sudo apt-get install subversion
sudo apt-get install subversion-tools

sudo apt-get install trac
sudo apt-get install trac-ja-resource

sudo apt-get install libapache2-mod-python

Apache を設定してやります。

sudo a2enmod mod_python
sudo a2enmod rewrite

Subversion と Trac の設定

Subversion のレポジトリの作成を行います。

sudo mkdir /var/svn/
sudo chown -R www-data /var/svn/
sudo svnadmin create /var/svn/public

あとでバーチャルホスト設定するので、WEB 用にあわせてディレクトリを作成し、Trac を初期化します。

sudo mkdir -p /www/sites/trac.weeeblog.net/htdocs
sudo trac-admin /www/sites/trac.weeeblog.net/htdocs/public initenv
sudo chown -R www-data:www-data /www/sites/trac.weeeblog.net/htdocs/public

trac-admin コマンドのときに、いくつか質問が来ます。

Project Name [My Project]> Weeeblog.net Trac
Database connection string [sqlite:db/trac.db]> 
Repository type [svn]> 
Path to repository [/path/to/repos]> /var/svn/public
Templates directory [/usr/share/trac/templates]> 

権限設定を行います。

sudo trac-admin /www/sites/trac.weeeblog.net/htdocs/public permission remove anonymous  REPORT_DELETE WIKI_CREATE WIKI_MODIFY REPORT_SQL_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY
sudo trac-admin /www/sites/trac.weeeblog.net/htdocs/public permission add okayama BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN MILESTONE_CREATE MILESTONE_DELETE MILESTONE_MODIFY MILESTONE_VIEW REPORT_ADMIN REPORT_CREATE REPORT_DELETE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW ROADMAP_ADMIN ROADMAP_VIEW SEARCH_VIEW TICKET_ADMIN TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN WIKI_CREATE WIKI_DELETE WIKI_MODIFY WIKI_VIEW

テンプレート関連のロードとかコピーとかを行います。

sudo trac-admin /www/sites/trac.weeeblog.net/htdocs/public wiki load /usr/share/trac-ja-resource/wiki-default
sudo cp /usr/share/trac-ja-resource/templates/* /www/sites/trac.weeeblog.net/htdocs/public/templates/

ファイルがそろったら、それらに対して権限設定してやります。

sudo chown -R www-data:www-data /www/sites/trac.weeeblog.net/htdocs/public

設定ファイルを確認します。

sudo vi /www/sites/trac.weeeblog.net/htdocs/public/conf/trac.ini
# -*- coding: utf-8 -*-

[attachment]
max_size = 262144
render_unsafe_content = false

[browser]
downloadable_paths = /trunk, /branches/*, /tags/*
hide_properties = svk:merge
render_unsafe_content = false

[changeset]
max_diff_bytes = 10000000
max_diff_files = 0
wiki_format_messages = true

[header_logo]
alt = 
height = -1
link = http://trac.weeeblog.net/ << これ
src = common/trac_banner.png
width = -1

[logging]
log_file = trac.log
# log_format = <set in global trac.ini>
log_level = DEBUG
log_type = none

[mimeviewer]
enscript_modes = text/x-dylan:dylan:4
enscript_path = enscript
max_preview_size = 262144
mime_map = text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb
php_path = php
silvercity_modes = 
tab_width = 8

[notification]
always_notify_owner = false
always_notify_reporter = false
always_notify_updater = true
mime_encoding = base64
smtp_always_bcc = 
smtp_always_cc = 
smtp_default_domain = 
smtp_enabled = false
smtp_from = trac@localhost
smtp_password = 
smtp_port = 25
smtp_replyto = trac@localhost
smtp_server = localhost
smtp_subject_prefix = __default__
smtp_user = 
use_public_cc = false
use_short_addr = false
use_tls = false

[project]
descr = My example project
footer = Visit the Trac open source project at<br /><a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
icon = common/trac.ico
name = Weeeblog.net Trac << 質問の答え
url = http://trac.weeeblog.net/ << これ

[search]
min_query_length = 3

[ticket]
default_component = 
default_milestone = 
default_priority = major
default_type = defect
default_version = 
restrict_owner = false

[timeline]
changeset_long_messages = false
changeset_show_files = 0
default_daysback = 30
ticket_show_details = false

[trac]
authz_file = 
authz_module_name = 
base_url = 
check_auth_ip = true
database = sqlite:db/trac.db
default_charset = iso-8859-15
default_handler = WikiModule
htdocs_location = 
ignore_auth_case = false
mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search
metanav = login,logout,settings,help,about
permission_store = DefaultPermissionStore
repository_dir = /var/svn/public << 質問の答え
repository_type = svn
# request_filters = <set in global trac.ini>
# templates_dir = <set in global trac.ini>
timeout = 20

[wiki]
ignore_missing_pages = false
render_unsafe_content = false
split_page_names = false

バーチャルホストと WEB 設定

ログインに使用するベーシック認証のための .htpasswd を作成します。

sudo mkdir /var/trac
sudo htpasswd -c /var/trac/.htpasswd okayama

ドキュメントルートを見せる必要がない場合はリダイレクト設定をしておきます。

sudo vi /www/sites/trac.weeeblog.net/htdocs/.htaccess
RewriteEngine on
RewriteRule ^$ /public

無限ループを避けるためにリダイレクト先では切っておく

sudo vi /www/sites/trac.weeeblog.net/htdocs/public/.htaccess
RewriteEngine Off

シンボリックリンクを張る

cd /www/sites/trac.weeeblog.net/htdocs
sudo ln -s /usr/share/trac/cgi-bin/trac.cgi

バーチャルホスト設定ファイルを作成します。

sudo vi /etc/apache2/sites-enabled/trac.weeeblog.net
<virtualHost *>
    ServerName trac.weeeblog.net
    DocumentRoot /www/sites/trac.weeeblog.net/htdocs

    ErrorLog /www/sites/trac.weeeblog.net/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel info

    CustomLog /www/sites/trac.weeeblog.net/access.log combined
    ServerSignature On

    <Location />
        AddType application/x-httpd-cgi .cgi
        AddType application/x-httpd-php .php .phtml .php3
        AddType application/x-httpd-php-source .phps
        DirectoryIndex index.phtml index.fcgi index.html index.cgi index.pl index.php index.xhtml

        Options ExecCGI +Indexes FollowSymLinks MultiViews
#        AllowOverride None
        Order allow,deny
        allow from all
        
        # Trac need to know where the database is located
        SetEnv TRAC_ENV /www/sites/trac.weeeblog.net/htdocs

        SetHandler    mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption  TracEnvParentDir /www/sites/trac.weeeblog.net/htdocs
        PythonOption  TracUriRoot      /
    </Location>

    <locationMatch "/[[:alnum:]]+/login">
        AuthType Basic
        AuthName "trac"
        AuthUserFile /var/trac/.htpasswd
        Require valid-user
    </locationMatch>

</virtualHost>

バーチャルホスト設定を書いたら、再起動して WEB アクセスします。

sudo /etc/init.d/apache2 restart

AMD 64 で発生するエラーについて

clearsilver がインストールされていないエラーが出た場合、以下のようにしてインストールします。

sudo apt-get build-dep python-clearsilver
sudo apt-get install python-dev
cd /usr/local/src
sudo wget http://www.clearsilver.net/downloads/clearsilver-0.10.4.tar.gz
sudo tar xzvf clearsilver-0.10.4.tar.gz
cd clearsilver-0.10.4
sudo ./configure --with-python=/usr/bin/python2.5
sudo make
sudo make install

Post Comment




Copyright © okayama, Powered by Movable Type Open Source