SVN으로 코드를 관리하는 것은 FileSystem으로 관리를 하는 것 보다는 많은 장점이 있습니다.


  오죽하면 Local에라도 구축을 해 두고 프로그래밍을 하는 경우가 많았습니다.


  하지만 기기가 많아지고 작업환경이 1곳에서 점점 늘어 이제 어느 곳에서라도 프로그래밍을 하거나 코드를 확인 할 필요가 있는 경우가 생겼습니다. 아니면, 하나의 프로젝트를 2곳 이상에서 동시에 작업을 하고싶어지는 경우가 생겼습니다.


  물론 DB가 구축되어있는 System의 개발일 경우는 그에 관한 설정을, 그리고 파일 시스템의 특정 경로나 사용자 이름 등... 파일시스템으로 관리할 때 발생하지 않는 문제들이 생길 수 있지만, 그래도 서버로 여러곳에서 코드를 받아 작업하고, 그 코드를 다른 사람들과 함께 작업을 하기 더욱 편리한 환경을 구축하는 작업을 진행 해 보겠습니다.


  SVN의 클라이언트 버전을 사용할 줄 아시는 분들이 서버를 구축하는 것을 타깃으로 작성을 해 보도록 하겠습니다. 물론 과정을 다 따라하신 후 따로 클라이언트 프로그램을 설치하여 이용하실 수 있습니다.



  아래의 3개 단계로 나누어 진행을 해 보겠습니다.


1. SVN 서버 설치

2. SVN 저장소 생성

3. SVN 계정 추가


 위의 3단계를 진행하면 어지간한 저장소 관리 기능은 할 수 있다고 판단하여 위의 단계를 진행하고 기록합니다.





1. SVN 서버 설치


 먼저 아래의 사이트에서 SVN 서버를 설치합니다.


http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91


 저의 경우는 아래의 페이지에서 다운을 받았습니다.


http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=11149



<사진 1> 위의 페이지에서 설치 버전



저는 오늘(2018년 02월 06일) 기준으로 가장 최신으로 보이는 1.6.6 버전으로 설치를 진행하였습니다.




<사진 2> 설치파일 실행 1



특별히 어려운것은 없고 저는 기본경로에 설치를 진행하였기 때문에 다른 프로그램처럼 Next만 계속 눌렀습니다.



<사진 3> 설치파일 실행 2




<사진 4> 설치파일 실행 3


혹시나 SVN서버 프로그램이 설치되는 경로를 변경하고 싶다면 위의 표시된 박스에 설치경로를 입력하면 됩니다.




<사진 5> 설치파일 실행 4


인스톨 버튼을 클릭하면 설치가 진행됩니다.



<사진 6> 설치파일 실행 5


설치가 잘 되고있는지를 보여드리기 위해 보통은 설치중인 화면도 캡쳐를 하는데, 이 프로그램은 설치가 워낙 빨리되어서 캡쳐에 실패하였습니다. 설치가 다 되었다면 위와 같은 화면이 나옵니다.






2. SVN 저장소 생성


  우선 SVN 저장소에 대해 간단히 설명을 드리면 SVN용 저장 폴더라고 생각하시면 됩니다. 하나의 저장소를 만들어 거기에 프로젝트도 임포트하는 방식으로 관리를 하는 분도 계셨지만, 일반적인 방법은 아니고 편하게 막 쓰기 좋은 방법이라고 생각합니다. 보통의 경우에는 Log를 프로젝트 단위로 관리한다면 저장소도 프로젝트 단위로 생성을 따로 하는것을 권장합니다.



<사진 7> 폴더생성

 


 SVN Data를 저장 할 폴더를 하나 생성합니다. 이 폴더는 SVN 데이터가 저장이 되며, 바로 다음에도 명평프롬프트 창에서 활용을 합니다. 


 이 경로를 기억 해 두시기 바랍니다.






<사진 8> 저장소 생성 등 명령 수행

 


 우선 위에서 만든 저장소용 폴더 경로로 이동을 해서 저는 TestRepo1이라는 저장소를 생성하였습니다.  TestRepo1이라고 쓴 두번째 노란 박스 부분에 원하는 저장소 이름을 입력하시면 됩니다. 보통은 프로램의 이름이나 프로젝트의 이름이 되겠습니다.


그 다음 박스에서 수행한 명령은 그 경로에서 등록된 파일(Data)들을 받아오는 명령입니다. 이 경우는 저장소만 만들고 파일을 등록하지 않았으므로 해당 저장소와 연결되는 저장소 파일이 생성됩니다.


마지막으로 4번째 박스를 수행하면 더이상 반응이 없습니다. 명령어로 볼 때 SVN서버를 구동하는 명령으로 추측만 합니다.









<사진 9> 저장소 외부활용을 위한 포트포워딩



  포트포워딩을 할줄 모르신다면 해당 내용에 대해서는 다른 블로그 등으로 해당 내용을 확인하시면 도움이 됩니다.

  

  이 작업은 외부망에서도 공유기에 연결된 특정 PC에 접속하기 위해 사용하는 것으로 저렇게 고정 IP(공유기)의 특정 포트로 요청을 하면, 저의 PC의 3690포트로 연결을 해 주는 작업이라고 생각을 하시면 됩니다. 외부에서 쓸 포트로 겹치지 않는 숫자를 활용하시면 됩니다.




3. SVN 계정 추가




<사진 10> 저장소의 계정 관리를 위한 파일들


저장소에 저는 임의로 위의 명령프롬프트에서 한 작업을 하여 Test2라는 저장소를 추가로 만들었습니다.


저장소 폴더를 열면 Conf라는 폴더가 있고 그 폴더를 열면 위와같이 4개의 파일이 있습니다.


passwd는 비밀번호로 추측이 됩니다. 해당 파일을 Notepad나 Notepad++등의 문서편집용 프로그램으로 열어서 계정을 추가하시면 됩니다.


계정추가 방식은 아래와 같습니다.



<사진 11> 계정추가하기




제가 추가한 붉은색 박스 안을 보시면 추가 방법은 간단합니다.


(ID) = (Password) 식으로 추가를 하시면 됩니다. 저는 PW만 모자이크 처리를 했습니다.


저는 1개 사용자 계정만 추가했지만 필요하다면 여러개를 추가하여 여러 사람들과 같이 관리 및 작업을 할 수도 있습니다.


계정을 추가하면 그 후 해당 계정의 사용자 외의 사용자들이 사용을 할 수 없도록 하는 설정이 필요합니다.


그렇지 않을경우 위에서 추가한 사용자가 아니더라도 누구나 서버에서 해당 Data를 Checkout할 수 있습니다.



<사진 10> 저장소의 계정 관리를 위한 파일들에서 확인한 두번째 파일 svnserve.conf를 Notepad나 Notepad++등의 문서편집용 프로그램으로 열어서 해당 정보를 수정하시면 됩니다.



 <사진 12> 권한설정하기



  svnserve.conf 파일의 위의 부분을 위와 같이 수정합니다. #이 원본에 하나 붙어있을 수 있는데 그런것들은 주석처리(읽히지 않도록)된 것입니다. 해당 부분을 위와같이 수정해주면 계정 등록한 사용자만 확인하여 Checkout을 하게 됩니다.





 <사진 13> Checkout시 로그인 창



위와 같이 사용자 이름에 계정과 그 아래 비밀번호까지 입력하면 Checkout이 진행됩니다.




+ Recent posts