AA (Application Architecture)

Trac 1.2.2 install 설치방법 정리 및 관리자 로그인

Ryan's Tech Note 2023. 3. 16. 01:15

https://saju.choeum.com/pos/front/sjuF0101.do?ref=s_BwgZAV1CS2tVJUAFBwEHCjMAAAAAbUJXUg

 

처음 사주 - 인생 7포인트

2026년 성공하는 시기·성향·연애운·금전운·10년 운까지 한눈에

saju.choeum.com

 


 

Trac 1.2.2 설치 방법을 정리합니다. 꽤 삽질했는데, 간단하게 설치가 되는거네요.

윈도우 기준으로 설명합니다. 

Python 설치후에 cmd 창에서 python 호출되는지 확인후, 명령어를 그대로 따라 치면 됩니다.

 

(1) Python 2.7 설치

 

https://www.python.org/download/releases/2.7/

 

(2) Genshi 설치 (0.6 or 0.7)

 

easy_install Genshi

 

(3) Trac 설치

 

easy_install Trac==1.0

 

(4) 프로젝트 생성

 

trac-admin D:/TracProjectHome initenv

 

(5) 관리자 권한 등록 (계정명 : admin)

 

trac-admin D:/TracProjectHome permission add admin TRAC_ADMIN

 

(6) 계정관리 플러그인 설치

 

easy_install https://trac-hacks.org/svn/accountmanagerplugin/tags/acct_mgr-0.4.4

 

(7) 비밀번호 파일 생성

 

trac-digest.py

from optparse import OptionParser
# The md5 module is deprecated in Python 2.5
try:
    from hashlib import md5
except ImportError:
    from md5 import md5
realm = 'trac'

# build the options
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option("-u", "--username",action="store", dest="username", type = "string",
                  help="the username for whom to generate a password")
parser.add_option("-p", "--password",action="store", dest="password", type = "string",
                  help="the password to use")
parser.add_option("-r", "--realm",action="store", dest="realm", type = "string",
                  help="the realm in which to create the digest")
(options, args) = parser.parse_args()

# check options
if (options.username is None) or (options.password is None):
   parser.error("You must supply both the username and password")
if (options.realm is not None):
   realm = options.realm
   
# Generate the string to enter into the htdigest file
kd = lambda x: md5(':'.join(x)).hexdigest()
print ':'.join((options.username, realm, kd([options.username, realm, options.password])))

 

첨부파일을 받은후 다음 명령어 실행

 

python ./trac-difest.py -u admin -p (비밀번호)

admin:trac:11c26e30d84f55f62f993b0a961d5402

 

이런식으로 출력이 되는데 파일 .htpasswd 을 추가해서 출력된 문구를 넣어 저장한다.

.htdpasswd 파일은 각자 D:/TracProjectHome 경로에 넣어준다.

만약 사용자를 추가하는 경우 암호는 다시 돌려줘야 한다. 사용자ID+비밀번호 포함해서 해쉬를 만들기 때문이다.

 

(8) trac.ini 편집

 

D:\TracProjectHome\conf\trac.ini 를 열어서

 

[components]

acct_mgr.* = enabled

trac.web.auth.loginmodule = disabled

 
위와 같은 구문이 없다면 추가해 준다.
또, 개인별 세부 설정이 필요하면 초기 설정파일을 백업해 놓고 설정을 수정한다.

 

(9) trac 실행

 

tracd -s -p 8000 --basic-auth="*,D:/TracProjectHome/.htpasswd,trac" d:\TracProjectHome

 

(주1; * 을 쓰는게 핵심이다. 엄청 삽질 후에 구글 검색으로 겨우 알아냈다.)

(주2: 프로젝트가 여러개라면 -s 옵션은 뺀다. 프로젝트가 하나면 -s 단독실행 모드로 하는게 주소가 깔끔하다.)

 

(10) 브라우저 실행

 

http://localhost:8000

 

상단메뉴 오른쪽에 Admin 탭이 보이고 팝업창으로 로그인 정보를 물어보면 성공한 것이다.

그럼 admin 계정으로 접속하고, 다른 유저들을 추가해 주고, 프로젝트 설정을 한다.

 

이상으로 반나절 삽질한 최신 버전 trac 1.2.2 설치 및 관리자 로그인 설정 방법 설명을 마칩니다.

간단하게 금방 설치할 수 있을것입니다.

 

 

공감과 감사 댓글은 블로그를 운영하는데 힘이 됩니다.

 


 

https://saju.choeum.com/pos/front/sjuF0101.do?ref=s_BwgZAV1CS2tVJUAFBwEHCjMAAAAAbUJXUg

 

처음 사주 - 인생 7포인트

2026년 성공하는 시기·성향·연애운·금전운·10년 운까지 한눈에

saju.choeum.com