= Trac 저장소 =

Trac은 프로젝트의 데이타를 저장하기 위해서 디렉토리 구조와 데이타베이스를 사용합니다.

== Trac 저장소 만들기 ==

새로운 Trac 저장소는 [wiki:TracAdmin trac-admin] 명령어를 사용해서 만들어집니다.:
{{{
$ trac-admin /path/to/projectenv initenv
}}}
[wiki:TracAdmin trac-admin] 명령은 프로젝트의 이름과 데이타베이스 연결 스트링(아래에 설명된), 그리고 subversion 저장소의 위치를 물을 것입니다.

  ''주의: 웹 서버 사용자는 저장소 디렉토리와 내부의 모든 파일에 대한  파일 시스템의 쓰기 권한을 필요로 합니다. 적당한 권한을 설정해야함을 기억하십시오. 이것은 Subversion 저장소에 대해서도 마찬가지입니다. 하지만 BDB 파일 시스템을 사용하고 있지 않다면 Trac은 읽기 권한만을 필요로 할 것입니다.

== 데이타베이스 연결 스트링 ==

버전 0.9 이후에, Trac은 데이타베이스로 [http://sqlite.org/ SQLite]와 [http://www.postgresql.org/ PostgreSQL]을 둘 다 지원합니다. 기본적으로는 대부분의 프로젝트에 대해서 충분한 [http://sqlite.org/ SQLite]를 사용합니다. 데이타베이스 파일은 저장소에 저장되고, 저장소의 나머지 부분들과 함께 쉽게 [wiki:TracBackup 백업]할 수 있습니다.

임베디드 SQLite 데이타베이스에 대한 연결 스트링은:
{{{
sqlite:db/trac.db
}}}

만약 SQLite 대신에 PostgreSQL을 사용하기를 원한다면, 다른 연결 스트링을 사용해야만 합니다. 예를 들면, 같은 머신의 `trac`이라는 데이타베이스에 `johndoe` 사용자와 `letmein` 패스워드를 사용해서 접속하기 위해서는 다음과 같이 사용해야 합니다.:
{{{
postgres://johndoe:letmein@localhost/trac
}}}

만약 PostgreSQL이 표준 포트(예를 들면 9342)가 아닌 포트에서 동작하고 있다면:
{{{
postgres://johndoe:letmein@localhost:9342/trac
}}}

`trac-admin initenv` 명령을 수행하기 전에 PostgreSQL를 사용해서 데이타베이스를 생성해야만 합니다.

== 디렉토리 구조 ==

Trac 저장소 디렉토리는 일반적으로 다음의 파일과 디렉토리들로 구성되어 있습니다.:

 * `README` - 저장소에 대한 상세한 설명.
 * `VERSION` - 저장소의 버전 ID가 들어있는 파일.
 * `attachments` - 위키와 티켓의 첨부파일이 여기에 저장됩니다.
 * `conf`
   * `trac.ini` - 메인 환경설정 파일. [wiki:TracIni] 페이지를 참고하십시오.
 * `db`
   * `trac.db` - SQLite 데이타베이스 (SQLite를 사용하고 있다면).
 * `plugins` - 해당 Trac 저장소에 해당하는 [wiki:TracPlugins plugin]들 (Python eggs)
 * `templates` - 해당 저장소에 해당하는 템플릿트.
   * `site_css.cs` - 해당 저장소에 해당하는 CSS 규칙들.
   * `site_footer.cs` - 해당 저장소에 해당하는 page footer.
   * `site_header.cs` - 해당 저장소에 해당하는 page header.
 * `wiki-macros` - 해당 저장소에 해당하는 [wiki:WikiMacros 위키 매크로들].

----
참고 : TracAdmin, TracBackup, TracIni, TracGuide
