2010년 3월 1일 월요일

CentOS5에 SVN과 Trac Install하기

CentOS5에 SVN과 Trac Install하기 - 1


SVN과 Trac의 설치
SVN은 프로그램을 수정함에 따라서 그에 따른 version을 관리해 준다. 이와 연동하여 Trac은 이를 웹 브라우저를 통해 소스의 변동사항을 보기 쉽게 나타내 주며, 또 버그에 대한 리포팅 등도 사용할 수 있게 된다.
여러 사람이 함께 작업하는 프로젝트에서 서로간의 의사소통과 소스의 공유는 필수적이다. 이 두 프로그램은 변동된 사항에 대해 즉각적으로 대응하고, 변동사항이 무엇인지를 확실하게 파악해 서로간의 의사소통이 원활하게 이루어 질 수 있도록 할 것이다.

CentOS에 개발툴인 SVN과 Trac을 설치하여 사용하려고 한다. 다음의 순서를 따르게 되며, 이 포스트는 다음의 사이트를 참조하였다.
  References:
- http://www.daniel-skinner.co.uk/setup-subversion-and-trac-on-centos-5/06/01/2008
- http://www.techyouruniverse.com/software/installing-trac-with-subversion-on-cent-os-5-with-neon-and-quicksilver

1. 먼저 SVN과 mod_dav_svn을 설치한다.


- yum install subversion mod_dav_svn
   다음의 설정 파일을 연 후 다음 두 문장이 존재하지 않을 경우 이를 추가해 준다.
- vim /etc/httpd/conf/httpd.conf

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

2. 다음의 과정을 거쳐 Trac을 설치한다.


1) python과 그와 관련된 것들을 설치한다.
  - yum install python
    Apache가 python script를 사용할 수 있도록 mod_python을 설치한다.

 

 - yum install gcc* cpp* compat* flex* -y

    gcc 등 관련 모듈들을 설치한다.

  - yum install mod_python
    python이 MySQL을 사용할 수 있도록 MySQL-python을 설치한다.
    이 과정은 먼저 다음의 주소에서 다운로드 후 압축을 해제 한다.

  - http://sourceforge.net/projects/mysql-python
    압축을 해제한 디렉토리로 이동하여 다음 명령어를 통해 설치한다.

    tar -zxvf

   -  setuptools 을 설치한다.

  - yum install python-setuptools

 

  -그 밖의 Trac의 설치에 필요한 개발 툴들을 설치 한다.
  - yum install neon neon-devel python-devel swig


- python setup.py build && python setup.py install

 

3) Trac이 사용하는 Tamplating package인 Clearsilver를 설치한다.
  - wget http://dag.wieers.com/rpm/packages/clearsilver/clearsilver-0.10.4-1.el5.rf.i386.rpm
  - rpm -i clearsilver-0.10.4-1.el5.rf.i386.rpm
  - wget http://dag.wieers.com/rpm/packages/clearsilver/python-clearsilver-0.10.4-1.el5.rf.i386.rpm
  - rpm -i python-clearsilver-0.10.4-1.el5.rf.i386.rpm

4) Trac을 설치한다.
    먼저 다음의 주소에서 다운로드 후 압축을 해제 한다.
  - http://trac.edgewall.org/wiki/TracDownload
    압축 해제한 디렉토리로 이동하여 다음의 명령어를 통해 설치한다.
  - python ./setup.py install

여기까지 거치고 나면 SVN과 Trac의 설치는 완료되었다.
이제 SVN과 Trac에 프로젝트를 관리하기 위한 공간을 생성해 실제로 사용할 수 있도록 해야 한다.

CentOS5에 SVN과 Trac Install 하기 - 2


SVN repository와 Trac 연결


SVN과 Trac을 이용하여 프로젝트를 관리하기 위해 SVN과 Trac을 설치 하였다면 이제 SVN과 Trac에 프로젝트를 관리하기 위한 repository를 생성해 실제로 사용할 수 있도록 해야 한다. 이 과정은 다음과 같다.

1. 먼저 SVN에 프로젝트에 대한 repository을 마련한다.


   이 때 중요한 것은 <project> 앞까지의 경로들에 대한 디렉토리들은 미리 생성되어 있어야 한다.
- svnadmin create --fs-type fsfs /srv/svn/<project>

2. SVN에서 생성한 repository를 Trac에 초기화 시킨다.


- trac-admin /srv/trac/<project> initenv
   이 때 trac-admin은 default 경로로 /srv/svn/<project>를 나타낸다. 만약 그렇지 않도록 설정하려면 따로 지정 해 주어야 한다.

3. Apache에 생성한 파일들에 대한 접근 권한을 부여한다.


- chown -R apache.apache /srv/svn/<project>
- chown -R apache.apache /srv/trac/<project>

4. SVN repository를 위한 새로운 Apache config 파일을 생성하여 Apache가 SVN repository 경로를 알수 있게 한다.


- vim /etc/httpd/conf.d/subversion.conf
   위와 같이 설정 파일을 열고 다음의 문구를 추가한다.

<Location /svn/<project>>
  DAV svn
  SVNPath /srv/svn/<project>
  AuthType Basic
  AuthName "<project> Repository"
  AuthzSVNAccessFile /srv/svn/svn-acl-conf
  AuthUserFile /srv/svn/<project>.htpasswd
  Require valid-user
</Location>

이렇게 함으로써 SVN repository 생성까지 마쳤다. 이제 repository에 접근하기 위한 user를 생성하면 모든 작업이 마무리 된다.

CentOS5에 SVN과 Trac Install 하기 - 3


Apache설정과 user 등록


SVN repository를 생성하고 나면 이제 SVN repository에 접근 할 수 있는 user를 생성해야 한다. 그 과정은 다음과 같다.

1. 먼저 SVN repository의 user를 관리하는 file을 생성한다.


- touch /srv/svn/<project>.htpasswd

2. 그리고 user를 추가한다.


- htpasswd -m /srv/svn/<project>.htpasswd <username>

3. SVN Access control list를 작성하여 user의 접근권한을 설정 한다.


   먼저 다음 파일을 만든다.
- vim /srv/svn/svn-acl-conf
   그 후 다음의 지시어를 추가한다.

[<project>:/]
<username> =  rw

4. Apache에 Trac에 대한 정보를 제공하기 위해 새로운 설정파일을 생성한다.


   먼저 파일을 생성한다.
- vim /etc/httpd/conf.d/trac.conf
   그리고 다음의 지시어를 추가한다.

<Location /trac/<project>>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnv /srv/trac/<project>
  PythonOption TracUriRoot /trac/<project>
</Location>

<Location "/trac/<project>/login">
  AuthType Basic
  AuthName "trac"
  AuthUserFile /srv/trac/<project>.htpasswd
  Require valid-user
</Location>

5. Trac user를 관리하는 파일을 생성한다.


- touch /srv/trac/<project>.htpasswd

6. Trac user를 추가한다.


- htpasswd -m /srv/trac/<project>.htpasswd <username>

7. 생성된 Trac user 중 admin을 지정한다.


- trac-admin /srv/trac/<project> permission add <username> TRAC_ADMIN

8. Apache를 재시작한다.


- service httpd restart

이 과정까지 마치고 나면 SVN과 Trac을 위한 기본적인 사항은 모두 셋팅이 완료되었다고 할 수 있다.
이제 Browser로 IP/trac/<project>에 접속하면 Trac 화면을 볼 수 있을 것이다.(user로 login도 가능하다.)

[출처] CentOS5에 SVN과 Trac Install 하기 - 3|작성자 살인머릿결

댓글 없음:

댓글 쓰기