trac on FreeBSD なんだか、SVN Tracの記事が散漫で見にくくなっているので、改訂しる
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
/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"
k222# /usr/local/etc/rc.d/svnserve restart Stopping svnserve. Starting svnserve.
# 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を設定。
# 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で確認。
このように見ていて居ればおk。一番最初は時間がかかるけど、任意のフォルダへ「チェックアウト」しておく。
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
した。
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
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/. ================================================================================
# 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>
/usr/local/www/apache22/data/trac/sandbox/conf/trac.ini
まずは、参照するreposの設定
repository_dir = /usr/local/var/svn/repos/sandbox
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#
# 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 にする。
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
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
する。と、『管理』というバーが出てくる。
2015-08-06 (木) 18:07:22