<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "在CentOS 4.5 Linux上安裝Trac 0.10.4"]]></title>
		<link>http://www.andowson.com/posts/list/6.page</link>
		<description><![CDATA[Latest messages posted in the topic "在CentOS 4.5 Linux上安裝Trac 0.10.4"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ [url=http://trac.edgewall.org/]Trac[/url]是一個用[url=http://www.python.org/]Python[/url]程式語言開發出來的軟體開發專案管理程式，可與[url=http://subversion.tigris.org/]Subversion[/url]版本控制系統整合，也支援[url=http://www.postgresql.org/]PostgreSQL[/url]資料庫，可讓開發團隊透過網頁介面來管理專案的Wiki文件及問題追蹤。Trac不但免費且開放原始碼(符合[url=http://trac.edgewall.org/wiki/TracLicense]BSD[/url]授權)，安裝在同樣也是免費的Linux作業系統[url=http://www.centos.org/]CentOS[/url]上是個非常棒的組合。<br /> <br /> 通常同一個開發團隊會參與多個專案，在安裝時我們需要考慮支援多專案的管理。對於多專案的管理，我們可以這樣設計:<br />  :arrow:每個Project一個專屬的Subverstion Repository，但是放在一個共同的根目錄下:<br /> /path/to/repos/project1<br /> /path/to/repos/project2<br /> Repository存取方式:<br /> http://my.domain.name/svn/project1<br /> http://my.domain.name/svn/project2<br /> <br />  :arrow:每個Project一個專屬的Trac Project Environment，但是放在一個共同的根目錄下:<br /> /path/to/projects/project1<br /> /path/to/projects/project2<br /> Trac Project存取方式:<br /> http://my.domain.name/projects/project1<br /> http://my.domain.name/projects/project2<br /> <br /> 瞭解了設計的理念後，要安裝就很容易了，請將以下的程式碼複製後貼到一個trac_setup.sh檔案內，並修改相關的參數，然後將trac_setup.sh變更為可執行，然後執行即可(假設已安裝好gcc和[url=http://www.andowson.com/posts/list/177.page]PostgreSQL[/url])。<br /> [code]#!/bin/bash <br /> # Name: trac_setup.sh <br /> # Author: Andowson Chang (andowson [at] gmail [dot] com) <br /> # Version: 0.9<br /> # Since: 2007-01-10<br /> # Last Modified: 2007-08-31<br /> <br /> # 請自行依據實際環境修改這邊的參數<br /> SETUP_DIR=/var/trac/setup<br /> REPOSITORY=/var/trac/repos <br /> PROJECTS=/var/trac/projects<br /> TRAC_ADMIN_USER=admin<br /> TRAC_ADMIN_PASSWD=admin<br /> APACHE_USER=apache<br /> APACHE_GROUP=tomcat<br /> <br /> # 安裝 Python, ClearSilver, pyPgSQL, Subversion, SWIG, mod_python <br /> # 因為要裝的東西不少，建議是建立一個目錄來存放比較好管理 <br /> mkdir -p ${SETUP_DIR} <br /> cd ${SETUP_DIR}<br /> <br /> # 安裝Python <br /> yum -y install python python-devel mod_python <br /> PYTHON_VERSION=`python -V 2&gt;&1 | awk '{print $2}' | cut -d &quot;.&quot; -f1-2`<br /> <br /> # 安裝ClearSilver <br /> yum -y install zlib-devel <br /> wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz <br /> tar zxf clearsilver-0.10.5.tar.gz <br /> cd clearsilver-0.10.5 <br /> ./configure --with-python=/usr/bin/python --prefix=/usr/local --disable-ruby --disable-java --disable-apache --disable-csharp --disable-perl <br /> make <br /> make install <br /> cd .. <br /> <br /> # 安裝pyPgSQL <br /> yum -y install postgresql-devel <br /> wget http://nchc.dl.sourceforge.net/sourceforge/pypgsql/pyPgSQL-2.5.1.tar.gz <br /> tar zxvf pyPgSQL-2.5.1.tar.gz<br /> cd pyPgSQL-2.5.1<br /> python setup.py install <br /> cd ..<br /> <br /> # 安裝Subversion <br /> yum -y install subversion mod_dav_svn swig <br /> <br /> # 安裝setuptools <br /> wget http://peak.telecommunity.com/dist/ez_setup.py <br /> python ez_setup.py <br /> <br /> # 安裝docutils <br /> wget http://docutils.sourceforge.net/docutils-snapshot.tgz <br /> tar zxf docutils-snapshot.tgz <br /> cd docutils <br /> python setup.py install <br /> cd tools <br /> ./rst2html.py ../FAQ.txt ../FAQ.html <br /> cd ../.. <br /> <br /> # 安裝SilverCity <br /> yum -y install gcc-c++ libstdc++-devel <br /> wget http://nchc.dl.sourceforge.net/sourceforge/silvercity/SilverCity-0.9.7.tar.gz <br /> tar zxf SilverCity-0.9.7.tar.gz <br /> cd SilverCity-0.9.7 <br /> python setup.py install <br /> cd .. <br /> <br /> # 安裝enscript <br /> yum -y install enscript <br /> <br /> # 安裝 mxDateTime <br /> wget http://downloads.egenix.com/python/egenix-mx-base-3.0.0.linux-i686-py${PYTHON_VERSION}_ucs4.prebuilt.zip<br /> unzip egenix-mx-base-3.0.0.linux-i686-py${PYTHON_VERSION}_ucs4.prebuilt.zip<br /> cd egenix-mx-base-3.0.0.linux-i686-py${PYTHON_VERSION}_ucs4.prebuilt<br /> python setup.py build --skip install<br /> cd .. <br /> <br /> # 安裝Trac<br /> wget http://ftp.edgewall.com/pub/trac/trac-0.10.4.tar.gz <br /> tar zxf trac-0.10.4.tar.gz <br /> cd trac-0.10.4 <br /> python setup.py install <br /> cd .. <br /> <br /> # 安裝WebAdmin管理介面 <br /> easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin/ <br /> <br /> # 安裝AccountManager <br /> easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10/<br /> <br /> # 安裝IniAdmin <br /> easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/<br /> <br /> # 安裝Gantt圖 <br /> wget http://willbarton.com/files/TracGantt-0.3.2a-py${PYTHON_VERSION}.egg <br /> easy_install TracGantt-0.3.2a-py${PYTHON_VERSION}.egg<br /> <br /> # 使用mod_python和Apache整合 <br /> echo &quot;&lt;Location /projects&gt; <br />     SetHandler mod_python <br />     PythonHandler trac.web.modpython_frontend <br />     PythonOption TracEnvParentDir ${PROJECTS} <br />     PythonOption TracUriRoot /projects <br />     SetEnv PYTHON_EGG_CACHE /tmp <br /> &lt;/Location&gt; <br /> <br /> &lt;LocationMatch \"/projects/[^/]+/login\"&gt; <br />     AuthType Basic <br />     AuthName \"Trac\" <br />     AuthUserFile ${PROJECTS}/.htpasswd <br />     Require valid-user <br /> &lt;/LocationMatch&gt;&quot; &gt;&gt; /etc/httpd/conf.d/python.conf <br /> <br /> # 使用mod_dav_svn和Apache整合 <br /> echo &quot;&lt;Location /svn&gt; <br />     DAV svn <br />     SVNParentPath ${REPOSITORY} <br />     AuthType Basic <br />     AuthName \"Subversion Repository\" <br />     AuthUserFile ${PROJECTS}/.htpasswd <br />     AuthzSVNAccessFile ${PROJECTS}/svnaccess<br />     &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt; <br />         Require valid-user <br />     &lt;/LimitExcept&gt;<br /> &lt;/Location&gt;&quot; &gt;&gt; /etc/httpd/conf.d/subversion.conf<br /> <br /> # 新建Subversion Repository Root Directory<br /> mkdir -p ${REPOSITORY} <br /> chown -R ${APACHE_USER}.${APACHE_GROUP} ${REPOSITORY}<br />  <br /> # 新建Project Root Directory <br /> mkdir -p ${PROJECTS} <br /> chown -R ${APACHE_USER}.${APACHE_GROUP} ${PROJECTS} <br /> <br /> # 建立共用的管理者帳號<br /> htpasswd -bc ${PROJECTS}/.htpasswd ${TRAC_ADMIN_USER} ${TRAC_ADMIN_PASSWD}<br /> chown ${APACHE_USER}.${APACHE_GROUP} ${PROJECTS}/.htpasswd<br /> <br /> # 設定Repositoty存取權限<br /> echo &quot;[/]<br /> * = r<br /> ${TRAC_ADMIN_USER} = rw&quot; &gt; ${PROJECTS}/svnaccess<br /> [/code]<br /> <br /> 至此便安裝好了Trac，由於改了Apache的設定檔，故我們需要重新啟動Apache<br /> [code]service httpd restart[/code]<br /> <br /> 接下來要為每個專案建立一個Trac環境，Trac只需要安裝一套就可以支援多個專案，但是每個專案都要建立一個自己的Trac資料庫，例如我們的專案叫做project1，我們就新建一個叫trac_project1的資料庫（如果還有project2，資料庫名稱便取叫trac_project2）。請將下面的程式碼存成/var/lib/pgsql/newtracdb.sh並設為可執行：<br /> [code=sql]psql -c &quot;create user trac_$1 createdb;&quot; template1<br /> psql -c &quot;create database trac_$1 with encoding 'unicode';&quot; -U trac_$1 template1<br /> psql -c &quot;alter user trac_$1 nocreatedb;&quot; template1<br /> psql -c &quot;alter user trac_$1 with encrypted password 'trac_$1';&quot; template1[/code]<br /> <br /> 使用方式:<br /> [code]su - postgres<br /> ./newtracdb.sh project1[/code]<br /> <br /> 建立好了資料庫，我們可以將下面的指令存檔為newproject.sh並設為可執行：<br /> [code]# Name: newproject.sh<br /> # Author: Andowson Chang (andowson [at] gmail [dot] com)<br /> # Version: 0.9<br /> # Last Modified: 2007-08-31<br /> <br /> # 請自行依據實際環境修改這邊的參數<br /> REPOSITORY=/var/trac/repos/$1<br /> PROJECTS=/var/trac/projects<br /> PROJECT=${PROJECTS}/$1<br /> PROJECT_NAME=&quot;$2&quot;<br /> PROJECT_MANAGER=$3<br /> DBNAME=trac_$1<br /> DBUSER=trac_$1<br /> DBPASSWD=trac_$1<br /> TRAC_ADMIN_USER=admin<br /> APACHE_USER=apache<br /> APACHE_GROUP=tomcat<br /> <br /> # 新建Subversion Repository <br /> svnadmin create --fs-type fsfs ${REPOSITORY} <br /> mkdir /tmp/$1<br /> mkdir /tmp/$1/branches<br /> mkdir /tmp/$1/tags<br /> mkdir /tmp/$1/trunk<br /> svn import /tmp/$1 file:///${REPOSITORY} --message 'Initial repository layout'<br /> rm -rf /tmp/$1<br /> chown -R ${APACHE_USER}.${APACHE_GROUP} ${REPOSITORY} <br /> <br /> echo &quot;<br /> [$1:/]<br /> * = r<br /> ${TRAC_ADMIN_USER} = rw<br /> ${PROJECT_MANAGER} = rw&quot; &gt;&gt; ${PROJECTS}/svnaccess<br /> <br /> # 新建一個Trac環境<br /> trac-admin ${PROJECT} initenv &quot;${PROJECT_NAME}&quot; postgres://${DBUSER}:${DBPASSWD}@localhost/${DBNAME} svn ${REPOSITORY} /usr/share/trac/templates<br /> chown -R ${APACHE_USER}.${APACHE_GROUP} ${PROJECTS}<br /> <br /> # 設定管理者帳號<br /> trac-admin ${PROJECT} permission add ${TRAC_ADMIN_USER} TRAC_ADMIN<br /> trac-admin ${PROJECT} permission add ${PROJECT_MANAGER} TRAC_ADMIN<br /> <br /> # 取消匿名使用者的部分寫入權限（以免有人惡意搗蛋）<br /> trac-admin ${PROJECT} permission remove anonymous TICKET_CREATE TICKET_MODIFY WIKI_CREATE WIKI_MODIFY<br /> trac-admin ${PROJECT} permission add authenticated TICKET_CREATE TICKET_MODIFY TICKET_VIEW WIKI_CREATE WIKI_MODIFY<br /> <br /> # 啟用 WebAdmin<br /> echo &quot;[components]<br /> webadmin.* = enabled<br /> tracgantt.* = enabled<br /> iniadmin.iniadmin.iniadminplugin = enabled<br /> trac.web.auth.LoginModule = disabled<br /> acct_mgr.* = enabled<br /> <br /> [account-manager]<br /> password_format = htpasswd<br /> password_file = ${PROJECTS}/.htpasswd<br /> <br /> [ticket-custom]<br /> due_assign = text<br /> due_assign.label = Due to assign<br /> due_assign.value = YYYY/MM/DD<br /> <br /> dependencies = text<br /> dependencies.label = Dependencies<br /> dependencies.value =<br /> <br /> due_close= text<br /> due_close.label = Due to close<br /> due_close.value = YYYY/MM/DD<br /> <br /> include_gantt = checkbox<br /> include_gantt.label = Include in GanttChart<br /> include_gantt.value =<br /> <br /> [gantt-charts]<br /> # The format of dates entered by humans in the above ticket fields<br /> date_format = %Y/%m/%d<br /> <br /> # Include the ticket summary in the gantt chart display<br /> include_summary = true<br /> <br /> # Trim the included summary to the given number of characters<br /> summary_length = 16<br /> <br /> # Use the creation date of a ticket as the &quot;due assign&quot; date if no<br /> # assignment date is given<br /> use_creation_date = true<br /> <br /> # Show on the gantt chart the date the ticket was opened, to contrast<br /> # with the assignment date.<br /> show_opened = true&quot; &gt;&gt; ${PROJECT}/conf/trac.ini <br /> <br /> # 調整一些共同的參數<br /> sed -i -e &quot;s/max_size = 262144/max_size = 10000000/&quot; -e &quot;s/always_notify_owner = false/always_notify_owner = true/&quot; -e &quot;s/always_notify_reporter = false/always_notify_reporter = true/&quot; -e &quot;s/smtp_enabled = false/smtp_enabled = true/&quot; -e &quot;s/default_charset = iso-8859-15/default_charset = UTF-8/&quot; ${PROJECT}/conf/trac.ini <br /> <br /> trac-admin ${PROJECT} permission add anonymous GANTT_VIEW[/code]<br /> 執行方式：<br /> [code]./newproject.sh project1 &quot;My Project1&quot; user1[/code]<br /> <br /> 接著編輯一個/var/lib/pgsql/session_attribute.sql檔案，將小組成員的姓名和email填寫好:<br /> [code=sql]insert into session_attribute(sid, authenticated, name, value) values('admin', 1, 'email', 'admin@example.org');<br /> insert into session_attribute(sid, authenticated, name, value) values('admin', 1, 'name', 'Andowson Chang');<br /> insert into session_attribute(sid, authenticated, name, value) values('user1', 1, 'email', 'user1@example.org');<br /> insert into session_attribute(sid, authenticated, name, value) values('user1', 1, 'name', 'John Doe');<br /> insert into session_attribute(sid, authenticated, name, value) values('user2', 1, 'email', 'user2@example.org');<br /> insert into session_attribute(sid, authenticated, name, value) values('user2', 1, 'name', 'Mary Doe');[/code]<br /> <br /> 將小組成員的資料加到這個新開好的專案<br /> [code]su - postgres<br /> psql trac_project1 trac_project1 -f session_attribute.sql[/code]<br /> <br /> 要加入小組成員的寫入權限時，可以請他先透過Trac網頁介面register，然後再把帳號加到svnaccess去; 或者透過htpasswd幫他開好帳號及密碼，然後再把帳號加到svnaccess去。<br /> <br /> [code]htpasswd -b /var/trac/projects/.htpasswd user1 user1pwd<br /> htpasswd -b /var/trac/projects/.htpasswd user2 user2pwd[/code]<br /> <br /> vi /var/trac/projects/svnaccess<br /> [code]<br /> [/]<br /> * = r<br /> admin = rw<br /> <br /> [project1:/]<br /> * = r<br /> admin = rw<br /> user1 = rw<br /> user2 = rw<br /> [/code]<br /> 參考資料:<br /> [url=http://twpug.net/docs/Subversion/]Version Control with Subversion中譯版[/url]<br /> [url=http://plog.longwin.com.tw/my_note-unix/2007/07/07/apache2_svn_trac_build_2007]Debian Linux: Apache2(Virtual Host) + Subversion(SVN) + Trac 快速建置[/url]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/22.page</guid>
				<link>http://www.andowson.com/posts/preList/20/22.page</link>
				<pubDate><![CDATA[Wed, 10 Jan 2007 01:31:50]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ Trac的中文化（尚未完整）<br /> <br /> [code]cd /var/trac/setup<br /> wget http://taipedia.selfip.info/templates.zh_TW.UTF-8.tar.gz <br /> tar zxvf templates.zh_TW.UTF-8.tar.gz<br /> mv /usr/share/trac/templates /usr/share/trac/templates.orig<br /> mv /var/trac/setup/templates.zh_TW.UTF-8 /usr/share/trac/templates[/code]<br /> <br /> 參考資料：<br /> http://b6s.blogspot.com/2007/01/trac.html]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/53.page</guid>
				<link>http://www.andowson.com/posts/preList/20/53.page</link>
				<pubDate><![CDATA[Sat, 10 Feb 2007 18:13:12]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 升級到新版的Trac 0.10.4-&gt;0.11，一定要記得做資料庫備份！<br /> [code]cd /var/trac/setup<br /> easy_install Genshi<br /> easy_install psycopg2<br /> easy_install docutils<br /> easy_install Pygments<br /> easy_install pytz<br /> easy_install Trac<br /> su - postgres<br /> psql -l<br /> pg_dump trac_project1 &gt; /tmp/trac_project1.bak<br /> exit<br /> trac-admin /var/trac/projects/project1 upgrade --no-backup<br /> trac-admin /var/trac/projects/project1 wiki upgrade[/code]<br /> <br /> 升級後刪除舊的版本(for 0.11)<br /> cd /usr/lib/python2.3/site-packages<br /> rm -rf trac<br /> easy_install -m TracWebAdmin<br /> rm -rf TracWebAdmin*<br /> <br /> 解決升級後不顯示Login的問題<br /> vi /var/trac/projects/project1/conf/trac.ini<br /> ...<br /> [components]<br /> trac.web.auth.loginmodule = enabled<br /> webadmin.* = enabled<br /> ...]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/117.page</guid>
				<link>http://www.andowson.com/posts/preList/20/117.page</link>
				<pubDate><![CDATA[Tue, 29 May 2007 23:00:57]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 最近遇到這個問題<br /> [quote]Traceback (most recent call last):<br />   File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 406, in dispatch_request<br />     dispatcher.dispatch(req)<br />   File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 206, in dispatch<br />     req.hdf = HDFWrapper(loadpaths=chrome.get_all_templates_dirs())<br />   File "/usr/lib/python2.3/site-packages/trac/web/chrome.py", line 263, in get_all_templates_dirs<br />     dirs += provider.get_templates_dirs()<br />   File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 252, in get_templates_dirs<br />   File "/usr/lib/python2.3/site-packages/setuptools-0.6c3-py2.3.egg/pkg_resources.py", line 799, in resource_filename<br />     return get_provider(package_or_requirement).get_resource_filename(<br />   File "/usr/lib/python2.3/site-packages/setuptools-0.6c3-py2.3.egg/pkg_resources.py", line 1229, in get_resource_filename<br />     return self._extract_resource(manager, zip_path)<br />   File "/usr/lib/python2.3/site-packages/setuptools-0.6c3-py2.3.egg/pkg_resources.py", line 1235, in _extract_resource<br />     last = self._extract_resource(<br />   File "/usr/lib/python2.3/site-packages/setuptools-0.6c3-py2.3.egg/pkg_resources.py", line 1249, in _extract_resource<br />     real_path = manager.get_cache_path(<br />   File "/usr/lib/python2.3/site-packages/setuptools-0.6c3-py2.3.egg/pkg_resources.py", line 880, in get_cache_path<br />     self.extraction_error()<br />   File "/usr/lib/python2.3/site-packages/setuptools-0.6c3-py2.3.egg/pkg_resources.py", line 846, in extraction_error<br />     raise err<br /> ExtractionError: Can't extract file(s) to egg cache<br /> <br /> The following error occurred while trying to extract file(s) to the Python egg<br /> cache:<br /> <br />   [Errno 13] Permission denied: '/.python-eggs'<br /> <br /> The Python egg cache directory is currently set to:<br /> <br />   /.python-eggs<br /> <br /> Perhaps your account does not have write access to this directory?  You can<br /> change the cache directory by setting the PYTHON_EGG_CACHE environment<br /> variable to point to an accessible directory.<br /> [/quote]<br /> <br /> 參考了下面這個網址, 主要是需要修改PYTHON_EGG_CACHE的設定<br /> http://projects.edgewall.com/trac/wiki/TracPlugins#SettingupthePluginCache<br /> <br /> 修改/etc/httpd/conf.d/python.conf:<br /> [code]<br /> &lt;Location /projects&gt;<br />   SetHandler mod_python<br />   PythonHandler trac.web.modpython_frontend<br />   PythonOption TracEnvParentDir /var/trac/projects<br />   PythonOption TracUriRoot /projects<br />   SetEnv PYTHON_EGG_CACHE /tmp<br /> &lt;/Location&gt;<br /> [/code]<br /> <br /> 重新啟動Apache即可]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/218.page</guid>
				<link>http://www.andowson.com/posts/preList/20/218.page</link>
				<pubDate><![CDATA[Thu, 23 Aug 2007 08:10:09]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 如果安裝Trac+Subversion的Apache主機本身也跟Tomcat整合起來的話, 要再修改一下mod_jk的設定, 例如/etc/httpd/conf.d/mod_jk.conf:<br /> [code=xml]<br /> JkUnMount /projects/* loadbalancer<br /> JkMount /*.jsp loadbalancer<br /> <br /> # Deny direct access to WEB-INF<br /> &lt;LocationMatch ".*WEB-INF.*"&gt;<br />     Deny from all<br /> &lt;/LocationMatch&gt;<br /> <br /> # Allow direct access to WEB-INF directory under /projects and /svn <br /> &lt;LocationMatch "[/projects/ /svn/].*/WEB-INF.*"&gt;<br />     Allow from all<br /> &lt;/LocationMatch&gt;<br /> [/code]<br /> <br /> 這樣子就可看到JSP和WEB-INF底下檔案的原始碼了.]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/221.page</guid>
				<link>http://www.andowson.com/posts/preList/20/221.page</link>
				<pubDate><![CDATA[Sun, 26 Aug 2007 00:08:59]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 修正 [quote]Report execution failed: 錯誤: 欄位&quot;modified&quot;不存在[/quote]<br /> 用具有TRAC_ADMIN權限的帳號如admin登入，點選View Tickets-&gt;點選{6} All Tickets By Milestone (Including closed)<br /> 點選Edit Report按鈕，替換為下方的程式碼：<br /> [code]SELECT p.value AS __color__,<br />    t.milestone AS __group__,<br />    (CASE status <br />       WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;'<br />       ELSE <br />         (CASE owner WHEN $USER THEN 'font-weight: bold' END)<br />     END) AS __style__,<br />    id AS ticket, summary, component, status, <br />    resolution,version, t.type AS type, priority, owner,<br />    changetime AS modified,<br />    time AS _time,reporter AS _reporter<br />   FROM ticket t<br />   LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'<br />   ORDER BY (milestone IS NULL), milestone DESC, (status = 'closed'), <br />         (CASE status WHEN 'closed' THEN changetime ELSE (-1)* CAST(p.value AS numeric) END) DESC[/code]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/239.page</guid>
				<link>http://www.andowson.com/posts/preList/20/239.page</link>
				<pubDate><![CDATA[Fri, 7 Sep 2007 19:27:53]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 客戶端能改密碼嗎？]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/408.page</guid>
				<link>http://www.andowson.com/posts/preList/20/408.page</link>
				<pubDate><![CDATA[Sat, 19 Jul 2008 16:39:13]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 在0.10.4是可以的，登入後選擇My Account功能即可修改密碼。<br /> 升級到0.11後，webadmin改為內建，之前安裝的TracAccountManager Plugin變成失效，因此註冊register和修改密碼的My Account功能都消失了。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/409.page</guid>
				<link>http://www.andowson.com/posts/preList/20/409.page</link>
				<pubDate><![CDATA[Sat, 19 Jul 2008 18:36:57]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 降級trac 0.11-&gt;0.10.5<br /> cd /var/trac/setup<br /> wget <a class="snap_shots" href="http://ftp.edgewall.com/pub/trac/trac-0.10.5.tar.gz" target="_blank" rel="nofollow">http://ftp.edgewall.com/pub/trac/trac-0.10.5.tar.gz</a><br /> tar zxvf trac-0.10.5.tar.gz<br /> cd trac-0.10.5<br /> python setup.py install<br /> easy_install <a class="snap_shots" href="http://svn.edgewall.com/repos/trac/sandbox/webadmin/" target="_blank" rel="nofollow">http://svn.edgewall.com/repos/trac/sandbox/webadmin/</a><br /> cd /usr/lib/python2.3/site-packages<br /> rm -rf Trac-0.11-py2.3.egg/<br /> vi easy-install.pth<br /> 刪除Trac-0.11<br /> service httpd stop<br /> su - postgres<br /> pg_dump trac_project1 &gt; /tmp/trac_project1-0.11.bak<br /> dropdb trac_project1<br /> dropuser trac_project1<br /> ./newtracdb.sh project1<br /> psql trac_project1 &lt; /tmp/trac_project1.bak<br /> exit<br /> trac-admin /var/trac/projects/project1 upgrade --no-backup<br /> trac-admin /var/trac/projects/project1 wiki upgrade<br /> service httpd start]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/410.page</guid>
				<link>http://www.andowson.com/posts/preList/20/410.page</link>
				<pubDate><![CDATA[Sat, 19 Jul 2008 21:55:53]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 请问代码用什么提交比较好？在trac上没有找到]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/412.page</guid>
				<link>http://www.andowson.com/posts/preList/20/412.page</link>
				<pubDate><![CDATA[Sat, 26 Jul 2008 17:34:13]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 程式碼提交可以使用Subversion Client來進行，例如[url=http://tortoisesvn.tigris.org/]TortoiseSVN[/url]或安裝開發工具的plug-in，例[url=http://subclipse.tigris.org/]Subclipse[/url] for [url=http://www.eclipse.org]Eclipse[/url]，可以參考這篇文章<br /> <a class="snap_shots" href="http://www.andowson.com/posts/list/57.page" target="_blank" rel="nofollow">http://www.andowson.com/posts/list/57.page</a>]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/413.page</guid>
				<link>http://www.andowson.com/posts/preList/20/413.page</link>
				<pubDate><![CDATA[Sat, 26 Jul 2008 19:28:28]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 谢谢你的回复，我在执行完trac_setup.sh中的过程（大部分采用RHEL5中的RPM包安装）以及执行   1. ./newproject.sh project1 "My Project1" user1  没有出问题，之后访问http://localhost/svn/project1出现：Forbidden<br /> You don't have permission to access /svn/project1 on this server.<br /> 是什么问题？<br /> 执行http://localhost/projects/project1时出现：<br /> Environment not found]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/414.page</guid>
				<link>http://www.andowson.com/posts/preList/20/414.page</link>
				<pubDate><![CDATA[Sun, 27 Jul 2008 18:10:29]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 請問您的svnaccess（依您實際安裝位置而定，本文是位於/var/trac/projects/svnaccess）內的設定為何？<br /> 有無加入[color=red]* = r[/color]的設定在[/]及[project1:/]下？<br /> 另外您可以執行一下psql -l來確認一下trac_project1這個資料庫存在嗎？如果存在您可以將它刪除(dropdb trac_project1;dropuser trac_project1)再重新建立一次(newtracdb.sh)，然後再執行一次newproject.sh，完成後再重新啟動一次Apache(service httpd restart)。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/415.page</guid>
				<link>http://www.andowson.com/posts/preList/20/415.page</link>
				<pubDate><![CDATA[Mon, 28 Jul 2008 00:48:47]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 按照您的说法我试了一下，问题依旧。您回复：<br /> <br /> “請問您的svnaccess（依您實際安裝位置而定，本文是位於/var/trac/projects/svnaccess）內的設定為何？ <br /> 有無加入* = r的設定在[/]及[project1:/]下？ <br /> 另外您可以執行一下psql -l來確認一下trac_project1這個資料庫存在嗎？如果存在您可以將它刪除(dropdb trac_project1;dropuser trac_project1)再重新建立一次(newtracdb.sh)，然後再執行一次newproject.sh，完成後再重新啟動一次Apache(service httpd restart)。”<br /> <br /> 我实际的位置“/home/trac/projects/svnaccess”，经检查svnaccess文件内容无错误，其内容如下：<br /> [/]<br /> admin =rw<br /> <br /> [project1:/]<br /> * = r<br /> admin = rw<br /> user1 = rw<br /> user2 =rw<br /> <br /> 使用psql –l后发现数据库已经存在了，按上述要求重建在执行上述删除和创建过程后，依然如故。<br /> <br /> 下面我介绍一下我的安装过程：<br /> 因为我安装的是RHEL5.0，没有REDHAT的安装好因此无法使用yum 命令从redhat 升级，因此我考虑使用安装光盘内的rpm 安装文件。<br /> 1、	在安装RRHEL5.0 时选择安装SUBVERSION、PostgreSQL、python-2.4.3<br /> 2、	从光盘中拷贝出mod_python-3.2.8-3.1.i386.rpm、libxml2-python-2.6.26-2.1.2.i386.rpm、mod_python-3.2.8-3.1.i386.rpm、swig-1.3.29-2.el5.i386.rpm、python-devel-2.4.3-19.el5.i386.rpm并用rpm –ivh 指令安装。<br /> 3、	安装后检查系统内的软件安装情况：<br /> <br /> httpd        Version : 2.2.3  Release     : 6.el5 <br /> python       Version : 2.4.3  Release     : 19.el5<br /> python-devel Version : 2.4.3  Release     : 19.el5<br /> mod_python   Version : 3.2.8  Release     : 3.1<br /> subversion   Version : 1.4.2  Release     : 2.el5<br /> mod_dav_svn Version : 1.4.2  Release     : 2.el5<br /> swig        Version : 1.3.29 Release      :2.el5<br /> <br /> 4、	从网络上下载的软件包如下：<br /> <br /> clearsilver-0.10.5.tar.gz<br /> docutils-snapshot.tgz<br /> egenix-mx-base-3.0.0.linux-i686-py2.4_ucs4.prebuilt.zip<br /> egenix-mx-base-3.1.0.linux-i686-py2.4_ucs4.prebuilt.zip<br /> enscript-1.6.4.tar.gz<br /> ez_setup.py<br /> pyPgSQL-2.5.1.tar.gz<br /> SilverCity-0.9.7.tar.gz<br /> TracGantt-0.3.2a-py2.4.egg<br /> Trac0.10.4zh3<br /> <br /> 5、	按照您文章中的顺序进行安装，区别在于第2点中的安装包是用rpm安装，不是您文中使用的yum 指令<br /> <br /> 6、	安装完trac_setup.sh中的软件后，再执行./newtracdb.sh project1（有点小问题，我在postgres下一条一条执行的，也创建了数据库和用户）， 再执行./newproject.sh project1 "My Project1" user1 并得到trac成功信息<br /> <br /> 至此，我觉得可以用http://localhost/svn/project1来查看源码，而结果就是上面的情况，用http://localhost/ projects /project1 来查看TRAC时出现Environment not found，<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/426.page</guid>
				<link>http://www.andowson.com/posts/preList/20/426.page</link>
				<pubDate><![CDATA[Sat, 9 Aug 2008 16:52:54]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 1.請加上* = r到/home/trac/projects/svnaccess的[/]下，如下：<br /> [/]<br /> * = r<br /> admin = rw<br /> <br /> [project1:/]<br /> * = r<br /> admin = rw<br /> user1 = rw<br /> user2 =rw <br /> <br /> 2.請問您有沒有執行trac_setup.sh的98-142行部分，可否檢視一下這幾個設定檔：<br /> /etc/httpd/conf.d/python.conf<br /> /etc/httpd/conf.d/subversion.conf<br /> <br />  :arrow: 檢查/etc/httpd/conf.d/python.conf的檔尾有沒有下列設定：<br /> [code]<br /> &lt;Location /projects&gt;<br />   SetHandler mod_python<br />   PythonHandler trac.web.modpython_frontend<br />   PythonOption TracEnvParentDir /home/trac/projects<br />   PythonOption TracUriRoot /projects<br />   SetEnv PYTHON_EGG_CACHE /tmp<br /> &lt;/Location&gt;<br /> <br /> &lt;LocationMatch "/projects/[^/]+/login"&gt;<br />   AuthType Basic<br />   AuthName "Trac"<br />   AuthUserFile /home/trac/projects/.htpasswd<br />   Require valid-user<br /> &lt;/LocationMatch&gt;<br /> [/code]<br /> <br />  :arrow: 檢查/etc/httpd/conf.d/subversion.conf的檔尾有沒有下列設定：<br /> [code]<br /> &lt;Location /svn&gt;<br />     DAV svn<br />     SVNParentPath /home/trac/repos<br />     &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;<br />         AuthType Basic<br />         AuthName "Subversion repository"<br />         AuthUserFile /home/trac/projects/.htpasswd<br />         AuthzSVNAccessFile /home/trac/projects/svnaccess<br />         Require valid-user<br />     &lt;/LimitExcept&gt;<br /> &lt;/Location&gt;<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/427.page</guid>
				<link>http://www.andowson.com/posts/preList/20/427.page</link>
				<pubDate><![CDATA[Sat, 9 Aug 2008 17:19:17]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 按照第1点执行，检查第2点中提到的/etc/httpd/conf.d/python.conf 及/etc/httpd/conf.d/subversion.conf 文件，设定与回复中的内容一致，重启httpd后，情况依旧。<br /> 我估计问题出在執行trac_setup.sh中的指令，因为我是用rpm包安装的，可能的原因有3个：<br /> 1、libxml2-python-2.6.26-2.1.2.i386.rpm这个包对不对，它是否是适合python-2.6的而不是python-2.4的。<br /> 2、subversion默认配置文件的位置不对，我用rpm -ql subversion 检查发现<br /> /etc/subversion<br /> /usr/bin/svn<br /> usr/bin/svnadmin<br /> ......<br /> 其中subversion的配置文件在/etc/subversion中，而按照上面的安装过程配置文件应是在/etc/httpd/conf.d/subversion.conf <br /> 3、在您文中subversion安装应当是<br /> yum -y install subversion mod_dav_svn swig，是在一行中完成的，而我安装是rpm -ivh swig-1.3.29-2.el5.i386.rpm,是分开安装的。<br /> <br /> 不知道是否是上述原因导致错误出现？]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/431.page</guid>
				<link>http://www.andowson.com/posts/preList/20/431.page</link>
				<pubDate><![CDATA[Mon, 11 Aug 2008 09:51:24]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 請問您有修改newproject.sh的第7~17行的參數嗎？<br /> <br /> 我有個建議就是可否請您將Trac整個移掉重裝，然後按照我這篇文章的預設路徑去裝裝看，先排除掉路徑問題，如果裝得起來您可再自行調整路徑重新安裝一次。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/434.page</guid>
				<link>http://www.andowson.com/posts/preList/20/434.page</link>
				<pubDate><![CDATA[Mon, 11 Aug 2008 21:54:20]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ thanks!<br /> 已解决，是因为SELinux的原因]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/452.page</guid>
				<link>http://www.andowson.com/posts/preList/20/452.page</link>
				<pubDate><![CDATA[Wed, 3 Sep 2008 10:37:57]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 能否再问一个问题：<br /> 在使用http://localhost/svn/project1访问时没有权限控制，也就是说任何人都可以访问代码。<br /> 因此我将/home/trac/projects/svnaccess中的内容进行修改：<br /> [/] <br /> admin = rw <br /> <br /> [project1:/] <br /> admin = rw <br /> user1 = rw <br /> user2 =rw <br /> <br /> 将其中的* = r 删除，之后用http://localhost/svn/project1访问就出现<br /> Forbidden<br /> You don't have permission to access /svn/project1 on this server.<br /> 而没有出现认证对话框，有什么办法可让其出现认证框以输入user passwd。<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/461.page</guid>
				<link>http://www.andowson.com/posts/preList/20/461.page</link>
				<pubDate><![CDATA[Sat, 6 Sep 2008 11:24:53]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 經過測試之後發現，svnaccess中的[/]是給Trac看的，其他部分[repos-name:/]才是給Apache看的，如果您將[/]底下的 * = r刪除，則您需要將其他可以讀取或寫入的使用者明確地加到這個section來，例如：<br /> [/]<br /> admin = rw<br /> user1 = rw<br /> user2 = rw<br /> 否則在Trac登入後按下[color=blue]Browse Source[/color]時會出現[color=red]Insufficient permissions to access /[/color]的錯誤。<br /> <br /> 如果要管控http://localhost/svn/project1時需要輸入帳號密碼，則可以修改/etc/httpd/conf.d/subversion.conf中的設定<br /> [code]<br /> &lt;Location /svn&gt;<br />     DAV svn<br />     SVNParentPath /home/andowson/repos<br />     #&lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;<br />         AuthType Basic<br />         AuthName "Subversion repository"<br />         AuthUserFile /home/andowson/projects/.htpasswd<br />         AuthzSVNAccessFile /home/andowson/projects/svnaccess<br />         Require valid-user<br />     #&lt;/LimitExcept&gt;<br /> &lt;/Location&gt;<br /> [/code]<br /> 將原來的&lt;LimitExcept&gt;註解掉或刪除掉，再重新啟動Apache即可]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/462.page</guid>
				<link>http://www.andowson.com/posts/preList/20/462.page</link>
				<pubDate><![CDATA[Sat, 6 Sep 2008 12:43:25]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ <br /> 在执行./newtracdb.sh project1时总是出现以下错误：<br /> bash-3.1$ ./newtracdb.sh project1<br /> " 不存在命错误:  数据库 "template1<br /> " 不存在命错误:  数据库 "template1<br /> " 不存在命错误:  数据库 "template1<br /> " 不存在命错误:  数据库 "template1<br /> 但是将命令分拆，一行一行的执行却没有问题，很不方便。<br /> bash-3.1$ psql -c "create user trac_project1 createdb;" template1<br /> CREATE ROLE<br /> bash-3.1$ psql -c "create database trac_project1 with encoding 'unicode';" -U trac_project1 template1<br /> CREATE DATABASE<br /> bash-3.1$ psql -c "alter user trac_project1 nocreatedb;" template1<br /> ALTER ROLE<br /> bash-3.1$ psql -c "alter user trac_project1 with encrypted password 'trac_project1';" template1<br /> ALTER ROLE<br /> <br /> 请问是什么原因？<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/464.page</guid>
				<link>http://www.andowson.com/posts/preList/20/464.page</link>
				<pubDate><![CDATA[Mon, 8 Sep 2008 11:28:59]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 我查了数据库日志：<br /> 应当是“致命错误，数据库 "template1 "不存在”]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/465.page</guid>
				<link>http://www.andowson.com/posts/preList/20/465.page</link>
				<pubDate><![CDATA[Mon, 8 Sep 2008 18:19:26]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 您問的內容比較屬於跟PostgreSQL有關的問題，請參考這篇[url]http://www.andowson.com/posts/list/140.page[/url]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/466.page</guid>
				<link>http://www.andowson.com/posts/preList/20/466.page</link>
				<pubDate><![CDATA[Tue, 9 Sep 2008 01:53:48]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 配置完成后发现在trac中任何登陆的人均可查看所有代码，我希望能够做到与SVN一样的权限控制，有什么办法吗？<br /> [/] <br /> admin = rw <br /> user1 = rw<br /> <br /> [project1:/] <br /> admin = rw <br /> user1 = rw <br /> user2 =rw <br /> <br /> [project2:/] <br /> admin = rw <br /> user2 =rw <br /> user1登陆后能够浏览project2的所有代码，能够控制不让他浏览project2代码吗？]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/467.page</guid>
				<link>http://www.andowson.com/posts/preList/20/467.page</link>
				<pubDate><![CDATA[Tue, 9 Sep 2008 11:28:01]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 經過一連串的測試後發現，如果我們要用同一個svnaccess來完成這個需求:<br /> [color=blue]user1只能看到project1的source code而user2只能看到project2的source code[/color]<br /> 是不可能的，因為：<br /> 1.如果我們將svnaccess最上面的[/]區塊刪除時，變成如下：<br /> [project1:/]<br /> admin = rw<br /> user1 = rw<br /> user2 =rw<br /> <br /> [project2:/]<br /> admin = rw<br /> user2 =rw<br /> 配合修改/etc/httpd/conf.d/subversion.conf中的設定，此時我們可以控管由網頁去存取http://localhost/svn/project1時，需要輸入帳號密碼，此時用user1可以登入。接著將網址改成http://localhost/svn/project2，此時會再要求輸入帳號及密碼，但是不論嘗試多少次，用user1都不會成功。<br /> <br /> 2.此時再用user1登入Trac的project1然後去Browse Source時就會遇到Insufficient permissions to access /的錯誤。於是我們又將[/]區塊加回去svnaccess：<br /> [/]<br /> admin = rw<br /> user1 = rw<br /> <br /> [project1:/]<br /> admin = rw<br /> user1 = rw<br /> user2 =rw<br /> <br /> [project2:/]<br /> admin = rw<br /> user2 =rw<br /> 此時，可以正常瀏覽source code了，但是副作用就是此時用user1將可以登入http://localhost/svn/project2（可能user2還無法登入project2）<br /> 因此，可以推論，當有設定[/]時，Apache會採用[/]區塊的設定。<br /> 此外，此時用user1登入Trac project2也可以Browse Source，所以Trac也是用[/]這邊的設定。<br /> <br /> 所以這個問題在[color=red]一個[/color]svnaccess的狀況下是無解的。<br /> <br /> 那要怎麼做到原來的需求呢？<br /> 答案應該很明顯了，就是每個Trac project使用一個svnaccess檔案，我們可以在trac.ini裡面去設定這個檔案的路徑，例如：<br /> [code][trac]<br /> authz_file = /var/trac/projects/svnaccess_project1<br /> [/code]<br /> 然後將原來的svnaccess的[/]區塊刪除，編輯svnaccess_project1如下：<br /> admin = rw<br /> user1 = rw<br /> user2 =rw<br /> <br /> 最後是將Trac裡面BROWSER_VIEW從anonymous和authenticated刪除，用admin帳號登入Web介面去Admin-&gt;Permissions下執行即可，文字指令參考如下：<br /> [code]trac-admin /var/trac/projects/project1 permission remove anonymous BROWSER_VIEW<br /> trac-admin /var/trac/projects/project1 permission remove authenticated BROWSER_VIEW<br /> [/code]<br /> <br /> 然後我們可以在右邊的Grant Permission:新增Subject:developer，Action: BROWSER_VIEW<br /> 然後再利用Add Subject to Group:將Subject: user1及user2陸續加到Group: developer<br /> <br /> 如此一來，我們可以確保只有加到每個Project的developer群組才能看到原始碼。<br /> <br /> 依此類推，完成project2的相關設定（trac.ini、svnaccess_project2及Permissions設定）<br /> <br /> 日後維護時，每個專案如有成員異動時，便得注意要同時修改svnaccess和svnaccess_projectX兩個檔案。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/486.page</guid>
				<link>http://www.andowson.com/posts/preList/20/486.page</link>
				<pubDate><![CDATA[Fri, 3 Oct 2008 00:39:18]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ Trac有提供一個透過Web介面修改svnaccess檔案的Plugin，可以參考下面的網址：<br /> http://trac-hacks.org/wiki/SvnAuthzAdminPlugin<br /> [url=http://trac-hacks.org/changeset/latest/svnauthzadminplugin?old_path=/&filename=svnauthzadminplugin&format=zip]下載[/url]後，將其解壓縮，再執行下面的指令安裝<br /> [code]python setup.py install[/code]<br /> 然後再修改trac.ini，將svnauthz.* = enabled加到[components]區塊下：如<br /> [code][components]<br /> svnauthz.* = enabled[/code]<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/487.page</guid>
				<link>http://www.andowson.com/posts/preList/20/487.page</link>
				<pubDate><![CDATA[Fri, 3 Oct 2008 01:18:23]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 我用SVN和TRAC来管理多达21个项目库时，postgresql 数据库出现：“致命错误：超过了非超级用户的连接限制”，再无法增加新的项目，如何解决这个问题？<br /> 其英文提示为“FATAL: connection limit exceeded for non-superusers ”]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/523.page</guid>
				<link>http://www.andowson.com/posts/preList/20/523.page</link>
				<pubDate><![CDATA[Wed, 10 Dec 2008 11:29:57]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 您可以試著調整一下PostgreSQL的最大連線數看看<br /> <br /> /var/lib/pgsql/data/postgresql.conf<br /> [code]max_connections = 200[/code]<br /> 參考資料：<br /> http://readthefuckingmanual.net/error/132/]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/524.page</guid>
				<link>http://www.andowson.com/posts/preList/20/524.page</link>
				<pubDate><![CDATA[Fri, 12 Dec 2008 22:53:27]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ 谢谢！问题解决，另外我想了解一下如何从trac中移除已有的项目以及如何备份和恢复版本库的一些知识。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/538.page</guid>
				<link>http://www.andowson.com/posts/preList/20/538.page</link>
				<pubDate><![CDATA[Mon, 15 Dec 2008 15:24:21]]> GMT</pubDate>
				<author><![CDATA[ wtom]]></author>
			</item>
			<item>
				<title>回覆:在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ [b]Trac的刪除、備份跟還原[/b]<br /> 1.刪除Trac專案:<br />    在Trac中每個專案環境就是一個目錄，所以刪除專案很簡單，就是把對應的目錄刪除掉，然後對應的資料庫也刪除掉即可。<br /> <br /> 2.備份Trac專案：<br />    可以使用trac-admin的hotcopy指令，<br /> [code]$ trac-admin /path/to/projenv hotcopy /path/to/backupdir[/code]<br /> 例如：<br /> [andowson@www ~]$ trac-admin /home/andowson/projects/webmail hotcopy /tmp/webmail<br /> Hotcopying /home/andowson/projects/webmail to /tmp/webmail ... Hotcopy done.<br /> <br /> 檢視一下內容可以發現其實就是整個目錄複製過去而已，所以理論上只要先把Web Server停止後，自己使用OS的copy指令也是OK的<br /> [andowson@www ~]$ ll /tmp/webmail/<br /> 總計 36<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 attachments<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 conf<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 htdocs<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 log<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 plugins<br /> -rw-r--r--  1 andowson andowson   98  9月  9  2007 README<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 templates<br /> -rw-r--r--  1 andowson andowson   27  9月  9  2007 VERSION<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 wiki-macros<br /> <br /> 資料庫部分可以使用資料庫備份的指令，例如PostgreSQL的[url=http://twpug.net/docs/postgresql-doc-8.0-zh_TW/app-pgdump.html]pg_dump[/url]<br /> <br /> 3.還原Trac專案<br /> 也是很簡單，就是把備份的目錄覆蓋回去即可，先把Web Server停掉，然後把整個目錄結構copy回去，再把資料庫還原回去，然後再重起Web Server即可。<br /> <br /> [b]Subverson的備份跟還原[/b]<br /> 1.備份Subversion的repository <br /> [code]svnadmin hotcopy /path/to/reponame /path/to/backupdir[/code]<br /> 例如：<br /> svnadmin hotcopy /home/andowson/repos/webmail /tmp/webmailrepo<br /> 這個指令單純的將repository的目錄複製一份出來<br /> <br /> 2.還原Subversion的repository <br /> 只要將先前用hotcopy備份的目錄複製回去即可<br /> <br /> 參考資料：<br /> http://trac.edgewall.org/wiki/TracBackup<br /> http://svnbook.red-bean.com/en/1.1/ch05s03.html<br /> http://wiki.archlinux.org/index.php/Subversion_backup_and_restore<br /> http://rory.cba.tw/rewrite.php/read-95.html]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/544.page</guid>
				<link>http://www.andowson.com/posts/preList/20/544.page</link>
				<pubDate><![CDATA[Sun, 21 Dec 2008 20:54:59]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
	</channel>
</rss>
