E D R S I H C RSS
IssueTrackingSystem[http]Trac의 설치와 설정 과정을 간략하게 정리하면 다음과 같다.

Contents

1 Trac 설치
2 프로젝트 생성
2.1 svn repository 생성
2.2 trac-admin 으로 프로젝트 환경 생성
3 시스템 환경 설정
3.1 httpd.conf 설정
3.2 접근권한 조정
3.3 사용자 계정 생성
4 프로젝트 환경 설정
4.1 Trac:TracIni편집
4.2 모듈 설치
4.2.1 모듈 설치 방법
4.2.2 권장 모듈
4.2.2.1 webadmin
4.3 Milestone, Component 등 설정


1 Trac 설치 #

Trac:TracInstall에 요구사항이 있지만, ports로 설치하면 필요한 ports를 알아서 설치한다.

FreeBSD 에서는 ports 를 통해서 설치한다.

# cd /usr/ports/www/trac ; make install clean

2 프로젝트 생성 #

프로젝스 생성은 svn 으로 repository를 만들고 trac-admin 으로 프로젝트를 만들고 필요한 파일을 복사하는 과정을 거친다.

2.1 svn repository 생성 #

svn repository 를 저장할 공간을 정하고 다음과 같은 명령으로 repo를 생성한다. repo 에는 apache의 rw 권한이 있어야 한다.


# svnadmin create --fs-type=fsfs /var/svn/trac
# chmod -R a+rw /var/svn/trac

2.2 trac-admin 으로 프로젝트 환경 생성 #


$ trac-admin ~/public_html/myproject initenv

위와 같은 식으로 명령을 한 뒤 대화식으로 절차에 따라 다음 네 항목을 입력하면 프로젝트 환경이 만들어진다.
  • Project Name My Project>
  • Database connection string [sqlite:db/trac.db]>
    • pgsql 을 사용 가능
  • Path to repository /var/svn/test> /home/hanbyeol/trac
    • svnadmin 으로 생성한 repository 경로 입력
  • Templates directory /usr/local/share/trac/templates>

프로젝트 환경 등록 과정의 결과는 다음과 같다.

Creating a new Trac environment at /home/hanbyeol/public_html/myproject

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

 Please enter the name of your project.
 This name will be used in page titles and descriptions.

Project Name [My Project]>

 Please specify the connection string for the database to use.
 By default, a local SQLite database is created in the environment
 directory. It is also possible to use an already existing
 PostgreSQL database (check the Trac documentation for the exact
 connection string syntax).

Database connection string [sqlite:db/trac.db]>

 Please specify the absolute path to the project Subversion repository.
 Repository must be local, and trac-admin requires read+write
 permission to initialize the Trac database.

Path to repository [/var/svn/test]> /home/hanbyeol/trac

 Please enter location of Trac page templates.
 Default is the location of the site-wide templates installed with Trac.

Templates directory [/usr/local/share/trac/templates]>

