Ubuntu 8.10에서 TRAC 설치하기 - 2 Computer

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>

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


핑백

  • 노아 : 프로젝트 관리 시스템 - Trac 2009-04-01 11:59:37 #

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

  • 7Trac | My New GPS 2011-01-14 00:33:22 #

    ... nerated) Related posts &#111;&#110; 7Trac Focus « Code Akimbo Really? Really! : Ubuntu 8.10에서 TRAC 설치하기 &#8211; 2 Posted in GPS | Tags: 7Trac Leave a Reply Click here to c ... more

  • [링크]우분투 10.04에서 trac과 svn 설치/설정하기 2011-08-18 15:34:37 #

    ... , 아래 링크를 따라하면 된다. ^^ 다른 게 하나도 없으니 거짓말은 아닌 것. Ubuntu 8.10에서 TRAC 설치하기 &#8211; 1 Ubuntu 8.10에서 TRAC 설치하기 &#8211; 2 Related posts:trac 에서 svn 저장소 등 환경변수 변경됐을 때 resync하기 우분투 9.10, 10.04(ubunt ... more

  • ubuntu에 TRAC 설치 | 뚜기아빠의 낙서장 2014-10-19 21:22:42 #

    ... Ubuntu 8.10에서 TRAC 설치하기 &#8211; 2</a> Computer by WakanaFan 2009/02/18 16:00 <a href="http://ayasaki.egloos.com/4069282" target="_blank">ayasaki.egloos.com/4069282</a> 덧글수 : 0 [지난번 까지 했던 내용은 이런 터미널에서만 작업할 수 있습니다. (아카리는 그냥 게스트 추연…)] 어제 올린 “Ubuntu 8. ... more

  • ubuntu에 TRAC 설치 | 낙서장 2014-10-21 02:27:45 #

    ... Ubuntu 8.10에서 TRAC 설치하기 – 2</a> Computer by WakanaFan 2009/02/18 16:00 <a href="http://ayasaki.egloos.com/4069282" target="_blank">ayasaki.egloos.com/4069282</a> 덧글수 : 0 [지난번 까지 했던 내용은 이런 터미널에서만 작업할 수 있습니다. (아카리는 그냥 게스트 추연…)] 어제 올린 “Ubuntu 8.10에서 T ... more

덧글

댓글 입력 영역