= Trac 설치 가이드 = 
[[TracGuideToc]]

Trac은 웹 기반의 어플리케이션으로써 개발된 가벼운 프로젝트 관리 툴입니다. Trac은 Python 프로그래밍 언어로 쓰여졌으며 데이타베이스로 [http://sqlite.org/ SQLite] 혹은 [http://www.postgresql.org/ PostgreSQL]을 사용할 수 있습니다. HTML 렌더링을 위해서, Trac은 [http://www.clearsilver.net/ Clearsilver]를 사용합니다.

다음의 내용들은 Trac을 설치하고 설정하는 일반적인 방법과 요구사항들입니다. 특정 시스템에 Trac을 설치하는 방법에 대한 내용은 Trac의 메인 웹사이트에 있는 [http://projects.edgewall.com/trac/wiki/TracInstallPlatforms TracInstallPlatforms] 문서에서 찾을 수 있습니다. 전체적인 설치 절차에 대해서 잘 이해하기 위해서 이 문서 전체를 먼저 읽어주십시오.

== 요구사항 ==

Trac을 설치하기 위해서, 다음의 소프트웨어 패키지들이 설치되어 있어야만 합니다.:
To install Trac, the following software packages must be installed:

 * [http://www.python.org/ Python], version >= 2.3.
   * 윈도우에서 Python 2.4를 사용할 수 없습니다. 왜냐하면 아직 Python 2.4 버전의 Subversion binding이 존재하지 않기 때문입니다.
   * RPM에 기반한 시스템에서는 `python-devel`과 `python-xml` 패키지가 필요할지도 모릅니다.
 * [http://subversion.tigris.org/ Subversion], version >= 1.0. (>= 1.1 recommended) 그리고 적당한 [http://svnbook.red-bean.com/svnbook-1.1/ch08s02.html#svn-ch-8-sect-2.3 Python bindings]
   * Trac은 [http://pysvn.tigris.org/ PySVN](때때로 표준 SWIG bindings으로 오해받는)이 '''아니라''' Subversion 배포버전에 들어있는 [http://www.swig.org/ SWIG] bindings을 사용합니다.
   * 이미 Subversion이 SWIG bindings없이 설치되어 있다면, Subversion을 다시 `설정`하고, `make swig-py`와 `make install-swig-py` 명령을 수행하십시오.
 * [http://www.clearsilver.net/ ClearSilver], version >= 0.9.3
   * With python-bindings (`./configure --with-python=/usr/bin/python`)

=== SQLite에 대해서 ===

 * [http://www.sqlite.org/ SQLite], version 2.8.x or 3.x
 * [http://pysqlite.org/ PySQLite]
   * version 1.0.x (for SQLite 2.8.x)
   * version 1.1.x or 2.x (for SQLite 3.x)

=== PostgreSQL에 대해서 ===

 * [http://www.postgresql.org/ PostgreSQL]
 * [http://initd.org/projects/psycopg1 psycopg1], [http://initd.org/projects/psycopg2 psycopg2], 혹은 [http://pypgsql.sourceforge.net/ pyPgSQL]

=== 부가적인 요구사항들 ===

 * CGI를 지원하는 웹서버 (TracCgi 페이지를 참고하십시오.), 혹은
 * [http://www.fastcgi.com/ FastCGI]를 지원하는 웹서버 (TracFastCgi 페이지를 참고하십시오.), 혹은
 * [http://www.modpython.org/ mod_python 3.1.3+]과 함께 동작하는 [http://httpd.apache.org/ Apache] (TracModPython 페이지를 참고하십시오.)
 * 플러그인을 사용하기 위한 [http://peak.telecommunity.com/DevCenter/setuptools setuptools], version >= 0.5a13 (TracPlugins 페이지를 참고하십시오.)
 * [http://docutils.sourceforge.net/ docutils], version >= 0.3.3 for WikiRestructuredText.
 * [http://silvercity.sourceforge.net/ SilverCity] and/or [http://www.gnu.org/software/enscript/enscript.html Enscript] for [wiki:TracSyntaxColoring syntax highlighting].

'''주의''': 이 요구사항들의 다양한 버전들은 반드시 호환되지는 않습니다. 따라서 위의 버전 넘버에 주의를 기울여 주십시오. 만약 Trac을 운영하는데 문제가 있다면, [http://projects.edgewall.com/trac/wiki/MailingList MailingList]나 [http://projects.edgewall.com/trac/wiki/IrcChannel IrcChannel]에 질문을 올리기 전에 모든 요구사항 패키지들의 링크를 더블클릭해서 확인해보십시오.

설치를 가장 잘 하려면, 이 패키지들의 문서를 참고하십시오. 덧붙여서 대부분의 [http://projects.edgewall.com/trac/wiki/TracInstallPlatforms 플랫폼별 설치방법 문서]들은 이 패키지들의 설치에 대해서 설명하고 있습니다.

== Trac 설치하기 ==

대부분의 Python 프로그램들처럼, 소스 디렉토리의 최상위 디렉토리에 있는 다음의 명령을 수행해서 Trac의 Python 패키지를 설치하십시오.:
{{{
$ python ./setup.py install
}}}

''주의: root 권한이나 이 작업에 적절한 권한을 가지고 있어야만 합니다.''

이 명령은 python 소스 코드를 바이트-컴파일할 것이며, 설치된 Python 디렉토리의 `site-packages` 디렉토리에 그것을 설치할 것입니다. `cgi-bin`, `templates`, `htdocs`, `wiki-default` 그리고 `wiki-macros` 디렉토리 모두를 `$prefix/share/trac/.` 디렉토리에 복사할 것입니다.

또한 이 스크립트는 [wiki:TracAdmin trac-admin] 명령행 툴과 [wiki:TracStandalone tracd] 스탠드얼론 서버를 설치할 것입니다. [wiki:TracAdmin trac-admin] 툴은 [wiki:TracEnvironment Trac 저장소]를 생성하고 관리하는데 사용되어집니다.

=== 진보된 사용자들 ===

Trac을 원하는 위치에 설치하거나, 더 많은 설치 옵션을 보기를 원한다면, 다음 명령을 수행하십시오.:
{{{
$ python ./setup.py --help
}}}

특별히, 다음과 같이 명령을 수행할 수 있습니다.
{{{
$ python ./setup.py install --prefix=/path/you/want
}}}


== Trac 저장소 만들기 ==

[wiki:TracEnvironment Trac 저장소]는 위키페이지, 티켓, 리포트, 설정등과 같은 Trac의 정보들이 저장되는 곳입니다. 저장소는 기본적으로 사람이 읽을 수 있는 설정파일과 다양한 다른 파일들과 디렉토리로 구성된 디렉토리입니다. 

새로운 저장소는 [wiki:TracAdmin trac-admin] 명령을 사용해서 만들어집니다.:
{{{
$ trac-admin /path/to/trac_project_env initenv
}}}

[wiki:TracAdmin trac-admin] will prompt you for the information it needs to create the environment, such as the name of the project, the path to an existing subversion repository, the [wiki:TracEnvironment#DatabaseConnectionStrings database connection string], and so on. If you're not sure what to specify for one of these options, just leave it blank to use the default value. The database connection string in particular will always work as long as you have SQLite installed. The only option where the default value is likely to not work is the path to the Subversion repository, so make sure that one's correct.

또한 여기에서 설정한 값들은 나중에 [wiki:TracIni] 설정 파일을 직접 편집해서 변경할 수 있습니다.

''주의: 웹서버의 사용자 계정은 저장소 디렉토리와 내부의 모든 파일들에 대해서 쓰기 권한을 필요로 합니다.''


== 스탠드얼론 서버로 Trac 사용하기 ==

Trac 저장소를 생성한 후에, [wiki:TracStandalone tracd] 스탠드얼론 서버를 구동해서 웹 인터페이스를 쉽게 확인해 볼 수 있습니다.:
{{{
$ tracd --port 8000 /path/to/projectenv
}}}

위 명령을 실행한 후, 브라우저를 실행시키고 `http://localhost:8000/`로 접속하십시오. tracd가 알고있는 모든 저장소들의 간단한 리스트가 출력될 것입니다. 생성한 저장소의 링크를 따라면 Trac이 동작하는 것을 볼 수 있을 것입니다.


== 웹서버에서 Trac 사용하기 ==

Trac은 "실제" 웹 서버에 접속하기 위한 세 가지의 옵션을 제공합니다. 그 세 가지는 [wiki:TracCgi CGI], [wiki:TracFastCgi FastCGI] 그리고 [wiki:TracModPython mod_python] 입니다. 괜찮은 성능을 원한다면, [wiki:TracFastCgi FastCGI]나 [wiki:TracModPython mod_python]을 사용하는것을 추천합니다.

== Configuring Authentication ==

The process of adding, removing, and configuring user accounts for authentication depends on the specific way you run Trac.  To learn about how to accomplish these tasks, please visit one of the following pages:

 * TracStandalone if you use the standalone server, `tracd`.
 * TracCgi if you use the CGI or FastCGI methods.
 * TracModPython if you use the mod_python method.

== Trac 사용하기 ==

일단 Trac 사이트를 설치하고 동작시켰다면, Subversion 저장소 브라우징, 티켓 생성, 시간이력 보기등을 할 수 있습니다.

anonymous(로그인 하지 않은) 사용자는 모든 기능이 아닌 기본적인 기능에만 접속이 가능하다는 것을 기억하십시오. 전체 기능을 사용하기 위해서 인증정보를 설정하고 인증된 사용자에 대해 추가적인 [wik:TracPermissions 권한]을 허용해 줄 필요가 있을 것입니다.

''Enjoy!''

[http://projects.edgewall.com/trac/wiki/TracTeam The Trac Team]

----
참고 :  TracGuide, TracCgi, TracFastCgi, TracModPython, TracUpgrade, TracPermissions
