[[trac on FreeBSD]]
なんだか、SVN Tracの記事が散漫で見にくくなっているので、改訂しる
#contents

*subversion のインストール [#q185ff67]
 portinstall devel/subversion

 # echo svnserve_enable="YES" >> /etc/rc.conf

http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/svn-book.html#svn.basic
**svn起動 [#n2620902]
 /usr/local/etc/rc.d/svnserve start
 
 Jun  9 14:50:15 blackcube kernel: Starting svnserve.
 Jun  9 14:50:15 blackcube kernel: su: 
 Jun  9 14:50:15 blackcube kernel: unknown login: svn
http://blog.perl.tv/2007/01/freebsd_60subversion_trac.html
 # pw groupadd -n svn -g 90
 # pw useradd -n svn -u 90 -g svn -d /nonexistent -s /nonexistent

デフォルトだと svnserve に -r オプションがついているので該当箇所をコメントアウトしておく。


 # diff -u /usr/local/etc/rc.d/svnserve.sh.orig /usr/local/etc/rc.d/svnserve.sh
 --- /usr/local/etc/rc.d/svnserve.sh.orig Sun Jan 14 17:11:17 2007
 +++ /usr/local/etc/rc.d/svnserve.sh Sun Jan 14 17:12:01 2007
 @@ -30,6 +30,6 @@
 rcvar=`set_rcvar`
 load_rc_config $name
 command=/usr/local/bin/svnserve
 -command_args="-r ${svnserve_data}"
 +#command_args="-r ${svnserve_data}"
 
 run_rc_command "$1"


**svn再起動 [#jb8160e9]
 k222# /usr/local/etc/rc.d/svnserve restart
 Stopping svnserve.
 Starting svnserve.

**WordPress ( リポジトリ ) の作成 [#l7b4304a]
 # mkdir -p /usr/local/var/svn/repos
 # svnadmin create /usr/local/var/svn/repos/wordpress
 # cd /usr/local/var/svn/repos/wordpress
 # mkdir -p tmp/trunk tmp/tags tmp/branches
 # chown -R svn:svn /usr/local/var/svn/repos/wordpress

/usr/local/var/svn/repos/wordpress/tmp/trunk へ管理したいデータを入れる。今回は、WordPress で。

 blackcube# svn import /usr/local/var/svn/repos/wordpress/tmp/ file:///usr/local/var/svn/repos/wordpress/ -m "Initial import"
  
 Adding         /usr/local/var/svn/repos/wordpress/tmp/trunk/wordpress/wp-admin/user/index.php
 Adding         /usr/local/var/svn/repos/wordpress/tmp/trunk/wordpress/wp-admin/user/admin.php
 Adding         /usr/local/var/svn/repos/wordpress/tmp/trunk/wordpress/wp-admin/user/index-extra.php
 Adding         /usr/local/var/svn/repos/wordpress/tmp/trunk/wordpress/wp-feed.php
 Adding         /usr/local/var/svn/repos/wordpress/tmp/branches
 Adding         /usr/local/var/svn/repos/wordpress/tmp/tags

 Committed revision 1.
ここで、TrotoiseSVN(Win)または(Mac)で確認したいところだが、HTTPプロトコールでの確認ができないので、ApacheにDAVを設定。

**Apache WebDAV on Subversion † [#qf7530d4]
# vi /usr/local/etc/apache22/Includes/subversion.conf

 <Location /svn>
 	DAV svn
 	SVNParentPath /usr/local/var/svn/repos
 	SVNListParentPath On
 
 	<LimitExcept GET PROPFIND OPTIONS REPORT>
 		Deny from all
 	</LimitExcept>
 </Location>
リポジトリ一覧を見せたくない場合は SVNListParentPath? を off にする。

# vi /usr/local/etc/apache22/Includes/subversion.conf
 <Location /svn>
	DAV svn
	SVNParentPath /usr/local/var/svn/repos
	SVNListParentPath On
 
 #	<LimitExcept GET PROPFIND OPTIONS REPORT>
	<LimitExcept GET POST OPTIONS PROPFIND MKACTIVITY CHECKOUT MKACTIVITY DELETE PROPPATCH MKCOL MERGE REPORT PUT COPY>
		Deny from all
	</LimitExcept>
 </Location>

ココで一応TortoiseSVNで確認。

&ref(TortoiseSVN_WP.png);
このように見ていて居ればおk。一番最初は時間がかかるけど、任意のフォルダへ「チェックアウト」しておく。








*trac [#r4406db4]
 portinstall www/trac
FreeBSD 7.2RなBlackCubeで、
 => No SHA256 checksum recorded for python/Python-2.5.2.tgz
といわれてストップ。したので、portupgrade 
 blackcube# portupgrade lang/python25
してから、
 portinstall www/trac
した。
**使用準備 [#v6bb5f41]
 blackcube# trac-admin /usr/local/www/apache22/data/trac/sandbox initenv
 新規 Trac Environment /usr/local/www/apache22/data/trac/sandbox の生成
 
 はじめに、プロジェクトのデータベースの初期化と準備をするために、
 あなたの環境についていくつか確認をします。
 
  プロジェクトの名前を入力してください。
  この名前は、ページのタイトルと説明に使用されます。
 
 プロジェクト名 [My Project]> sandbox
 
  使用するデータベースへの接続文字列を指定してください。
  デフォルトではローカルに SQLite データベースを作成します。
  既に存在する PostgreSQL データベースを使うこともできます。
  (Trac では、接続文字列は厳密に表記する必要があります。
  詳細は Trac のドキュメントを参照してください)
 
 データベース接続文字列 [sqlite:db/trac.db]>
 
 プロジェクトの生成と初期化
  デフォルトの Wiki ページのインストール
   InterMapTxt を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/InterMapTxt からインポートしました
   TracIni を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracIni からインポートしました
   WikiRestructuredTextLinks を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiRestructuredTextLinks からインポートしました
   TracLogging を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracLogging からインポートしました
   WikiStart を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiStart からインポートしました
   TracLinks を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracLinks からインポートしました
   TracStandalone を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracStandalone からインポートしました
   WikiProcessors を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiProcessors からインポートしました
   TracImport を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracImport からインポートしました
   TracInterfaceCustomization を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracInterfaceCustomization からインポートしました
   WikiHtml を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiHtml からインポートしました
   SandBox を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/SandBox からインポートしました
   TracSearch を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracSearch からインポートしました
   TracQuery を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracQuery からインポートしました
   TracFineGrainedPermissions を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracFineGrainedPermissions からインポートしました
   TracWiki を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracWiki からインポートしました
   TracAccessibility を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracAccessibility からインポートしました
   TracChangeset を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracChangeset からインポートしました
   TracRss を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracRss からインポートしました
   TracEnvironment を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracEnvironment からインポートしました
   TracUnicode を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracUnicode からインポートしました
   TracModPython を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracModPython からインポートしました
   TracRevisionLog を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracRevisionLog からインポートしました
   WikiPageNames を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiPageNames からインポートしました
   TitleIndex を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TitleIndex からインポートしました
   TracBrowser を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracBrowser からインポートしました
   CamelCase を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/CamelCase からインポートしました
   WikiRestructuredText を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiRestructuredText からインポートしました
   TracNavigation を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracNavigation からインポートしました
   TracAdmin を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracAdmin からインポートしました
   TracGuide を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracGuide からインポートしました
   TracNotification を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracNotification からインポートしました
   TracPermissions を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracPermissions からインポートしました
   TracRepositoryAdmin を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracRepositoryAdmin からインポートしました
   InterTrac を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/InterTrac からインポートしました
   TracReports を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracReports からインポートしました
   TracCgi を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracCgi からインポートしました
   InterWiki を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/InterWiki からインポートしました
   TracSupport を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracSupport からインポートしました
   TracRoadmap を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracRoadmap からインポートしました
   WikiNewPage を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiNewPage からインポートしました
   TracBackup を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracBackup からインポートしました
   TracUpgrade を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracUpgrade からインポートしました
   TracWorkflow を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracWorkflow からインポートしました
   TracPlugins を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracPlugins からインポートしました
   TracModWSGI を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracModWSGI からインポートしました
   WikiMacros を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiMacros からインポートしました
   TracSyntaxColoring を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracSyntaxColoring からインポートしました
   WikiDeletePage を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiDeletePage からインポートしました
   TracFastCgi を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracFastCgi からインポートしました
   TracTicketsCustomFields を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracTicketsCustomFields からインポートしました
   WikiFormatting を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/WikiFormatting からインポートしました
   TracTimeline を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracTimeline からインポートしました
   TracTickets を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracTickets からインポートしました
   TracInstall を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/TracInstall からインポートしました
   PageTemplates を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/PageTemplates からインポートしました
   RecentChanges を /root/.python-eggs/Trac-0.12.2-py2.5.egg-tmp/trac/wiki/default-pages/RecentChanges からインポートしました
 
 ---------------------------------------------------------------------
 Trac Environment 'sandbox' ができました。
 
 今後、この環境の設定をする場合は、次のファイルを利用します:
 
   /usr/local/www/apache22/data/trac/sandbox/conf/trac.ini
 
 あなたがこの新しいプロジェクトのテストを考えているなら、
 スタンドアロンウェブサーバ `tracd` を試してみてください:
 
   tracd --port 8000 /usr/local/www/apache22/data/trac/sandbox
 
 それから、ブラウザで http://localhost:8000/sandbox にアクセスします。
 インストールしたバージョンに合わせた今後のセットアップ情報などが含まれた、
 ドキュメントが閲覧できます。(例えばウェブサーバで公開する手順など)
 
 最新のドキュメントは、プロジェクトのウェブサイトから入手できます:
 
   http://trac.edgewall.org/
 
 Congratulations!

 blackcube# chown -R www:www /usr/local/www/apache22/data/trac/sandbox
**mod_python Install [#s49ae2fc]
 k222# portinstall www/mod_python3

 ================================================================================
 
 Also remember to add to your Apache configuration in the appropriate context:
 
 PythonPath "['/path/to/foo', '/path/to/bar']"
 AddHandler python-program .py
 PythonHandler foobar
 PythonDebug On
 
 For more information, see http://www.modpython.org/.
 
 ================================================================================

**Apache Setting [#rf41f95f]
# vi /usr/local/etc/apache22/httpd.conf

以前は手動で追加してたけど、

 LoadModule python_module libexec/apache22/mod_python.so
いまのPortsでは、自動で追加される。

# vi /usr/local/etc/apache22/Includes/trac.conf
 <Location /trac>
 	SetHandler mod_python
 	PythonHandler trac.web.modpython_frontend
 	PythonOption TracEnvParentDir /usr/local/www/apache22/data/trac
 	PythonOption TracUriRoot /trac
 </Location>

***Tracの設定 [#x8b7e448]
/usr/local/www/apache22/data/trac/sandbox/conf/trac.ini 

まずは、参照するreposの設定
 repository_dir = /usr/local/var/svn/repos/sandbox 




----




----


**OpenSSH on Subversion [#aa600ba8]
svn専用ユーザを追加する。

 # pw groupadd -n svn
 # pw useradd -n svn -c "Subversion Comit User" -d /home/svn -g svn -h - -s /bin/sh
 # mkdir -p /home/svn/.ssh
 # chown -R svn:svn /home/svn
一般ユーザの公開鍵を /home/svn/.ssh にコピーする。
通常の公開鍵だとシェルでのログインも出来てしまうので、 command 等を公開鍵の先頭に追記する。 ( 実際は一行 )

 command="svnserve -t --tunnel-user=コミットユーザ名 -r /usr/local/var/svn/repos"
 ,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-dss AAAAB
 (中略)M6BA== ****@examle.com
sshd_config で AllowUsers を設定している場合は svn ユーザを追加する。

 # grep AllowUsers /etc/ssh/sshd_config
 AllowUsers user svn
 # /etc/rc.d/sshd restart

 k222# cd /home/svn/
 k222# svnadmin create repos
 k222# chown -R svn:svn repos
 
 k222# /usr/local/etc/rc.d/svnserve start
vi /etc/rc.conf
 svnserve_enable="YES"

k222#
k222#


**Apache WebDAV on Subversion [#ze991b71]
# vi /usr/local/etc/apache22/Includes/subversion.conf
 <Location /svn>
 	DAV svn
 	SVNParentPath /usr/local/var/svn/repos
 	SVNListParentPath On
 
 	<LimitExcept GET PROPFIND OPTIONS REPORT>
 		Deny from all
 	</LimitExcept>
 </Location>
リポジトリ一覧を見せたくない場合は SVNListParentPath を off にする。

**error [#ya5687bf]
 k222# trac-admin /usr/local/www/apache22/data/trac/sandbox resync
 Resyncing repository history...
 Command failed: /usr/local/www/apache22/data/trac/sandbox does not appear to be a Subversion repository.
 k222#


http://mishuku.net/archives/2008/04/trac.php
** portinstall www/trac-webadmin [#c5a58693]
TracWebAdmin のeggファイルは添付ファイルにあります。

この添付ファイルをDLし、.zip 拡張子を除去し、プロジェクトのpluginsフォルダへコピー

その後、
 chown www:www TracWebAdmin-0.1.2dev_r6060-py2.4.egg
してから、権限を与えたいユーザ が kuji であれば、
 k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base permission add kuji TRAC_ADMIN
する。と、『管理』というバーが出てくる。

----
#counter([total|today|yesterday]);
&lastmod;

----

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS