위즈군의 라이프로그
Reboot... Search /

[Fedora 9] Subversion + Trac 설치

2008. 12. 24. 16:55

0. 들어가기 전에

이 글은 [Fedora 9] 간단하게 리눅스 서버 만들기의 일부로 작성된 글입니다.
"[Fedora 9] 간단하게 리눅스 서버 만들기" 글을 작성하는 동안 Fedora Core 10이 정식으로 릴리즈 되었습니다. 그리고 Subversion 과 Trac 설치 관련 내용은 참고 자료들이 많이 있기 때문에 여기에서는 간단하게 설정하는 방법과 로그형식으로 빠르게 넘어가도록 하겠습니다.
개별 기능들에 대한 내용은 전체적인 흐름과 환경에 영향을 받을 수 있다는 점을 참고하세요. 목표 시스템은 아래와 같습니다.

3차 목표 시스템 (Fedora Core 9 + Apache + PHP + MySQL + fastCGI + Textcube + Trac + Subversion + OpenSSL)
Linux : Linux reds 2.6.25.14 (Fedora Core 9)
Apache : httpd-2.2.9-1
PHP : php-5.2.6-2
MySQL : mysql-5.0.51

ProFTP :
fastCGI : mod_fcgid-2.2
Textcube : Textcube 1.7.5

Trac : trac-0.10.4
Subversion : subvresion-1.4.6

1. 설치 환경 구성

SSL을 이용해 Subversion과 Trac으로 전송되는 내용이 암호화 되도록 구성하고, 한번의 인증으로 Subversion과 Trac을 사용할 수 있도록 구성합니다.

예제로 사용되는 설정은 아래와 같습니다.
프로젝트명 : wiz Project
프로젝트 경로 : /var/local/wizp/
SVN Repo 경로 : /var/local/wizp/svn/wizp/
Trac 경로 : /var/local/wizp/trac/
SSL 인증서 경로 : /var/local/wizp/wizCK.key  /var/local/wizp/wizCK.crt
계정정보 경로 : /var/local/wizp/users_passwd

SSL 설정 부분은 "OpenSSL 설치하기"를 참고하세요.

2. Trac 과 Subversion 설치

// yum 을 trac subversion python 모듈을 설치 합니다.
# yum install trac subversion mod_python

간단하게 yum을 이용해 Trac, Subversion, Python 모듈을 설치 해줍니다.

3. Trac 과 Subversion 설정

3.1 사용자 계정 연동

// 사용자 정보 생성 htpasswd : -c : 파일 생성하기. 처음 실행할 때 1번만 주면 된다. -m : MD5 암호화하기.
// 사용자 및 파일 생성 패스워드 파일 생성

# htpasswd -cm /var/local/wizp_set/users_passwd wiz
New password: ***** (암호 입력)
Re-type new password: ***** (암호 다시 입력)
Adding password for user wiz

별도의 계정파일을 사용하기 위해 htpasswd를 이용해 계정 정보를 생성해줍니다.

3.2 Subversion 설정

// 프로젝트 디렉토리 생성
# mkdir -p /var/local/wizp/svn/
// 디렉토리 권한 설정
# chmod 2770 /var/local/wizp/svn/wizp/

// 리포지터리(repository) 설정
# svnadmin create /var/local/wizp/svn/wizp/
// 파일 생성 확인

// Trac을 위한 프로젝트 구조 설정 (경로 앞에 file://localhost 를 붙여야한다.)
# svn mkdir file://localhost/var/local/wizp/svn/wizp/branches -m "initial structure branches"
# svn mkdir file://localhost/var/local/wizp/svn/wizp/tags -m "initial structure tags"
# svn mkdir file://localhost/var/local/wizp/svn/wizp/trunk -m "initial structure trunk"

좀 더 자세한 권한 설정 옵션은 http://svnbook.red-bean.com/en/1.0/ch06s04.html 참조하면 됩니다. 트랙 기본 구조설정은 일반적으로 사용하는 branches, tags, trunk로 구성했지만 해당 프로젝트에 적당하게 구성해주면 됩니다.

3.3 Trac 설정

