ユーザ用ツール

サイト用ツール


ubuntu-server-10-04:subversion_trac

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ubuntu-server-10-04:subversion_trac [2011/05/23 20:55] – [Trac と Subversion の連携] adminubuntu-server-10-04:subversion_trac [2011/05/28 13:11] (現在) – 以前のバージョンを復元 admin
行 3: 行 3:
 Apache2 がインストールされ、正常に稼働していることが前提。 Apache2 がインストールされ、正常に稼働していることが前提。
  
 +インストール時点でのバージョン。
 +
 +  * trac 0.11.7-1
 +  * trac-ja-resource 0.11.5.ja1-1
 +  * subversion 1.6.6dfsg-2ubuntu1.2
 ===== パッケージのインストール ===== ===== パッケージのインストール =====
  
行 10: 行 15:
 $ sudo apt-get install subversion libapache2-svn $ sudo apt-get install subversion libapache2-svn
 </code> </code>
 +
 +<note>今回は省いたが、 subversion-tool を入れておくと使うこともあるかも。</note>
  
 Apache2 のモジュール dav_svn を有効化。 Apache2 のモジュール dav_svn を有効化。
行 152: 行 159:
  
  
-anonymous ユーザの権限確認+管理者権限を持ったユーザ admin 追加する 
 + 
 +<note>admin 以外の名前でも良い</note>
  
 <code> <code>
-$ sudo trac-admin /share/trac/YourProject permission list anonymous+$ sudo trac-admin /share/trac/YourProject permission add admin TRAC_ADMIN
 </code> </code>
  
 +<note>コマンドで権限設定するのはしんどいので、後で admin でログインした後に、ブラウザで設定を行う。</note>
  
-全権限を持ったユーザ admin を追加する。 
  
-<note>admin 以外名前でも良い</note>+ユーザ権限を参照するコマンド。例えば、anonymous ユーザの権限を確認する場合。
  
 <code> <code>
-$ sudo trac-admin /share/trac/YourProject permission add admin BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW EMAIL_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN MILESTONE_CREATE MILESTONE_DELETE MILESTONE_MODIFY MILESTONE_VIEW PERMISSION_ADMIN PERMISSION_GRANT PERMISSION_REVOKE 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_EDIT_CC TICKET_EDIT_DESCRIPTION TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN WIKI_CREATE WIKI_DELETE WIKI_MODIFY WIKI_VIEW+$ sudo trac-admin /share/trac/YourProject permission list anonymous
 </code> </code>
- 
-<note>~VIEW と ~MODIFY だったら ~MODIFY だけ追加すれば良いような気もする。管理者権限だったら ~ADMIN だけ追加すればいいのかも。【未検証】</note> 
  
  
行 174: 行 181:
 Trac と Subversion を連携するためのフックシェルを作成。 Trac と Subversion を連携するためのフックシェルを作成。
  
-/share/trac/YourProject/conf/ にある trac.ini を編集して [] に以下の空のディレクティブを追加。+/share/trac/YourProject/conf/ にある trac.ini を編集して以下の空のディレクティブを追加。 
 + 
 +<note> 
 +どこに入れてもいい?とりあえず repository... の後に入れておいた。\\ 
 +repository_dir = ...\\ 
 +repository_type = ...\\ 
 +repository_sync_per_request =\\ 
 +</note>
  
 <code> <code>
 repository_sync_per_request =  repository_sync_per_request = 
 </code> </code>
 +
  
 /share/svn/YourProject/hooks/ 内に以下の内容のファイルを作成。ファイル名は post-commit にする。 /share/svn/YourProject/hooks/ 内に以下の内容のファイルを作成。ファイル名は post-commit にする。
行 184: 行 199:
 <file - post-commit> <file - post-commit>
 #!/bin/sh #!/bin/sh
-export PYTHON_EGG_CACHE="/path/to/cache/dir+export PYTHON_EGG_CACHE="/share/trac/.python-eggs
-/usr/bin/trac-admin /var/lib/trac/YourProject changeset added "$1" "$2"+/usr/bin/trac-admin /share/trac/YourProject changeset added "$1" "$2"
 </file> </file>
  
