참조: 한울프로젝트 개발환경구축
참조: 한울프로젝트 Trac Trouble Shooting
Apache 2.2.11에 Trac와 Subversion 설치
yum을 사용하여 mod_python, Genshi, setuptools, Trac, Subversion 설치
yum을 이용한 설치와 chgrp, chmod를 제외한 작업은 일반 유저로 가능
yum을 이용한 Trac를 사용하여 셋팅하는 경우 에러가 발생하면
yum으로 설치한 Trac는 삭제한 후 easy_install Trac 명령어를 사용하여 새로 설치
ex) yum install mod_python 또는 yum install trac\*
trac관련 프로그램들은 모두 설치 가능, 능력것 사용하길 바랍니다. ㅠㅠ
추후에 esay_install을 이용하여 Trac plug-in 설치하지 말것.
Subversion
ex) /data/svn :프로젝트 폴더 /YOUR/PROJECT/SVN_DIRECTORY
svn 저장소 만들기
cd /YOUR/PROJECT/SVN_DIRECTORY
svnadmin create PROJECT_NAME --fs-type fsfs
svn 권한
vi /YOUR/PROJECT/SVN_DIRECTORY/PROJECT_NAME/conf/svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
svn유저만들기
vi /YOUR/PROJECT/SVN_DIRECTORY/PROJECT_NAME/conf/passwd
아이디 = 패스워드 형식으로 추가
user1 = 1234
user2 = 1234
svn 유저 권한
vi /YOUR/ PROJECT/SVN_DIRECTORY/PROJECT_NAME/conf/authz
[group]
admin= user1
users = user2
[/] #전제 svn영역에 대한 권한 설정
@admin = rw
@users = r
* =
[PROJECT_NAME:/] svn중 해당 프로젝트 영역에 대한 권한 설정
@admin = r
user1 = rw
* =
개인 혹은 그룹에 맞게 권한 설정
svn 서버 가동
svnserve -d -r /YOUR/SVN_PROJECT/DIRECOTRY/
Trac
ex) /data/trac :프로젝트 폴더 /YOUR/PROJECT/Trac_DIRECTORY
Trac 사이트 만들기
이미 svnadmin으로 svn repository를 만들어 놓았으므로,
trac 사이트는 쉽게 만들 수 있다.
cd /YOUR/PROJECT/Trac_DIRECTORY
trac-admin PROJECT_NAME initenv
1.생성할 프로젝트 이름을 입력한다. 프로젝트 이름 기입
2.연결할 데이터베이스를 설정한다. 기본 설정을 사용하므로 그냥 엔터
3.사용할 버전 관리 시스템 설정. SVN을 기본 설정 사용 할 것이므로 그냥 엔터
4.버전 관리 시스템 저장소 설정. 이미 SVN에서 만든 Repository를 지정할 것이므로, /path/to/repos 에 /YOUR/PROJECT/SVN_DIECTORY/PROJECT_NAME으로 설정한다.
5.나머지 설정은 그냥 엔터
아파치 연동을 위한 폴더 그룹 설정
chgrp -R apache PROJECT_NAME/
cd PROJECT_NAME
chmod 775 db
chmod 775 db/trac.db
Trac 유저 및 패스워트 설정
cd /YOUR/PROJECT/Trac_DIRECTORY/PROJECT_NAME/conf/
htpasswd -c passwd USER_ID
New Password:
Re-type new password:
기존의 패스워드 파일에 사용자를 추가하려면 -c option은 사용하지 않아도 된다.
Trac와 Apache 연동을 위한 conf 파일 설정
파일이름.conf 형식으로 파일 생성
/etc/httpd/conf.d/ 하위에 trac.conf 수정
trac.conf 파일이 없으면 새로 생성
SetEnv TRAC_ENV /YOUR/PROJECT/Trac_DIRECTORY
</LocationMatch>
<IfModule mod_python.c>
<Location /trac>
SetHandler mod_python
SetEnv PYTHON_EGG_CACHE /usr/lib/python2.5/site-packages/
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /YOUR/PROJECT/Trac_DIRECTORY
PythonOption TracUriRoot /trac
</Location>
<Location /trac/PROJECT_NAME/login>
AuthType Basic
AuthName "Bioneer Pombe"
AuthUserFile /YOUR/PROJECT/Trac_DIRECTORY/PROJECT_NAME/conf/passwd
Require valid-user
</Location>
</IfModule>
Trac 관리자 계정 설정
trac의 계정중 관리자 계정으로 등록하고자 하는 계정을 Trac 관리자 계정으로 등록하는 방법
trac-admin /YOUR/PROJECT/Trac_DIRECTORY/PROJECT_NAME permission add USERID TRAC_ADMIN
Trac.ini 수정
vi /YOUR/PROJECT/Trac_DIRECTORY/PROJECT_NAME/conf/trac.ini
[trac]
default_charset = utf-8
추가
[components]
webadmin.* = enabled
tracsearchall.* = enabled
tractimevisualizerplugin.* = enabled
worklog.* = enabled
tracrpc.* = enabled
tracdnd.* = enabled
burndown.* = enabled
Trac 변경 사항 적용 및 아파치 환경 설정 적용
cd /YOUR/PROJECT/Trac_DIRECTORY/
trac-admin PROJECT_NAME upgrade
trac-admin PROJECT_NAME resync
su
httpd -k stop
httpd -k start
※주의: httpd -k restart 나 apachectl restart 명령어는 적용안되는 듯.
위의 방법대로 셋팅한 경우
PROJECT_NAME의 Trac 사이트 주소는 http://localhost/trac/PROJECT_NAME/
Trac의 사이트 주소 http://localhost/trac/
Trac plugin 설치
http://trac-hacks.org에 다수의 플러그인 존재 설치 하고자 하는 플러그인을 다운받아
설치하면 Ok (그러나 문제 발생 가능성도 있으니 주의)
만약 문제가 발생하는 플러그인을 제거하려면 easy_install 사용하여 제거 가능
easy_install -m plugin_name
Trac 설치 및 설정 후 페이지가 안보이는 경우 해결 방법
1. 대부분의 문제는 SELinux로 인한 보안 문제일 것이다.
chcon -R system_u:object_r:httpd_sys_content_t:s0 /YOUR/PROJECT/Trac_DIRECTORY/
또는
chcon -R -t httpd_sys_content_t /YOUR/PROJECT/Trac_DIRECTORY/
2. (The user apache requires read _and_ write permission to the database
file /var/trac/module_dev/db/trac.db and the directory it is located
in.)
chcon -t httpd_sys_script_rw_t trac.db
chmod 777 /YOUR/PROJECT/Trac_DIRECTORY/PROJECT_NAME/db
chmod 666 /YOUR/PROJECT/Trac_DIRECTORY/PROJECT_NAME/db/trac.db
chown -R apache:apache /YOUR/PROJECT/Trac_DIRECTORY
httpd -k stop
httpd -k start
이 외의 문제에 대해서는 모르니 각자가 해결 한 후 포스팅 하세요~ ^^
Posted by gwlee