'htdigest'에 해당되는 글 1건

  1. 2010.09.24 Trac + Git 연동를 해서 사용해보자. 6

Trac + Git 연동를 해서 사용해보자.

미리 알림>
컴퓨터에는 python, sqlite, git가 먼저 설치되어 있고,
git도 해당 경로에 init 해둔 상태 (.git경로가 존재) 이다.

먼저 배포판 버전으로 trac을 설치한다. 나는 아치니깐

(설마 trac설치하려는 사람이 패키지 설치 하나 못하시진 않겠져? 배포판 마다 알아서 설치하십시다~)

yaourt -S trac

그다음 trac에서 git사용이 가능한 플러그인을 설치한다.

아치의 경우는 AUR에 있는 패키지가 문제가 있어서 작동안되므로

(이거때문에 몇시간 삽질한지 모른다! 다른 패키지를 사용하시는 분도 어느정도 참조하시길 ),


메녈 페이지에 있는데로  다음과 같이 패키지를 설치했다.
그다음 trac을 초기화하기 위해서 다음과 같은 명령어를 실행한다

생성할 경로는... "존재하지 않는 새로운" 경로이다. 나같은 경우 걍 귀차나서 프로젝트 경로밑에

trac을 생성하게 만들어 버렸다 귀찮아..

$ trac-admin /생성할/Trac/Path initenv

그럼 다음과 같은 메세지가 출력되면서 먼저 프로젝트 이름일 입력하라고 기다리고,

이후 DB어떤거 할건가 물어본다. 일단 기본적으로 다음과 같이 입력하면 어느정도 알아서 된다.

Trac은 프로젝트 데이타베이스를 초기화하고 준비하기 위해서
당신의 환경에 대해서 몇가지 질문을 할 것입니다.

 프로젝트 이름을 입력해 주십시오.
 이 이름은 페이지의 제목과 설명에서 사용될 것 입니다.

프로젝트 이름 [My Project]> minicube <-프로젝트명을 입력하고 Enter를 누른다.

 사용하고 있는 데이타베이스에 대한 연결 스트링을 지정하십시오.
 기본적으로, 지역 SQLite 데이타베이스가 저장소 디렉토리에 생성됩니다.
 이미 존재하는 PostgreSQL 데이타베이스를 사용하는 것도 가능합니다.
 (정확한 연결 스트링 구문에 대해서는 Trac 문서를 체크하십시오.)

데이타베이스 연결 스트링 [sqlite:db/trac.db]> <-이미 sqlite를 설치했으므로 그냥 Enter

프로젝트 생성 및 초기화
기본 위키 페이지 설치

..... (파이썬 파일 초기화, 기본 위키 설치)

---------------------------------------------------------------------
'minicube' 프로젝트 저장소 생성됨.

이하 생략

여기까지 나왔으면 일단 초기화 설정은 다 된것이다.

이제 git플러그인 설정을 시작해 보자.

trac/conf.d/trac.ini 파일을 열고 다음항목을 수정~!

[trac]
repository_dir = /Your/Git/Path    #ex> /home/lowid/work/src/.git/
repository_sync_per_request = (default)
repository_type = git
[git]
cached_repository = true
persistent_cache = true
shortrev_len = 6
git_bin = /usr/bin/git                   #ex> 절대경로로 적어야 제대로 되는것 같다   

[components] tracext.git.* = enabled

설정파일을 여기 올려두었으므로 편집하기 귀찮으신분은

trac/conf.d/trac.ini로 덮어쓰기하고 프로젝트 경로만 수정해서 사용하시면 되겠다.
(티스토리가 확장명을 변경하는것 같네요.)



이제 마지막으로 tracd를 설정해 보기루 하겠다

원래 아파치랑 연동하는 것이 정석인데....

뭐 어떤가 난 로컬에서 혼자 쓸거라서 그냥 tracd로 할려구 한다....

(아파치랑 연동하는것은 구글에서도 많으므로 따로 여기서 써야할 필요성도 못느끼겠고......)

일단 먼저 암호파일을 만들어야하는데....

1 htpassw를 사용한다. (생략)

2 htdigestd를 사용한다.  (아치의 경우는  AUR에 "apache-tools"라는 패키지를 설치하면 되긴한다.)
3 이도 저도 없다는 분은, 다음 파이썬 스크립트를 사용하세여.

$python trac-digest.py -u username -p passwd
예) python trac-digest.py -u lowid -p ab

이제 /etc/conf.d/tracd.conf 파일을 열자 볼거 별루 없다.

워낙 간단하기도 하고.... 주석도 친절하게 다 써져 있어서....

# configuration for trac standalone daemon
# see http://projects.edgewall.com/trac/wiki/TracStandalone
#

# PORT : port to be used by tracd ( option -p )
# 8080포트말고 다른 포트로 설정하시고 싶은분은 변경하시길
PORT=8080

# AUTH : file to use for authentication
# format :  project,digestfile,realm
# 앞서 작성한 패스워드파일의 경로를 꼭 맞게 적어주셔야 합니다.
# AUTH의 앞, 뒤는 "trac"이 들어가는지 꼭 확인해 주세요.
AUTH=trac,/home/lowid/work/trac/trac_login,trac

# PROJECT : list of project to serve, you can place more than one project.
# PROJECT="/path/to/project1 /path/to/project2"
# trac이 설치된 디렉토리를 정해야한다! 프로젝트경로(소스)가 아님을 유의하세요!
PROJECT="/home/lowid/work/trac"

그다음 시작데몬 리스트에 tracd를 올려놓고 재부팅을하거나, 데몬을 start하면 모든 설정과정이  끝.

이제 http://127.0.0.1:8080 으로 들어가서 프로젝트를 선택하면!

산듯한(?) 메인페이지가 뜨고, 타임라인(시간이력) 에 들어가면 git commit한것도 잘 보일것이다.

사용자 삽입 이미지

마지막 으로 관리자 사용자 계정에 관리자 권한을 부여하자

trac-admin TRAC_PATH permission add UserID TRAC_ADMIN

ex> trac-admin ~/work/trac permission add lowid TRAC_ADMIN

또, 관리자 모드에서 티켓을 삭제하고 싶다면, trac.ini에 다음 항목을 추가하면 된다
[components]
tracopt.ticket.deleter = enabled

ps:
문제가 발생하면 메녈페이지를 찬찬히 몇번 읽어보는것이 굉장한 도움이 되므로 한번씩 보도록 하자.

http://trac.edgewall.org/wiki/TracStandalone
http://trac-hacks.org/wiki/GitPlugin

ps2;
체인지 뷰 업데이트 할때 버그가 있다.
사용자 삽입 이미지
"View changes from" 항목에서 디폴트 값은 "2010년 9월 24일" 이런식으로 되어있는데,

저런식으로 데이터 포멧이 (YYYY년 MM월 DD일)쓰면 에러나므로

"2010-9-24" 이런 포멧으로 써야 정상적으로 업데이트가 잘 된다.

ps3;
git 커밋을 보면 이상하게 한글은 다 깨진다 우와아아앙 ㅠㅠ

ps4;
사실 이거 설정한내용은 별거아닌데 (메뉴얼 페이지에 다 있음)....
워낙 어문데서 삽질을 많이해서 포스팅을 할수밖에 없었다... 왠지 또 삽질할까봐서....씁..
특히 내가 삽질한 부분을 약간 보강

ps5;
로그인이 안되는것, 관리자 권한 설정 추가, 포스팅 수정 완료
prev 1 next