티스토리 뷰



이번 포스팅에서는 윈도우 환경에서 여러 사용자를 대상으로 하는 형상 관리 시스템, 이슈 트래커 등을 포함하는 협업 개발 시스템을 검토하는 곳을 대상으로 Subversion EDGE, Python 및 Trac, MySQL(XAMPP 기반)을 설치하여 고성능의 협업 개발 시스템을 구축하는 과정을 나눌까 합니다.


최근에 각광받고 있는 Git(http://git-scm.com/)나 Mecurial(http://mercurial.selenic.com/)와 같은 분산형 형상 관리 도구도 있지만  오랜 기간 개발자들로 부터 사랑받아온 대표적인 형상 관리 도구로 CVS(http://www.nongnu.org/cvs/)와 Subversion(http://subversion.apache.org/)을 들 수 있습니다. Subversion EDGE는 기본적인 Apache Subversion에 Apache 웹서버를 비롯한 여러 도구를 내장시킴으로서 사용자가 보다 편리하게 형상 관리 도구를 이용하고 관리 할 수 있도록 배려한 것입니다. Subversion만 설치한다면 svnadmin과 같은 콘솔 도구를 가지고 관리 작업을 해야 하지만 Subversion EDGE에서는 웹 인터페이스를  통해서 어렵지 않게 다양한 관리 작업을 수행할 수 있습니다.


gForge, Redmine과 더불어 대표적인 협업 개발 플랫폼인 Trac은 Python 언어 기반으로 제작되어 다양한 확장성을 갖지만 기본 설치시의 백엔드로 Standalone DBMS인 SQLite DBMS를 사용하고 있기 때문에 다중 사용자 환경에서는 속도 저하등의 문제가 될 가능성이 높습니다. 그래서 본 포스팅에서는 DBMS는 XAMPP 패키지를 통해 손쉽게 설치할 수 있는 MySQL을 사용하여 다중 사용자 환경에서도 성능의 문제를 최소화 시킬 수 있는 협업 플랫폼을 구축해 볼까 합니다.



■ MySQL 설치, Trac용 데이터베이스와 DB 사용자 생성


다양한 MySQL DBMS 설치 방법이 있지만 간단한 MySQL 설치를 원한다면 "간단한 MySQL 설치 요령"을 참조해서 DB 관리가 용이한 환경으로 MySQL DBMS를 설치합니다. XAMPP 포터블을 설치하면 DB 관리를 위해서 웹서비스를 사용해야 하는데 이것이 서브버전 에지의 포트와 충돌을 일으키므로 웹서비스 포트를 기본 포트 80에서 8080으로 변경합니다.("XAMPP 웹 서비스 포트 바꾸기" 참조)




phpMyAdmin>Databases에서 위의 그림과 같이 Trac의 백엔드로 사용할 데이터베이스를 생성합니다. collation을 반드시 utf8-bin으로 선택하여 [Create]를 수행합니다.




좌측 데이터베이스에서 직전에 생성한 trac 데이터베이스를 선택하고 상단 SQL메뉴를 클릭하여 위의 그림과 같이 질의를


GRANT ALL ON trac.* TO tracuser@localhost IDENTIFIED BY '비밀번호';


입력하고 [Go]버튼으로 질의를 실행시킵니다. 질의는 Trac용 데이터베이스 사용자 아이디(tracuser)와 비밀번호를 생성하는 것으로 이때의 비밀번호를 꼭 메모해 둡니다.


trac 데이터베이스와 tracuser 사용자를 정상적으로 생성하였으면 XAMPP의 웹서버(아파치)를 중단시켜 Subversion EDGE와의 충돌을 예방합니다.



■ Subversion EDGE 설치



https://www.collab.net/downloads/subversion 에서 Subversion Edge 5.1.5 (Windows 32-bit)를 선택하여 다운로드 합니다.

Subversion이나 Subversion+Apache Server를 선택하면 웹을 통한 Subversion 관리를 할 수 없으므로 반드시 Subversion Edge를 다운로드 합니다. 몇가지 개인 정보를 입력해야 합니다.


개인정보를 입력하여 다운로드를 요청하면 입력한 메일로 다운로드 링크가 전달되고 메일로 전달되어진 링크를 열면 위와 같이 일정 기간 동안 다운로드 할 수 있는 링크 페이지가 열립니다. 클릭하여 다운로드 합니다.



다운로드 받은 파일을 실행시키고 [Next]로 설치를 진행합니다.



Subversion EDGE는 앞서 언급한 것처럼 기본적인 형상 관리 도구인 Subversion을 비롯하여 아파치 웹서버와 함께 다양한 도구들이 포함되어 있습니다. 위의 Readme 화면은 Subversion EDGE 설치 및 사용을 위한 중요한 정보들이 포함되어 있는데 요약하면 아래와 같습니다. 설치도구가 자동적으로 수행하는 작업이므로  참고하고 [Next]로 계속 진행 합니다.

 

    • Java 환경이(JRE 또는 JDK) 반드시 필요한데(Subversion EDGE 관리도구가 Java기반 웹응용으로 만들어져 있습니다) Java 환경이 없다면 자동으로 설치 합니다. JAVA_HOME 환경 변수도 없는 경우 설정 합니다.

    • 인스톨러가 시스템 PATH 환경변수에 csvn 폴더아래 bin과 Python25 폴더를 자동 추가하고 파이썬 경로를 나타내는 PYTHONPATH 환경 변수에 Python25를 등록합니다.


    • 인스톨러가 웹을 통한 Subversion 관리를 위하여 TCP 3343과 4434 포트를 방화벽에서 개방 합니다.

    • 두개의 윈도우 서비스를 시스템 가동 시점에 자동 시작하도록 설정 합니다. 두개의 서비스는 CollabNet Subversion Edge(Subversion 관리를 위한 기능을 제공하는 Java 웹응용)와 CollabNet Subversion Server(Subversion 자체 기능을 처리하는 서버) 입니다.

    • Subversion 관리를 위한 기본 주소와 사용자 아이디/비밀번호는 아래와 같습니다.
      Address: http://localhost:3343/csvn
      Username: admin
      Password: admin



설치 위치는 기본값인 루트 폴더 아래 csvn을 그대로 사용 합니다.



[Install]로 설치를 진행 합니다.



마지막 화면에서 "Launch CollabNet Subversion Edge"를 체크하고 [Finish]를 클릭하면 설치 종료와 함께 웹 브라우저를 통해서 관리 화면으로 전환할 수 있습니다.



첫 화면에서 위의 그림과 같이 서비스의 상태를 확인할 수 있는데 화면 중간에 있는 http://localhost:3343/csvn 링크를 클릭하면 Subversion 관리도구를 사용할 수 있습니다. 



기본 아이디/패스워드인 admin/admin으로 시스템에 로그인 합니다. 



기본 패스워드를 변경하기 위하여 상단의 "Super Administrator(admin)"를 클릭하고 관리자(admin)의 비밀번호를 새롭게 입력하고 이름 등의 정보를 설정한 다음 [업데이트]를 클릭 합니다. 새로운 비밀번호는 영문, 숫자, 특수문자가 섞여야 합니다.



다음 단계는 서버 설정 단계로 각 항목마다 팝업 설명이 나오는데 설명을 보고 [Continue]를 클릭하는 방식으로 이동 합니다. 예제에서는 내부 DNS가 없는 관계로 직접 내부 IP를 지정했고 서비스 포트는 표준 80 포트를 적용했으며 저장소 경로는 기존에 사용하던 저장소가 없었기 때문에 기본값으로 설정했습니다. 만약 기존 Subversion을 사용하고 있었다면 해당 저장소 경로를 설정해주면 됩니다. 여기까지 진행했으면 [Save]를 클릭하여 기본 설정을 마무리 할 수 있습니다. 서브버전 에지에 대한 사용법은 http://help.collab.net/index.jsp?topic=/csvn/action/maintainserver_csvn.html를 참조 합니다.



끝으로 [Status] 페이지에서 [시작] 버튼을 눌러 서비스를 가동 시키면 작업 준비는 끝이 납니다.


■ 저장소 생성과 Subversion 클라이언트 테스트


저장소 생성 작업도 svnadmin과 같은 콘솔 명령을 사용하지 않더라도 웹을 통해서 간단히 해결할 수 있습니다. 앞서 설명한 것처럼 관리자로 로그인한 다음 관리자 웹 화면 상단에 있는 저장소 메뉴를 클릭하고 하단에 있는 [생성]버튼을 클릭 합니다.


위의 예제와 같이 생성할 저장소의 이름을 입력하고 템플릿으로 trunk/branches/tags폴더를 기본 생성하도록 선택한 다음 [생성] 버튼을 클릭하면 커맨드 라인으로는 여러번에 걸쳐를 수행해야 했던 작업을 클릭 한번으로 간편하게 끝낼 수 있습니다.

 


위의 화면은 저장소 생성 결과 화면입니다.





윈도우 환경에서 많이 사용하는 서브버전 클라이언트는 TortoiseSVN으로 https://tortoisesvn.net/에서 다운로드 받을 수 있습니다. 물론 오픈 소스 프로그램 입니다. 

 

사용법은 간단 합니다. TortoiseSVN 설치 후에 윈도우 탐색기에서 원하는 작업 폴더로 이동한 다음 위의 그림처럼 우측 마우스로 팝업 메뉴를 띄우고 "SVN Checkout"을 선택하면 됩니다. 체크아웃은 형상 관리 서버에서 코드의 사본을 내려 받아두고 추후 최신 코드를 업데이트 받거나, 자신이 수정한 코드나 문서를 커밋할 수 있도록 하는 기초 작업 입니다.



웹 인터페이스를 통해 서브버전 저장소에 접근하려면 앞서 생성한 프로젝트명을 가지고 "http://서버주소/svn/프로젝트명/trunk"와 같은 형식으로 주소를 지정하면 됩니다.



저장소에의 접근을 위한 인증은 서브버전 에지를 통해 등록한 사용자 아이디와 비밀번호입니다.



인증을 통과하여 체크아웃을 수행한 결과 화면입니다. 저장소는 웹에서도 확인할 수 있는데 저장소를 직접 확인할 수 있는 주소는  "http://서버주소/viewvc/저장소이름"의 형식입니다.



위의 그림은 앞서 생성한 test1 저장소를 웹 브라우저로 조회한 화면 입니다.


"Trac 설치하기 2 - Subversion Edge 및 MySQL 기반"으로 이어집니다.




댓글
  • 프로필사진 권능의별 안녕하세요. 글보다가 문득 궁금해서 댓글남깁니다.
    XAMPP 에 MYSQL 이 같이있는거로 아는데요 굳이 따로 MYSQL을 설치하는 이유가 궁금합니다^^
    2019.05.21 15:37 신고
  • 프로필사진 야라바 MySQL은 어떤 방법으로 설치하셔도 관계없고, 간단한 설치 방법의 예제로 XAMPP 포터블 버전을 말씀드렸습니다. 감사합니다. 2019.05.21 17:08 신고
댓글쓰기 폼