Ubuntu 8.10에서 TRAC 설치하기 - 2  

image 
[지난번 까지 했던 내용은 이런 터미널에서만 작업할 수 있습니다. (아카리는 그냥 게스트 추연…)]

어제 올린 “Ubuntu 8.10에서 TRAC 설치하기 ? 1”에서는 TRAC과 SVN을 설치 & 설정 하는 것 까지만 했습니다. 일단 설치는 했는데 TRAC의 기능을 제대로 활용하기 위해서는 Subversion을 밖에서 접근하고, 관리할 수 있어야 하며 TRAC도 마찬가지로 활용할 수 있어야 합니다. Localhost의 터미널에서만 뛰놀면 말이 안되겠죠. ^^

그런관계로 이번에는 TRAC과 SVN은 Apache와 연동시켜서 http프로토콜을 통해 (간단히 인터넷을 통해) TRAC과 SVN을 사용할 수 있도록 하겠습니다.

ps. TRAC은 둘째치고, SVN의 경우 굳이 Apache와 붙일 필요는 없고 SSH나 자체 프로토콜을 사용할 수 있습니다.


1. Apache 및 관련 Package 설치.

우선 연동 하기에 앞서 Apache 및 관련 모듈을을 설치해야 합니다. 따라서 apache2-threaded-dev, libapache2-mod-python, python-dev, libapache2-svn 정도만 설치하면 왠만한 모듈은 알아서 설치하게 됩니다.

   1: sudo apt-get install apache2-threaded-dev libapache2-svn
   2: sudo apt-get install libapache2-mod-python python-dev 

2. Apache에 SVN과 TRAC을 연동

우선 이부분을 하기에 앞서 SVN과 TRAC의 사용방법은 가지 각색이겠지만 2가지가 있습니다.(일단 제 기준 입니다.)

  • 1개의 SVN과 TRAC의 프로젝트를 만들고 그 안에서 모든 프로젝트들을 관리한다.
    • 장점: 많은 프로젝트를 다 같이 할 때 한번에 모니터링이 가능
    • 단점: 각 프로젝트에 대한 관리가 뒤섞일 수 있음.
    • 권장: 여러 간단한 작업들로만 있는 경우 권장.
  • 개별 프로젝트마다 SVN과 TRAC의 프로젝트를 생성. 독립적으로 관리한다.
    • 장점: 각각 프로젝트마다 관리 하기 때문에 뒤섞일 일이 적고 계정 권한 관리가 쉽다.
    • 단점: 여러 프로젝트에 대해 각각 관리하기 때문에 손이 많이 가고 한번에 모든 모니터링이 불편(?)
    • 권장: 개별 프로젝트 들이 덩치가 큰 경우, 장기 프로젝트 등….

일단 이번에는 2번째 항목인 개별 프로젝트마다의 SVN과 TRAC을 생성해 관리하도록 하는 기능으로 설명하겠습니다. 나머지는 주석 처리한 부분을 푸시고 원래 있던 동급의 내용에 주석처리 하시면 됩니다. ^^

2-1. SVN 올리기

우선 /etc/apache2/mods-available/dav_svn.conf 파일을 열고(없으면 만들면 됩니다.) 다음을 추가 합니다.

   1: <Location /svn>
   2:     DAV svn
   3:     
   4:     # /var/svn/ 으로 저장소의 부모폴더로 연결합니다
   5:     SVNParentPath /var/svn
   6:     # 단 1개의 프로젝트만 사용하면 아래와 같이 SVNPath를 대신 입력합니다
   7:     #SVNPath /var/svn/<Project Name>
   8:     
   9:     # Digest 인증 설정
  10:     AuthType Digest
  11:     AuthName "Repository"
  12:     AuthUserFile /etc/apache2/.htdigest
  13:     
  14:     # Basic 인증 설정
  15:     # JAVA 기반 프로그램들 에서는 Digest인증을 하면
  16:     # Export와 checkout을 못하는 기현상이 일어 나더군요
  17:     # 이런 경우 사용해 주세요
  18:     #AuthType Basic
  19:     #AuthName "Repository"
  20:     #AuthUserFile /etc/apache2/.htpasswd
  21:     
  22:     # Commit 의 접근 억세스 설정
  23:     <LimitExcept REPORT>
  24:         Require valid-user
  25:     </LimitExcept>
  26: </Location>

단 이경우 내용에도 써 있지만 SVNPath와 SVNParentPath는 용도에 따라 둘중 하나만 사용할 수 있습니다. 또 왜인지는 모르겠는데 JAVA 기반인 경우에서는 Digest 인증을 못하더라고요. 그런관계로 이경우에는 어쩔 수 없이 Basic 인증을 사용하면 됩니다. (C 기반 SVN Client는 잘 돌아갑니다.) 일단 인증 파일로 각각 Digest의 경우 /etc/apache2/.htdigest로 Basic의 경우 /etc/apache2/.htpasswd로 했습니다. 각각 만드는 법에 대해서는 Digest만 뒤에 올려두도록 하겠습니다.