-/share/trac/.python-eggs+<note>PYTHON_EGG_CACHE="/share/trac/.python-eggs" は .python-eggs という名前ならどこでもよいらしい</note> 
 + 
 +オーナとパーミッションを変更。 
 +<code> 
 +$ sudo chown www-data:www-data /share/svn/YourProject/hooks/post-commit 
 +$ sudo chmod +x /share/svn/YourProject/hooks/post-commit 
 +</code> 
 + 
 +PYTHON_EGG_CACHE で設定したディレクトリを作成し、オーナとパーミッションを変更。 
 +<code> 
 +$ sudo mkdir /share/trac/.python-eggs 
 +$ sudo chown www-data:www-data /share/trac/.python-eggs 
 +$ sudo chmod 755 /share/trac/.python-eggs 
 +</code> 
 + 
 +もう1つフックを作成。 
 +/share/svn/YourProject/hooks/ 内に以下の内容のファイルを作成。ファイル名は post-revprop-change にする。 
 + 
 +<file - post-revprop-change> 
 +#!/bin/sh 
 +export PYTHON_EGG_CACHE="/share/trac/.python-eggs" 
 +/usr/bin/trac-admin /var/lib/trac/YourProject changeset modified "$1" "$2" 
 +</file> 
 + 
 +オーナとパーミッションを変更。 
 +<code> 
 +$ sudo chown www-data:www-data /share/svn/YourProject/hooks/post-revprop-change 
 +$ sudo chmod +x /share/svn/YourProject/hooks/post-revprop-change 
 +</code> 
 + 
 +Subversion のコミット時に不可するコメントにチケット番号を含めることで、 Trac のチケットからコミット内容を確認できるようにする。trac.ini を編集。 
 + 
 +<code> 
 +$ sudo vi /share/trac/YourProject/conf/trac.ini 
 +</code> 
 + 
 +以下を追加 
 + 
 +<code> 
 +[components] 
 +tracopt.ticket.commit_updater.* = enabled 
 +</code> 
 + 
 +Apache2 を再起動して完了。 
 + 
 +コミットする時に refs #1 のような文字列を含めるとチケット履歴からコミット内容を確認できるようになる。 
 + 
 + 
 + 
 + 
 ===== Apache2 に設定を追加 ===== ===== Apache2 に設定を追加 =====
  
行 202: 行 267:
     PythonOption TracUriRoot /dev/trac     PythonOption TracUriRoot /dev/trac
     PythonPath "['/usr/share/trac-ja-resource'] + sys.path"     PythonPath "['/usr/share/trac-ja-resource'] + sys.path"
 +    SetEnv PYTHON_EGG_CACHE /share/trac/.python-eggs
  
     # LDAP auth     # LDAP auth
行 253: 行 319:
  
 ===== Trac プラグインのインストール ===== ===== Trac プラグインのインストール =====
 +
 +プラグインのインストールに easy_install というコマンドを使う。
 +
 +==== IniAdmin ====
 +
 +Trac の設定を変更するのに trac.ini を編集する必要があるが、このプラグインを使えばブラウザから設定を変更できる。
 +
 +[[http://trac-hacks.org/wiki/IniAdminPlugin|IniAdminPlugin]]
 +
 +<code>
 +sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
 +</code>
 +<code>
 +Downloading http://trac-hacks.org/svn/iniadminplugin/0.11
 +Doing subversion checkout from http://trac-hacks.org/svn/iniadminplugin/0.11 to /tmp/easy_install-DfqSdZ/0.11
 +Processing 0.11
 +Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-DfqSdZ/0.11/egg-dist-tmp-oPczMK
 +zip_safe flag not set; analyzing archive contents...
 +Adding IniAdmin 0.2 to easy-install.pth file
 +
 +Installed /usr/local/lib/python2.6/dist-packages/IniAdmin-0.2-py2.6.egg
 +Processing dependencies for IniAdmin==0.2
 +Finished processing dependencies for IniAdmin==0.2
 +</code>
 +
 +"/usr/local/lib/python2.6/dist-packages/IniAdmin-0.2-py2.6.egg" ここにインストールされたらしい。これを Trac のプロジェクトフォルダ内にある plugin フォルダにシンボリックリンクする。
 +
 +<code>
 +$ cd /share/trac/YourProject/plugin
 +$ sudo ln -s /usr/local/lib/python2.6/dist-packages/IniAdmin-0.2-py2.6.egg
 +</code>
 +
 +/share/trac/YourProject/conf/trac.ini を編集し、以下を追加。
 +
 +<code>
 +[components]
 +iniadmin.iniadmin.iniadminplugin = enabled
 +</code>
 +
 +Apache2 を再起動して Trac を確認してみたが、 "'ascii' codec can't decode byte 0xe6 in position 4" こんなエラーでた。
 +どうやら Unicode の文字列を ASCII で解釈しようとしているらしい。日本語化したのためらしい。
 +
 +python のデフォルト文字コードを変更すると直るらしいのでやってみた。
 +
 +<code>
 +$ sudo vi /etc/python2.6/sitecustomize.py
 +</code>
 +
 +以下の記述を追加。
 +
 +<code>
 +import sys
 +sys.setdefaultencoding("utf-8")
 +</code>
 +
 +Apache2 を再起動して完了。Trac の管理コンソールが変わっている。
 +
 +
 +
  
  
行 260: 行 385:
   * [[http://spais.jp/memo/debian-gnulinux-etch-%E3%81%AB-trac-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%88/2008-02-01|Debian GNU/Linux etch に Trac をインストールしてみたよ]]   * [[http://spais.jp/memo/debian-gnulinux-etch-%E3%81%AB-trac-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%88/2008-02-01|Debian GNU/Linux etch に Trac をインストールしてみたよ]]
   * [[http://movion.net/2008/07/05/subversion-trac-install-for-ubuntu/|UbuntuにSubversionとtracのインストール]]   * [[http://movion.net/2008/07/05/subversion-trac-install-for-ubuntu/|UbuntuにSubversionとtracのインストール]]
 +  * [[http://www.ryuzee.com/contents/blog/716|Tracをインストールしたらまず追加する10のプラグイン]]
  
ubuntu-server-10-04/subversion_trac.1306151756.txt.gz · 最終更新: 2011/05/23 20:55 by admin