※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Subversionのインストール

Subversionは既にインストール済み。Max OS Xを参照。

Python2.5をインストール

# port search python
色々表示されるが、
python25  lang/python25  2.5.1  An interpreted, object-oriented programming language
がPython2.5っぽい。Tracをインストールするならば何となくPython2.4の方が安心なような気もするけど、とりあえず2.5をインストールしてみる。
$ sudo port install python25
Password:  <- パスワードを入力
--->  Fetching python25
--->  Attempting to fetch Python-2.5.1.tar.bz2 from http://www.python.org//ftp/python/2.5.1/
--->  Verifying checksum(s) for python25
--->  Extracting python25
--->  Applying patches to python25
--->  Configuring python25
--->  Building python25 with target all
--->  Staging python25 into destroot
--->  Installing python25 2.5.1_1+darwin_8
--->  Activating python25 2.5.1_1+darwin_8
--->  Cleaning python25
/opt/local/binを見てみるとpythonはpython2.4へのシンボリックリンクになっていて、新たにpython2.5がインストールされていたので2.5へのシンボリックリンクに変更する。
$ cd /opt/local/bin
$ sudo rm python
$ sudo ln -s python2.5 python
$ python -V
Python 2.5.1
無事2.5.1のインストールが完了。

neonのインストール

$ port search neon
neon  www/neon  0.26.3  An HTTP and WebDAV client library with a C interface
$ sudo port install neon
--->  Fetching expat
--->  Attempting to fetch expat-2.0.1.tar.gz from http://  downloads.sourceforge.net/expat
--->  Verifying checksum(s) for expat
--->  Extracting expat
--->  Configuring expat
--->  Building expat with target all
--->  Staging expat into destroot
--->  Installing expat 2.0.1_0
--->  Activating expat 2.0.1_0
Error: Target org.macports.activate returned: Image error: /opt/local/bin/xmlwf already exists and does not belong to a registered port.  Unable to activate port expat.
Error: The following dependencies failed to build: expat gettext libiconv
Error: Status 1 encountered during processing.
なぜかエラー。とりあえず無視。

Swigのインストール

$ port search swig
swig  devel/swig  1.3.31  Tool to wrap C/C++ libraries in high-level languages.
$ sudo port install swig
--->  Fetching swig
--->  Attempting to fetch swig-1.3.31.tar.gz from http://downloads.sourceforge.net/swig
--->  Verifying checksum(s) for swig
--->  Extracting swig
--->  Configuring swig
--->  Building swig
--->  Staging swig into destroot
--->  Installing swig 1.3.31_0+darwin_8
--->  Activating swig 1.3.31_0+darwin_8
--->  Cleaning swig

svn python bindingsのインストール

$ port search subversion
subversion-python25bindings  devel/subversion-python25bindings 1.4.5        Python bindings for the subversion version control system.
$ sudo port install subversion-python25bindings
--->  Fetching apr
--->  Attempting to fetch apr-1.2.11.tar.bz2 from http://www.apache.org/dist/apr
--->  Attempting to fetch apr-1.2.11.tar.bz2 from http://apache.planetmirror.com.au/dist/apr
--->  Verifying checksum(s) for apr
--->  Extracting apr
--->  Configuring apr
--->  Building apr with target all
--->  Staging apr into destroot
--->  Installing apr 1.2.11_0
--->  Activating apr 1.2.11_0
Error: Target org.macports.activate returned: Image error: /opt/local/bin/apr-1-config already exists and does not belong to a registered port.  Unable to activate port apr.
Error: The following dependencies failed to build: apr apr-util db44 libiconv sqlite3 readline ncurses ncursesw gettext neon py25-bsddb subversion
Error: Status 1 encountered during processing.
これもエラー。やはりとりあえず無視。

clearsilverのインストール

$ port search clearsilver
clearsilver   www/clearsilver 0.10.5   Language-neutral template system.
$ sudo port install clearsilver
--->  Fetching libiconv
--->  Attempting to fetch libiconv-1.11.tar.gz from http://ftp.gnu.org/gnu/libiconv
--->  Verifying checksum(s) for libiconv
--->  Extracting libiconv
--->  Configuring libiconv
--->  Building libiconv with target all
--->  Staging libiconv into destroot
--->  Installing libiconv 1.11_6+darwin_8
--->  Activating libiconv 1.11_6+darwin_8
Error: Target org.macports.activate returned: Image error: /opt/local/bin/iconv already exists and does not belong to a registered port.  Unable to activate port libiconv.
Error: The following dependencies failed to build: gettext libiconv perl5.8
Error: Status 1 encountered during processing.

docutilsのインストール

