http://trac.edgewall.org/wiki/TracInstall 它所依賴的包: *Python, version >= 2.3 //Please keep in mind, that for RPM-based systems you will also need python-devel and python- xml packages. *ClearSilver, version >= 0.9.3 //With python-bindings (./configure --with-python=/usr/bin/python) *A web server capable of executing CGI/FastCGI scripts, or Apache HTTPD with mod_python. * Subversion, version >= 1.0. (>= 1.1.x recommended) * Subversion SWIG Python bindings (not PySVN). *必須的資料庫支持(SQLite,PostgreSQL,MySQL(0.10.4以上版本的trac完全支持). 在安裝之前要先確認這些包是否滿足trac 的要求。 我的就是RH9 版本太低了,結果依賴的包超多。 所有包整理如下: python: http://download.chinaunix.net/do ... esourceID=35&site=1 clearsilver: http://www.clearsilver.net/downloads/ subversion: http://liuyu.blog.51cto.com/183345/48326 mysql_python: http://osdn.dl.sourceforge.net/s ... python-1.2.2.tar.gz mod_python: http://apache.mirror.phpchina.co ... od_python-3.3.1.tgz 三、各個包的安裝方法: 1、python: # tar xjvf Python-2.5.tar.gx # cd Python-2.5 # ./configure --with-apxs=/usr/local/apache/sbin/apxs # make;make install 2、clearsilver: 如果報此錯就說明clearsilver沒有安裝好 TracError: ClearSilver not installed (No module named neo_cgi) # tar xfz clearsilver-0.10.5.tar.gz # cd clearsilver-0.10.5 # ./configure --disable-apache --disable-csharp --disable-ruby --prefix=/usr --with-python=/usr/local/bin/python #sed -i "s@/usr/local/bin/python@/usr/bin/env [email=python@g]python@g[/email] " scripts/document.py #make || return 1 #make install #cd python #PYTHON_SITE=`/usr/local/bin/python -c \ "import sys; print [path for path in sys.path if path.find('site-packages') != -1][0]"` # python setup.py install
3、mysql_python: # tar xfz MySQL-python-1.2.1.tar.gz # cd MySQL-python-1.2.1 # python setup.py build # python setup.py install 在安裝mysql_python之前一定要裝好mysql_client 如果提示無法找到mysql_config vi site.cfg #mysql_config = /usr/local/bin/mysql_config 去掉註釋,改為你mysql_config 所在的路徑 4、mod_python: # tar zxvf mod_python-3.3.1.tar.gz # cd mod_python-3.3.1 # ./configure --with-apxs=/usr/local/apache/sbin/apxs # make # make install 在apache配置文件里加入模塊 vi /usr/local/apache2/conf/httpd.conf LoadModule python_module modules/mod_python.so
四、創建資料庫: # cd /usr/local/mysql # mysqladmin create dbname # mysql -uroot -p > passwd > grant all privileges on dbname.* to [email=dbuser@dbhost]dbuser@dbhost[/email] identified by 'dbpass'; > use dbname; > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; > quit 以本機為例: # mysqladmin create trac # mysql -uroot -p > root(mysql-root 密碼) > grant all privileges on trac.* to [email=trac@localhost]trac@localhost[/email] identified by 'trac'; > use trac; > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; > quit 註:一定要記住這裡創建的資料庫名(trac),用戶名(trac),密碼(trac),主機名(localhost) 因為之後創建trac表的時候需要用到 五、trac的安裝及初始化 # tar zxvf trac-0.10.4.tar.gz # cd trac-0.10.4 # python ./setup.py install 如此處報錯請檢查以上安裝是否有誤。 trac初始化: # trac-admin /usr/local/trac initenv (/usr/loca/trac 目錄會自動創建) Project Name [My Project]> test Database connection string [sqlite:db/trac.db]> mysql://trac:trac@localhost/trac //前面創建資料庫所用的到信息 Repository type [svn]> //這裡為空,直接回車 Path to repository [/path/to/repos]> /usr/local/apache2/svnroot/test //SVN倉庫地址 Templates directory [/usr/local/share/trac/templates]> //這裡為空,直接回車,事先請確認這個路徑 如果以上配置都正確的話,這步是不會報錯的,那麼trac 就已經正常安裝了。 剩下的只是apache的配置了。
六、配置 trac虛擬主機並啟動 # vi /usr/local/apache2/conf/httpd.conf 在未尾加入 :
添加附件的時候報錯 Python Traceback Traceback (most recent call last): File "/usr/local/lib/python2.5/site-packages/trac/web/main.py", line 406, in dispatch_request dispatcher.dispatch(req) File "/usr/local/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch resp = chosen_handler.process_request(req) File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 361, in process_request self._do_save(req, attachment) File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 496, in _do_save attachment.insert(filename, upload.file, size) File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 180, in insert os.makedirs(self.path) File "/usr/local/lib/python2.5/os.py", line 165, in makedirs makedirs(head, mode) File "/usr/local/lib/python2.5/os.py", line 172, in makedirs mkdir(name, mode) OSError: [Errno 13] Permission denied: '/usr/local/trac/attachments/ticket'
補:如果報錯:TracError: Unsupported version control system "svn". Check that the Python bindings for "svn" are correctly installed. 那就是httpd.conf 里少添加了: SetEnv PYTHON_EGG_CACHE /tmp