Installing trac on OSX

2008/08/22
~ 阿亮 ~

Installing trac on OSX with mysql db.

MacOSX 10.5.4 Leopard with MacPorts

◎ 安裝 trac

sudo port install trac +mysql

+mysql 表示可以原 sqlite 改用 mysql.

◎ 安裝資料庫 參考 http://trac.edgewall.org/wiki/MySqlDb 建立 DB

CREATE DATABASE trac_projects DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER tracuser IDENTIFIED BY 'password';
GRANT ALL ON trac_projects.* TO tracuser;

◎ 啟始某目錄做為放置 Trac 的目錄

trac-admin /Users/derjohng/TracDBs/Projects/ initenv

四個步驟

Project Name [My Project]> Projects
Database connection string [sqlite:db/trac.db]>  mysql://tracuser:password@localhost/trac_projects
Repository type [svn]>
Path to repository [/path/to/repos]> /Users/derjohng/SVN_repo/Projects

◎ 可能出現下述錯誤訊息

LookupError: unknown encoding: X-MAC-TRAD-CHINESE

這是 python encoding 的問題,找出

/opt/local/lib/python2.5/site-packages/trac/admin/console.py line:119

encoding = locale.getpreferredencoding() # sys.argv

換成

encoding = 'utf-8'

◎ 設定 httpd.conf

裝完 mod_python

sudo port install mod_python25

然後此行加到 httpd.conf

LoadModule python_module modules/mod_python.so

為每個 Trac DB 設定如下

Alias /trac/Projects/ "/Users/derjohng/TracDBs/Projects/"
<Directory "/Users/derjohng/TracDBs/Projects/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv "/Users/derjohng/TracDBs/Projects/"
    PythonOption TracUriRoot "/trac/Projects"
</Directory>

可能有下述錯誤

[error] make_obcallback: could not import mod_python.apache.
ImportError: No module named mod_python.apache

這是 mod_python 要找 python 路徑出問題,可以檢查是否 python 能用到 MacOSX 舊的,而非 MacPorts 版

看一下 ls /usr/bin/py* 是不是非 MacPorts 的 python 程式仍存在,若是全清掉

再重建 mod_python2.5 之後就可以了

◎ 網頁也可能出現下述錯誤的訊息

LookupError: unknown encoding: X-MAC-TRAD-CHINESE

找出 /opt/local/lib/python2.5/site-packages/trac/util/datefmt.py line:111 的

encoding = locale.getlocale(locale.LC_TIME)[1] or encoding

改成

encoding = 'utf-8'

應該 locale.LC_TIME=X-MAC-TRAD-CHINESE 的緣故

◎ Trac 的 login 機制,是藉由 Apache Authentication 來進行,apache 設定如下:

<Location /trac/Projects/login>
  AuthType Basic
  AuthName "MyProjects"
  AuthUserFile /Users/derjohng/TracDBs/htpasswd_file
  Require valid-user
</Location>

◎ Trac 預設只有匿名旳權限,要用 trac-admin 給予其他使用者的權限,比如

trac-admin /Users/derjohng/TracDBs/Projects/  permission add admin TRAC_ADMIN

即給 admin 有 TRAC_ADMIN 權限。

◎  Browser Source 的網頁瀏覽原本 UTF-8 文字,會變亂碼,找出 TracDBs/Projects/conf/trac.ini 內

default_charset = iso-8859-15

改成

default_charset = utf-8

即可



站內搜尋



本站其他服務

本站其他軟體



  • 下一班火車 (nextRail)

    這個 app 只要開啟後,就根據定位幫你過濾出最近火車站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班火車


  • 油價快訊App (OilPrices)

    依據油價及匯率,估算台灣下週油價,另外提供三週、一年以及三年的歷史變化,以及週末下午推播通知最新油價預估或公告。


  • 當令蔬果花卉(AgriInfo)

    是不是常常在超市看到水果蔬菜的價格,總是不確定是當季蔬果?這個服務就是幫你很快判斷眼前的蔬果花卉的價格是否便宜。


  • 藝文快訊

    讓你可以輕鬆追蹤含有您想要關注關鍵詞的任何藝文活動訊息,只要有最新的資訊,「藝文快訊」即會推播通知給你.


  • 台灣匯率快算

    提供全球 150 種以上貨幣即時換算,以及各種匯率歷史變化圖。


  • 臉書粉絲專頁搜尋 (FPSearch)

    不用登入臉書即可搜尋臉書粉絲專頁(臉書粉絲團)所公開的文章。您可以指定特定日期範圍之前的文章,也可設定搜尋粉絲專頁內包含特定關鍵詞的文章。