Creating and Initializing Project
 Configuring Project
  trac.repository_dir
  trac.database
  trac.templates_dir
  project.name
 Installing default wiki pages
 /usr/local/share/trac/wiki-default/CamelCase => CamelCase
 /usr/local/share/trac/wiki-default/RecentChanges => RecentChanges
 /usr/local/share/trac/wiki-default/SandBox => SandBox
 /usr/local/share/trac/wiki-default/TitleIndex => TitleIndex
 /usr/local/share/trac/wiki-default/TracAccessibility => TracAccessibility
 /usr/local/share/trac/wiki-default/TracAdmin => TracAdmin
 /usr/local/share/trac/wiki-default/TracBackup => TracBackup
 /usr/local/share/trac/wiki-default/TracBrowser => TracBrowser
 /usr/local/share/trac/wiki-default/TracCgi => TracCgi
 /usr/local/share/trac/wiki-default/TracChangeset => TracChangeset
 /usr/local/share/trac/wiki-default/TracEnvironment => TracEnvironment
 /usr/local/share/trac/wiki-default/TracFastCgi => TracFastCgi
 /usr/local/share/trac/wiki-default/TracGuide => TracGuide
 /usr/local/share/trac/wiki-default/TracImport => TracImport
 /usr/local/share/trac/wiki-default/TracIni => TracIni
 /usr/local/share/trac/wiki-default/TracInstall => TracInstall
 /usr/local/share/trac/wiki-default/TracInterfaceCustomization => TracInterfaceCustomization
 /usr/local/share/trac/wiki-default/TracLinks => TracLinks
 /usr/local/share/trac/wiki-default/TracLogging => TracLogging
 /usr/local/share/trac/wiki-default/TracModPython => TracModPython
 /usr/local/share/trac/wiki-default/TracNotification => TracNotification
 /usr/local/share/trac/wiki-default/TracPermissions => TracPermissions
 /usr/local/share/trac/wiki-default/TracPlugins => TracPlugins
 /usr/local/share/trac/wiki-default/TracQuery => TracQuery
 /usr/local/share/trac/wiki-default/TracReports => TracReports
 /usr/local/share/trac/wiki-default/TracRoadmap => TracRoadmap
 /usr/local/share/trac/wiki-default/TracRss => TracRss
 /usr/local/share/trac/wiki-default/TracSearch => TracSearch
 /usr/local/share/trac/wiki-default/TracStandalone => TracStandalone
 /usr/local/share/trac/wiki-default/TracSupport => TracSupport
 /usr/local/share/trac/wiki-default/TracSyntaxColoring => TracSyntaxColoring
 /usr/local/share/trac/wiki-default/TracTickets => TracTickets
 /usr/local/share/trac/wiki-default/TracTicketsCustomFields => TracTicketsCustomFields
 /usr/local/share/trac/wiki-default/TracTimeline => TracTimeline
 /usr/local/share/trac/wiki-default/TracUnicode => TracUnicode
 /usr/local/share/trac/wiki-default/TracUpgrade => TracUpgrade
 /usr/local/share/trac/wiki-default/TracWiki => TracWiki
 /usr/local/share/trac/wiki-default/WikiDeletePage => WikiDeletePage
 /usr/local/share/trac/wiki-default/WikiFormatting => WikiFormatting
 /usr/local/share/trac/wiki-default/WikiHtml => WikiHtml
 /usr/local/share/trac/wiki-default/WikiMacros => WikiMacros
 /usr/local/share/trac/wiki-default/WikiNewPage => WikiNewPage
 /usr/local/share/trac/wiki-default/WikiPageNames => WikiPageNames
 /usr/local/share/trac/wiki-default/WikiProcessors => WikiProcessors
 /usr/local/share/trac/wiki-default/WikiRestructuredText => WikiRestructuredText
 /usr/local/share/trac/wiki-default/WikiRestructuredTextLinks => WikiRestructuredTextLinks
 /usr/local/share/trac/wiki-default/WikiStart => WikiStart
 Indexing repository

---------------------------------------------------------------------
Project environment for 'My Project' created.

You may now configure the environment by editing the file:

  /home/hanbyeol/public_html/myproject/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

  tracd --port 8000 /home/hanbyeol/public_html/myproject

Then point your browser to http://localhost:8000/myproject.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

  http://projects.edgewall.com/trac/

Congratulations!


3 시스템 환경 설정 #

3.1 httpd.conf 설정 #

Trac은 Apache 에서 Trac:TracCgi, Trac:TracFastCgi, Trac:TracModPython세가지 방식으로 동작시킬 수 있다. 여기서는 Trac:TracCgi를 선택하였다.

설정시 주의해야할 부분은 다음과 같다.
  • 접근권한 설정
  • 환경 설정
  • ScriptAlias /trac "/usr/local/share/trac/cgi-bin/trac.cgi"Alias /trac/chrome/common "/usr/local/share/trac/htdocs" 보다 앞에 있으면 경로를 인식하지 못하는 문제가 생긴다.

