※ 今回構築中のマシンは、DELL PowerEdge T105(クアッドコアAMD Opteron 1352) です。
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 のレポジトリの作成を行います。
sudo mkdir /var/svn/
sudo chown -R www-data /var/svn/
sudo svnadmin create /var/svn/public
あとでバーチャルホスト設定するので、WEB 用にあわせてディレクトリを作成し、Trac を初期化します。
sudo mkdir -p /var/vhosts/trac.weeeblog.net/htdocs
sudo trac-admin /var/vhosts/trac.weeeblog.net/htdocs/public initenv
sudo chown -R www-data:www-data /var/vhosts/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 /var/vhosts/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 /var/vhosts/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 /var/vhosts/trac.weeeblog.net/htdocs/public wiki load /usr/share/trac-ja-resource/wiki-default
sudo cp /usr/share/trac-ja-resource/templates/* /var/vhosts/trac.weeeblog.net/htdocs/public/templates/
ファイルがそろったら、それらに対して権限設定してやります。
sudo chown -R www-data:www-data /var/vhosts/trac.weeeblog.net/htdocs/public
設定ファイルを確認します。
sudo vi /var/vhosts/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
ログインに使用するベーシック認証のための .htpasswd を作成します。
sudo mkdir /var/trac
sudo htpasswd -c /var/trac/.htpasswd okayama
ドキュメントルートを見せる必要がない場合はリダイレクト設定をしておきます。
sudo vi /var/vhosts/trac.weeeblog.net/htdocs/.htaccess
RewriteEngine on
RewriteRule ^$ /public
無限ループを避けるためにリダイレクト先では切っておく
sudo vi /var/vhosts/trac.weeeblog.net/htdocs/public/.htaccess
RewriteEngine Off
シンボリックリンクを張る
cd /var/vhosts/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 /var/vhosts/trac.weeeblog.net/htdocs
ErrorLog /var/vhosts/trac.weeeblog.net/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
CustomLog /var/vhosts/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 /var/vhosts/trac.weeeblog.net/htdocs
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/vhosts/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
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
Comments