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 을 사용 가능
- pgsql 을 사용 가능
- Path to repository /var/svn/test> /home/hanbyeol/trac
- svnadmin 으로 생성한 repository 경로 입력
- 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.1 httpd.conf 설정 #
설정시 주의해야할 부분은 다음과 같다.
- 접근권한 설정
- 환경 설정
- ScriptAlias /trac "/usr/local/share/trac/cgi-bin/trac.cgi"가 Alias /trac/chrome/common "/usr/local/share/trac/htdocs" 보다 앞에 있으면 경로를 인식하지 못하는 문제가 생긴다.
# 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 으로 관리하기 위해서는 필요
- webadmin 으로 관리하기 위해서는 필요
- db
- log
4.2.1 모듈 설치 방법 #
모듈을 내려받아 설치하는 과정은 다음과 같다.
- 해당 플러그인 소스 내려받기
- egg 생성
- egg를 특정 위치로 복사
- easy-install.pth 에 해당 egg 경로 입력
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 파일의 경로를 추가 */








![[http]](/moniwiki/imgs/http.png)