trac 을 설정한 httpd.conf 부분은 아래와 같다.


    # trac
    <Directory "/usr/local/share/trac/cgi-bin">
        Options FollowSymLinks ExecCGI
        Order allow,deny
        Allow from all
    </Directory>

    Alias /trac/chrome/common "/usr/local/share/trac/htdocs"
    <Directory "/usr/local/share/trac/htdocs">
        Order allow,deny
        Allow from all
    </Directory>

    <Location "/trac/login">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile /home/hanbyeol/etc/htpasswd
        AuthGroupFile /home/hanbyeol/etc/htgroup
        #require user hanbyeol
        require group trac
    </Location>

    ScriptAlias /trac "/usr/local/share/trac/cgi-bin/trac.cgi"
    <Location "/trac">
        SetEnv TRAC_ENV "/home/hanbyeol/public_html/trac"
        SetEnv PYTHON_EGG_CACHE "/var/cache/egg"
    </Location>

3.2 접근권한 조정 #

프로젝트 환경에서 다음 디렉토리 또는 파일은 apache가 rw할 수 있어야 한다.
  • attachments
  • conf/trac.ini
    • webadmin 으로 관리하기 위해서는 필요
  • db
  • log

3.3 사용자 계정 생성 #


$ htpasswd -c ~/etc/htpasswd admin
$ echo "trac : admin" >> ~/etc/htgroup

4 프로젝트 환경 설정 #


4.1 Trac:TracIni편집 #


[trac]
default_charset = UTF-8
...
[project]
url = http://jongyeob.com/trac
...

4.2 모듈 설치 #

Trac:PluginList모듈 설치에 대한 기본 설명이 들어 있다. Trac:PluginList에 주요한 모듈 목록이 있으면 [http]Trac Hacks 에는 더 많은 모듈이 있다.

Trac Plugin 은 [http]Python Eggs 방식으로 설치가 된다. - 물론 다른 방식으로도 설치가 가능하다.

Python Eggs를 사용하기 위해서는 [http]setuptools가 필요한데 FreeBSD 에서는 다음과 같이 설치한다.


# cd /usr/ports/devel/py-setuptools ; make install clean

4.2.1 모듈 설치 방법 #


모듈을 내려받아 설치하는 과정은 다음과 같다.
  • 해당 플러그인 소스 내려받기
  • egg 생성
  • egg를 특정 위치로 복사
  • easy-install.pth 에 해당 egg 경로 입력
  • Trac:TracIni에 플러그인 옵션 등록

이 과정을 명령어로 표현하면 아래와 같다.


# svn export %URL%
# cd %DIR% /* 패키지가 있는 폴더로 이동 */
# python setup.py bdist_egg
# cp build/%EGG_FILE% /usr/local/lib/python2.4/site-packages /* egg 파일 복사 */
# echo "/usr/local/lib/python2.4/site-packages/%EGG_FILE% >> /usr/local/lib/python2.4/site-package/easy-install.pth /* egg 파일의 경로를 추가 */

그리고 나서, Trac:TracIni파일에 설정한다.

4.2.2 권장 모듈 #

Trac:PluginList에서 권장하는 모듈과 설정 방법은 이렇다.


4.2.2.1 webadmin #
webadmin은 커맨드 trac-admin 대신에 admin 권한으로 trac 상에서 설정할 수 있는 아주 유용한 모듈이다.

모듈을 설치하고 Trac:TracIni에서 다음과 같이 설정한다.

[components]
webadmin.* = enabled

FreeBSD 에서는 /usr/ports/www/trac-webadmin 으로 설치한다.

4.3 Milestone, Component 등 설정 #


powered by MoniWiki Powered by FreeBSD DNS Powered by DNSEver.com
last modified 2006-03-06 17:41:13
Processing time 0.1077 sec