Ads 468x60px

##EasyReadMore##

13 8月, 2015

Ubuntu 下安裝 Apache(2.2.14) + Subversion + Trac(1.0.2)

事前說明


預設 klik3 為專案名稱
登入 root
    sudo su

安裝 Subversion


    apt-get install subversion
建立 svn repository 目錄
    mkdir -p /var/svn
建立 klik3 專案
    svnadmin create /svn/klik3

安裝 Apache2


    apt-get install apache2
安裝 mod_python 給 trac 使用
    apt-get install libapache2-mod-python
安裝 dav_svn 給 svn 使用
    apt-get install libapache2-svn
設定 svn for apache2
    vim /etc/apache2/sites-enabled/svn.conf
    或
    vi /etc/apache2/conf-enabled/svn.conf
請輸入下列文字:

<Location /svn>
    DAV svn
    SVNParentPath /var/svn
    SVNListParentPath on
</Location>
cd /etc/apache2/sites-enabled
ln -s ../sites-available/svn.conf svn.conf


重新設定 svn repository 目錄擁有者為 www-data,這樣才可以用 http 讀取。
    chown -R www-data.www-data /svn
重新設定 svn repository 目錄內所有目錄加上 group 寫入權限。
    find /svn -type d|xargs chmod g+sw
重新啟動 apache2
    /etc/init.d/apache2 restart

測試 Subversion

    svn co http://localhost/svn/klik3 /tmp/klik3
    checkout klik3 to /tmp
    cd /tmp/klik3
切換到 svn 專案目錄
    touch index.html
建立一個測試檔案 index.html
    svn add index.html
新增測試檔案 index.html 到 svn
    svn commit -m "Added file"
將變更內容上傳到 svn server,上傳成功會出現下列訊息。
Adding         index.html
Transmitting file data .
Committed revision 1.


安裝 Trac


    apt-get install python-setuptools
安裝 python-setuptools 來安裝 trac,遇到問題請看 註1:
    easy_install http://svn.edgewall.org/repos/trac/tags/trac-1.0.2/
安裝 trac 1.0.2,可以先查看 http://svn.edgewall.org/repos/trac/tags/ 最新版本是多少。
但有些外掛最新的版本會不支援 所以在這裡先裝 trac 1.02 就好了
安裝 python-sqlite 做為 trac 資料庫
    apt-get install python-sqlite
安裝 python-subversion 給 trac 跟 svn 溝通使用
    apt-get install python-subversion
建立 trac project 目錄
    mkdir -p /var/trac
建立 klik3 專案,會詢問二個問題,都直接按 Enter 即可。遇到問題請看 註2:
    trac-admin /var/trac/klik3 initenv

設定 svn for trac


    vi /var/trac/klik3/conf/trac.ini
請在檔案結尾加入下列文字。
[components]
tracopt.versioncontrol.svn.* = enabled
[repositories]
.dir = /svn/klik3
.description = klik3
.type = svn
.url = http://172.20.93.193/svn/klik3
.sync_per_request = true


tracopt.versioncontrol.svn.* //在 trac 1.0 之後,預設 svn 是不支援,需要手動設定開啟。
.dir //設定 svn repository 專案目錄。
.description //svn 專案說明。
.type //repository type。
.url //svn url,會指向在 trac 上的 Repository URL,所以不可以寫 localhost 喔。
.sync_per_request //每一個 http request 自動同步 repository 。

設定 trac for apache2


    vim /etc/apache2/sites-available/trac.conf
    或
    vi /etc/apache2/conf-enabled/trac.conf
請輸入下列文字:

<Location /trac>
    SetHandler mod_python
    PythonInterpreter main_interpreter
    PythonHandler trac.web.modpython_frontend
    PythonOption PYTHON_EGG_CACHE /tmp/python_egg_cache
    PythonOption TracEnvParentDir /var/trac
</Location>

cd /etc/apache2/sites-enabled
ln -s ../sites-available/trac.conf
重新設定 trac 專案目錄擁有者為 www-data,這樣才可以用 http 讀取。
    chown -R www-data.www-data /var/trac
重新設定 trac 專案目錄內所有目錄加上 group 寫入權限。
    find /var/trac -type d|xargs chmod g+sw
重新啟動 apache2
    /etc/init.d/apache2 restart
在 browser 輸入 http://localhost/trac 就可以看到 trac 系統

下一步

Apache + Subversion + Trac 帳戶密碼設定

上一步


Apache、Trac 完全移除及安裝心得

問題排除:


註1:Traceback (most recent call last):


      File "./setup.py", line 162, in <module>
        **extra
      File "/usr/lib/python2.6/distutils/core.py", line 113, in setup
        _setup_distribution = dist = klass(attrs)
      File "/usr/lib/python2.6/dist-packages/setuptools/dist.py", line 221, in __init__
        self.fetch_build_eggs(attrs.pop('setup_requires'))
      File "/usr/lib/python2.6/dist-packages/setuptools/dist.py", line 245, in fetch_build_eggs
        parse_requirements(requires), installer=self.fetch_build_egg
      File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 550, in resolve
        raise VersionConflict(dist,req) # XXX put more info here
    pkg_resources.VersionConflict: (Genshi 0.5.1 (/usr/lib/pymodules/python2.6), Requirement.parse('Genshi>=0.6'))
        代表有些套件沒裝
    apt-get install python-dev

註2:找不到 trac-admin


    /usr/bin/trac-admin: 沒有此一檔案或目錄
    find -name "trac-admin"
    cd /usr/bin/
    ln -s /usr/local/bin/trac-admin

參考資料


http://jyhshin.pixnet.net/blog/post/45073178

0 意見:

張貼留言

 
Blogger Templates