| Ubuntu 8.10에서 TRAC 설치하기 - 2 |
[지난번 까지 했던 내용은 이런 터미널에서만 작업할 수 있습니다. (아카리는 그냥 게스트 추연…)]
어제 올린 “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>
해서 사용하시면 됩니다. 실제 화면은 직업 확인해 보세요.. ^^






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