// 프로젝트 생성
# trac-admin /var/local/wizp/trac initenv
Creating a new Trac environment at /var/local/wizp/trac
<... 중략 ...>
Congratulations!
// 아파치 계정으로 소유를 변경한다.
# chown -R apache:apache ./trac/
// 관리자 권한 추가
# trac-admin /wiz_proj/dev.isblog/trac/ permission add wiz TRAC_ADMIN
// 아파치 계정으로 소유를 변경한다.
# chown -R apache:apache ./trac/
// webAdmin Plugin 설치
# yum install trac-webadmin
// webadmin 설치
# cd /usr/lib/python2.5/site-packages/webadmin
// trac 설정 파일 수정
# vi /var/local/wizp/trac/conf/trac.ini
// 설정 파일 수정
# vi trac.ini
[components]
webadmin.* = enabled

Trac의 기본적인 프로젝트 설정은 trac.ini 파일을 수정해서 변경이 가능합니다. 

3.4 아파치 설정

// 서브버전 설정을 수정 합니다.
# vi /etc/httpd/conf.d/sebversion.conf
// 모듈 추가
 LoadModule dav_module         modules/mod_dav.so
 LoadModule dav_svn_module     modules/mod_dav_svn.so
 LoadModule authz_svn_module   modules/mod_authz_svn.so

// httpd.conf 파일 수정
# vi /etc/httpd/conf/httpd.conf
// 별도 권한 파일을 사용하기 위해 authn_file_module 로딩
LoadModule authn_file_module  modules/mod_authn_file.so
// 아파치 설정 - 가상호스트(virtual host) 설정
<VirtualHost *:443>
  ServerName dev.isblog.joins.com
  DocumentRoot /wiz_proj/dev.isblog/
  SSLEngine On
  SSLProtocol -all +TLSv1 +SSLv3
  SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
  SSLOptions +StrictRequire
  SSLVerifyClient none
  SSLCertificateFile     /wiz_proj/dev.isblog/wizCK.crt
  SSLCertificateKeyFile  /wiz_proj/dev.isblog/wizCK.key
  <Location /svn>
    DAV svn
    #SVNParentPath /wiz_proj/dev.isblog/svn/
    SVNPath /wiz_proj/dev.isblog/svn/
    <LimitExcept GET PROPFIND OPTIONS REPORT>
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /wiz_proj/dev.isblog/user_passwd
      #AuthzSVNAccessFile /wiz_proj/dev.isblog/svn/conf/authz
      #SVNPath /wiz_proj/dev.isblog/svn
      Require valid-user
    </LimitExcept>
  </Location>
  <Location /trac>
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv    /wiz_proj/dev.isblog/trac/
    <LimitExcept GET PROPFIND OPTIONS REPORT>
      AuthType Basic
      AuthName "Trac, Issue Tracking and Documenting"
      AuthUserFile /wiz_proj/dev.isblog/user_passwd
      Require valid-user
    </LimitExcept>
  </Location>
</VirtualHost>
// 아파치 재시작

이후에 작업할 Trac과 Subversion의 Virtual Host 설정에 인증서를 사용할 수 있도록 구성을 한 예제 입니다.
서비스 상황에 다라 적절히 수정해서 사용이 가능합니다.
실제 서비스에 사용할 경우 공인 인증 기관에서 인증을 받아야 합니다. 그렇지 않을 경우 신뢰 할 수 없는 인증서라는 경고가 뜨지만 그냥 무시하고 사용은 가능합니다.

3. 관련글

* 간단하게 리눅스 서버 만들기
외부참고 링크
* Subversion, Trac, SSL 함께 설치하기.
* 프로젝트 관리 도구 trac 설치 방법(초안)
* Setting Up Subversion And Trac As Virtual Hosts On An Ubuntu Server
* Trac Installation Guide for 0.11
* Fedora Core 6(x86_32) + DNS + sendmail + dovecot + APM(RPM) + APM(SOURCE COMPILE)
* trac, subversion and apache on Fedora
* httpd, the Apache HTTP server

Category&Tag : [정리중/Linux & PHP]
위즈군의 라이프로그

Category

전체 (564)
개발 (0)
일반정보 (0)
IT 일반 (1)
일상&사진 (0)
정리중 (563)

Recent Entry

    Recent Comments

      Recent Trackbacks

        Tags

        Links

          Total:
          Today: / Yesterday:
          Powered by Tistory / Skin by 위즈 라이센스정책 rss 2.0