Trac 이전하기

동아리 서버의 subversion 과 trac을 구 서버(uriel)에서 신 서버(granelber) 로 옮기는 작업을 설 연휴 기간에 진행했다. 이건 그 중에 trac이전에 대한 나중(?)을 위한 기록. (subversion은 puzzlet이 수고해줘서 나는 모른다 :p)

Uriel 에서 trac 백업

다음과 같은 과정을 통해 mighty 라는 이름의 trac 을 이전한다.

root@uriel:/home/trac# trac-admin mighty/
Welcome to trac-admin 0.10.4
Interactive Trac administration console.
Copyright (c) 2003-2006 Edgewall Software

Type:  ‘?’ or ‘help’ for help on commands.

Trac [/home/trac/mighty]> hotcopy /tmp/mighty.bak
Hotcopying /home/trac/mighty to /tmp/mighty.bak … Hotcopy done.
Trac [/home/trac/mighty]>
root@uriel:/home/trac# cd /tmp
root@uriel:/tmp# tar -zcf mighty.tgz mighty.bak

사실 /tmp 가 아니라 안전한 디렉토리인 /root 같은 것을 써야하지만(…) 여튼 이렇게 tarball 을 만들고.
그리고 hotcopy 를 안쓰고 그냥 디렉토리를 복사해도 된다. 하지만 라이브 서버에서 백업할 때는 반드시 hotcopy로 복사해야한다.

Grangelber에서 trac 복구

tarball을 그랑엘베르로 이전하고 다음과 같은 과정을 거친다. ((여기에서는 trac 버젼이 0.10 에서 0.11 로 옮겨가서 업그레이드/위키 업그레이드 단계를 추가로 거쳤다))

[root@grangelber trac]# tar -zxf mighty.tgz
[root@grangelber trac]# mv mighty.bak/ mighty
[root@grangelber trac]# trac-admin mighty
Welcome to trac-admin 0.11b1
Interactive Trac administration console.
Copyright (c) 2003-2007 Edgewall Software

Type:  ‘?’ or ‘help’ for help on commands.

Trac [/home/trac/mighty]> resync
Resyncing repository history…
16 revisions cached. Done.
Trac [/home/trac/mighty]> upgrade

==== Upgrade Notice ====

The ticket Workflow is now configurable.

Your environment has been upgraded, but configured to use the original
workflow. It is recommended that you look at changing this configuration to use
basic-workflow.

Read TracWorkflow for more information (don’t forget to ‘wiki upgrade’ as well)

Upgrade done.
Trac [/home/trac/mighty]> wiki upgrade

여기까지 하고나서 접근 권한을 수정해줘야 한다. (정책의 일부로 그룹을 trac으로)

[root@grangelber trac]# sudo chgrp -R trac mighty
[root@grangelber trac]# cd mighty
[root@grangelber mighty]# chmod -R g+rw db
[root@grangelber mighty]# chmod -R g+rw attachments/

이러면 대충 종료. ((apache 접근 권한은 trac 그룹 권한 + setuid로 해결됨))

물론 trac_path/conf/trac.ini 에서 svn 주소가 바뀐 것을 수정해주고  resync해줘야함. ((UPnL 서버 이전의 경우엔 svn/trac 구조가 이전이랑 동일해서 상관없음))

ps. mod_python + virtual host 설정은 스프링노트에 정리하던가 해야;

Jinuk Kim
Jinuk Kim

SW Engineer / gamer / bookworm / atheist / feminist

Articles: 935

2 Comments

Leave a Reply