로컬에서 jsp서버를 깔고, 서버에 올리면서 svn으로 버전관리를 trac을 통해 하고 싶었다.
웹퍼블리싱을 하면서 인클루드와 경로등을 위해 간단히 톰캣서버만 사용하다가, 몇몇 프로젝트에서 개발측에 소스를 넘겨줄때 trac을 이용한 소스 변경 이력을 전달하기 편해서 사용을 해왔다.
때문에 개발자 처럼 이클립스등과 연동하거나 ticket기능이 아니라 주로 타임라인과 리소스 관리 위주로 사용위함.
1. 일단 로컬에서 jsp서버는 tomcatforWindows를 통해 한방에 해결 가능했으며 그동안 써왔었음.
2. 이제 서버가 필요한데… 기존에 사용하던 virturalPC에 서버를 설치하기로 했다.
2-1. 먼저 virtualPC (이후 guest로 칭함)에 tomcatforWindows를 설치했다.
2-2. guest에선 쉽게 localhost로 접속된다.
3. 근데 hostPC에서 guest로 접속이 안된다. 기존에는 guest에서 host로의 접속은 잘 되었는데… virtualPC의 네트워크 아이피 문제를 해결해야겠다.
3-1. 몇몇 사이트를 찾아 네트워크 문제를 해결해 보려고 하였다.
3-2. 제어판의 새하드웨어 추가 > 목록에서 네트워크 어뎁터 선택 > Microsoft의 Microsoft Loopback Atapter 추가
3-3. 로컬 hostPC의 네트워크 속성에서 현재 연결되어 있는 네트워크의 속성창을 연다ㅏ. > 공유 탭에서 ‘다른 네트워크~ 허용’ 체크하고 LoopbackAtapter의 명칭을 선택해 준다.
3-4. Loopback Atapter (예를들면 로컬연결영역 2) 의 IP를 세팅한다.
ip : 192.168.02.1
서브넷 마스크 : 255.255.255.0
기본게이트 : 비움
기본 설정 DNS 서버 : 168.126.63.1
보조 DNS 서버 : 168.126.63.2
그리고 우아하게 적용…
3-5. 이제 virtualPC의 setting에서 네트워크를 설정해준다.
Atapter를 Microsoft Loopback Adapter로 잡아준다.
그리고 guest의 ip를 설정해준다.
iP 주소 : 192.168.0.2
넷마스트 : 255.255.255.0
기본 게이트웨이 (IP) : 192.168.0.1
1차 DNS : 192.168.0.1
3-6. 마지막으로 guest의 보안설정을 해제 해 준다.
패널 찾기 힘들땐 실행창에서 firewall.cpl라고 실행해 준다.
3-end. 이제 host에서 guest로 접속이된다. 만세부른다.
호스트 브라우저에서 http://192.168.0.2/ 하면 guest의 화면을 볼 수 있다.
이걸로 일단 host와 guest의 통신은 되었음.
4. 이제는 host와 guest에 각기 svn을 깐다.
4-1. 가장 편하고 강력한 거북이svn을 설치한다.
4-2. 단, host (클라이언트svn)을 설치할땐 상관없지만, Trac과 연동될 guest의 svn은 버전이 맞아야 한다.
4-3. TOW는 최신의 TOW-0.3.0-alpha1를 깔고 svn은 TortoiseSVN-1.5.5를 깔아준다.
5. 이제 guest에 TOW를 깐다.
5-1. 깐다고 해봐야 TOW를 받아서 C드라이브 루트에 압축을 풀면 끝.
5-2. 실행 > cmd로 커맨드 창을 열고 svn과 trac에 신규 프로젝트 명을 등록한다.
C:\TOW>create-svn-repo.bat
C:\TOW>add-user.bat
(예 : user1 = rw)
6. 이제… guest에서 서버로 사용될 폴더를 준비하자.
6-1. Trac에 포함된 svn은 저장소 역할만 하므로 실제 내가 host에서 파일을 업데이트 할 폴더에 자동으로 업데이트 해주기 위해 hook을 설정해 준다.
6-2. 위의 말 뜻은… host의 작업폴더, guest의 작업폴더, 그리고 이를 버전관리하는 svn저장소 3군데가 따로 있으며, host에서 커밋하면 Trac의 svn저장소에만 올라가게 되므로 guest의 작업폴더에는 따로 fpt등으로 파일을 올려줘야 한다.
때문에 trac의 훅을 이용해 자동으로 guest의 작업폴더에도 업데이트를 해주는걸 의미한다. (guest에 따로 TortoiseSVN을 깐 이유이다)
6-3 훅설정은 TOW폴더의 SvnRepo\Projects\projectName\hooks에서
배치파일을 하나 만들어주는걸로 끝.
post-commint.bat를 하나 만들고 편집한다.
c:\TOW\Subversion\bin\svn up C:\works\toy\trunk
위와 같이..
7. 마지막으로
7-1. guest가 부팅되고 나면 Tow폴더의 start-tow.bat 를 실행한다.
7-2. host에 작업폴더를 마련하고 svn checkout으로 대화창을 연다.
7-3. url of repository에 guest의 trac의 svn저장소를 적어준다.
예 : http://192.168.0.2:8080/svn/projectName/
7-4. 이제 로그인창에서 등록한 유저명과 패스워드를 적어서 guest에서 다운받아온다.
7-5. 이제 host에서 host의 톰캣을 통해 작업한 후 일정 작업량을 svn을 통해 커밋한다.
7-6. 그러면 guest의 trac과 guest의 작업폴더에 동시에 업데이트가 이루어지고, guest에 설치된 톰캣을 통해 guest서버로 접속해 확인 할 수 있다.
7-7. 참고로 http://192.168.0.2:8080/projects/toy/로 trac으로 들어가 보자.
아…. 많네…
저희팀에서 어제 세미나(간담회?)를 진행했습니다.
지난달 오픈한 사이트의 리뷰를 진행하는 자리였는데 본래는 사내 세미나실을 이용하던 계획이 사장님의 개입(?)으로 회사근처 분위기 좋은 커피숍에서 진행을 하게 되었습니다.
커피숍안에 세미나 룸이 있는 곳이어서 두대의 LCD와 음향시스템으로 무리없이 – 상당히 좋은 분위기 속에서 – 마무리되었네요.
드물게도 일정내에 완료시킨 프로젝트라 왠지 자화자찬한 느낌이 강했던 기분입니다. ^^
발표해주신 정을수 대리님께 감사드리며, 업무시간에 커피숍 빌려서 100% 경비지원으로 지원해 주신 사장님께 감사~~
나름 스스로 디자인도 하면서 표준화에 맞는 코딩을 하고 있다고 혼자만 만족하고 있었습니다만,
프로젝트를 하다보니 그것도 아닌듯 싶습니다.
제아무리 일을 잘해도 (제가 그렇단 얘긴 아니고 ㅎㅎ) 포장 또한 좋아야 하는걸 다시 한번 느꼈습니다.
단..여기서 말한 포장은 단지 뽀대만 그럴싸 하게 보이는게 아니라 실력이 있어서 자연스럽게 나타나는 그런 부분입니다.
내공이라고 해야할지… 자신이 알고 있는 부분을 아무리 얘기해도 먹히지 않는다는건 결국 자신을 한번 돌아봐야 할 듯 합니다.
이번 프로젝트… 아무래도 적당히 css로 디자인 하는데서 그쳐야 겠슴니다. (쓴웃음 한번 지어주고..)
어차피 한두달에 끝날거도 아닌데 담달에 때려쳐 버릴까 생각중…
정말 사원이 불우해지는 회사 불우넷….