이제 Module 설정 파일을 만들었으니 apache에 올리도록 합니다. 올리는 방법은 아래와 같이 사용하면 됩니다. (아시는 분들은 아시겠지만… )

   1: sudo a2enmod dav_svn
   2: sudo a2enmod auth_digest

2-2. TRAC 올리기

TRAC도 마찬가지 방법으로 작성을 해야 합니다. 우선 /etc/apache2/sites-available/trac을 다음과 같이 작성합니다.

   1: # 하나의 TRAC에서 모든 프로젝트를 사용할 때 쓰는 Alias 입니다.
   2: #Alias /trac /var/trac/<Project Name>
   3:  
   4: <Location /trac>
   5:     SetHandler mod_python
   6:     PythonHandler trac.web.modpython_frontend
   7:     # TRAC의 부모 디렉토리 설정. 개별 프로젝트마다 TRAC을 사용할 때 씁니다
   8:     PythonOption TracEnvParentDir /var/trac
   9:     # TRAC 프로젝트 설정. 모든 프로젝트를 하나의 TRAC에서 사용할 때 씁니다
  10:     #PythonOption TracEnv /var/trac/<Project Name>
  11:     PythonOption TracUriRoot /trac
  12:     
  13:     # Digest 인증 설정
  14:     AuthType Digest
  15:     AuthName "Trac"
  16:     AuthUserFile "/etc/apache2/.htdigest"
  17:     Require valid-user
  18:     
  19:     # Basic 인증 설정
  20:     # 앞선 svn 설정과 계정을 맞춰주기 위해 Basic 설정을 쓰는 경우 사용
  21:     #AuthType Basic
  22:     #AuthName "Repository"
  23:     #AuthUserFile /etc/apache2/.htpasswd
  24: </Location>

내용은 SVN을 설정 했을 때와 마찬가지 입니다. 이번에도 마찬가지로 PythonOption으로 준 TracEnvParanetDir과 TracEnv는 둘중에 하나만 사용해야 합니다. 또한 Apache에 적용하기 위해서 다음 명령어로 TRAC을 추가합니다.

   1: sudo a2ensite trac

2-3. TRAC 사용자 계정 설정.

우선 이번글에서는 Digest 설정하는 부분만 넣도록 하겠습니다. 일단 Digest를 위한 사용자의 암호를 넣어야 하는데요. 각각 SVN과 TRAC을 위해 구분시켜서 넣도록 합니다. 단 앞서 올린 포스트에 설정한 관리자 계정도 반드시 포함되어야 합니다!!

   1: user@user-pc:/etc/apache2$ sudo htdigest -c /etc/apache2/.htdigest Repository <User ID>
   2: Adding password for user in realm Repository.
   3: New password: 
   4: Re-type new password: 
   5: user@user-pc:/etc/apache2$ sudo htdigest /etc/apache2/.htdigest Trac <User ID>
   6: Adding user user in realm Trac
   7: New password: 
   8: Re-type new password: 
   9: user@user-pc:/etc/apache2$ sudo chmod 600 /etc/apache2/.htdigest 
  10: user@user-pc:/etc/apache2$ sudo chown www-data.www-data /etc/apache2/.htdigest

3. Apache재 기동

많은 분들이 알고 계시리라 믿습니다만 혹시나 해서 추가합니다.

   1: sudo /etc/init.d/apache2 restart

이걸로 SVN과 Trac을 Apache에 연결시켜서 설정하는 방법 까지 끝났습니다. 이제 남은 것은 TRAC과 SVN을 사용하는 것 뿐이로군요. 실제 접근할 때 필요한 주소들은…

  • TRAC: http://<사용하는 웹 주소>/trac
  • SVN 저장소: http://<사용하는 웹 주소>/svn/<Project Name>

해서 사용하시면 됩니다. 실제 화면은 직업 확인해 보세요.. ^^

by WakanaFan | 2009/02/18 16:00 | Computer | 트랙백(1) | 핑백(1) | 덧글(0)
트랙백 주소 : http://ayasaki.egloos.com/tb/4069282
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Really? Real.. at 2009/02/18 16:18

제목 : Ubuntu 8.10에서 TRAC 설치하기 - 1
갑자기 안하던 짓을 합니다…. 평소에는 이런 종류의 글을 안올리지만 말이죠…. 원노트에 있고 원노트도 꼬박꼬박 백업을 하지만 꼭 막상 사고터지면 모든 노력을 수포로 돌려버리는 관계로 GG치고 다시 삽질을 하기 때문에 일종의 백업 용도로서 사용한다고 해야 할까요.. [여기가 TRAC을 배포하는 사이트(지만 Ubuntu에게는 상관없어용)]어찌되었든 이번에 올리는 건 TRAC 설치하는 법입니다. 정확한 위의 제목은 “Ubuntu 8.10 Ser......more

Linked at 노아 : 프로젝트 관리 시스템.. at 2009/04/01 11:59

... p; / http://ayasaki.egloos.com/40692824. ... more

:         :

:

비공개 덧글

 

<< 이전    다음 >>