$ port search docutils
py-docutils  python/py-docutils 0.4  a set of tools for processing plaintext documentation
$ sudo port install py-docutils
--->  Fetching gettext
--->  Attempting to fetch gettext-0.16.1.tar.gz from http://ftp.gnu.org/gnu/gettext
--->  Verifying checksum(s) for gettext
--->  Extracting gettext
--->  Applying patches to gettext
--->  Configuring gettext
--->  Building gettext with target all
--->  Staging gettext into destroot
--->  Installing gettext 0.16.1_0
--->  Activating gettext 0.16.1_0
Error: Target org.macports.activate returned: Image error: /opt/local/bin/autopoint already exists and does not belong to a registered port.  Unable to activate port gettext.
Error: The following dependencies failed to build: python24 gettext
Error: Status 1 encountered during processing.
これもエラー。やはり無視。

tracのインストール

さて、いよいよtracをインストールする。
$ port search trac
色々出て来るが、
trac     devel/trac     0.10.4       Wiki and issue tracking system.
がそれらしい。
$ sudo port install trac 
--->  Fetching perl5.8
--->  Attempting to fetch perl-5.8.8.tar.bz2 from http://www.cpan.org/src/5.0/
--->  Verifying checksum(s) for perl5.8
--->  Extracting perl5.8
--->  Applying patches to perl5.8
--->  Configuring perl5.8
--->  Building perl5.8 with target all
--->  Staging perl5.8 into destroot
--->  Installing perl5.8 5.8.8_0+darwin_8
--->  Activating perl5.8 5.8.8_0+darwin_8
Error: Target org.macports.activate returned: Image error: /opt/local/bin/a2p already exists and does not belong to a registered port.  Unable to activate port perl5.8.
Error: The following dependencies failed to build: clearsilver perl5.8 py25-hashlib py25-sqlite3 sqlite3 readline ncurses ncursesw subversion-python25bindings apr-util db44 neon py25-bsddb subversion
Error: Status 1 encountered during processing.
うむむ、やはりエラー。
強制インストールしてみる。
$ sudo port install -f trac
暫く時間が掛かったけどインストール出来た模様。 今迄インストールを試みたneonとかその他もインストールを試みてたので、細々インストールしないでもtracだけインストールすれば全てインストールしてくれそうな気もする。

動かしてみる

subversionの設定

$ cd /var
$ sudo mkdir svn
$ sudo svnadmin create --fs-type=fsfs svn/test
$ cd svn/test
$ vi svn svnserv.conf
------ 以下を記述する -------------------
[general]
anon-access = none
auth-access = write
password-db = passwd
--------------------------------------
------- passwdにパスワードを設定 --------
$ svnserve -d -r /var/svn
$ cd
$ mkdir tractest
$ mkdir trunk tags blanches
$ cd ..
$ svn import tractest svn://localhost/test -m "Import first."
$ rm -r tractest
$ svn co svn://localhost/test tractest
$ cd tractest/trunk
$ touch hoge.txt
$ svn add hoge.txt
$ sudo svn ci
$ svn up

tracの設定

$ mkdir /var/trac
$ sudo trac-admin /var/trac/test initenv
http://tach.arege.net/trac/wiki/TracEnvironmentを参考にして対話モードで設定する。
#Tracの起動
/usr/local/bin/tracd --port 8000 /var/trac/test &
パーミションでエラーになるので、とりあえず/var/trac/test配下は全てchood 777としたら無事起動に成功。 ただ、リポジトリブラウザでファイルの中身をみると文字化けしていた。
/var/trac/test/conf/trac.iniの設定で「default_charset = utf8」としたら無事日本語が表示されるようになった。

Tracの日本語化

日本語化はhttp://www.i-act.co.jp/project/products/products.htmlから日本語バージョンをダウンロードしてインストールする。 最初は上書きでインストールしたのだが、一部日本語に変更されない部分があったので、一度Tracをアンインストール(port uninstall)してから再インストールしたらちゃんと日本語が表示されるようになった。上記のページにも書いてあるが、一度既存のTracはアンインストールした方が良さげ。

Tracの認証

ユーザの設定

htpasswdでパスワードファイルを作成する。
$ sudo htpasswd -c /var/trac/python/.htpasswd hosokawa
$ sudo htpasswd /var/trac/python/.hapasswd user2
最初の-cでパスワードファイルを作成する。ユーザを追加する場合は-c無しで実行する。二人目のユーザを追加する時に-cを付けると、新規に.htpasswdが作成され元の情報が上書きされるので注意。
以下のコマンドで起動する
$ sudo tracd -p 8000 /var/trac/python --basic-auth python,/var/trac/python/.htpasswd,
最後にカンマがないとエラーになるみたい。

権限の設定

まずはanonymousの権限を全て削除する
$ trac-admin /var/trac/python permission list
$ trac-admin /var/trac/python permission remove anonymous TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW WIKI_CREATE WIKI_MODIFY WIKI_VIEW 
最初に権限リストを表示し、1つづつ削除する。(全部を一括で削除出来ないか調べてみたが見つからなかった。ワイルドカードもダメらしい)
次にユーザに権限を設定
$ trac-admin /var/trac/python permission add hosokawa TRAC_ADMIN
まずは管理者へ管理者権限をセット。次に、細かくユーザ毎に1つづつ細かく設定する。

参考