상세 컨텐츠

본문 제목

Visual Source Safe2005와 Visual Studio 2008(2005)로 인터넷 소스제어

Others

by thankee 2008. 12. 18. 20:50

본문

VisualSourceSafe2005부터는 인터넷 상으로 소스제어가 가능해졌습니다. 다만, Visual Studio 2008(2005)와 함께 사용해야 가능합니다. VisualSourceSafe Internet를 사용하기 위해서는 VisualSourceSafe 상에서 체크박스 두개를 클릭하면 되는 간단한 설정 같지만 실제로는 DB생성부터 계정생성까지 까다로운 과정을 거쳐야합니다. 여기에서는 Visual Studio 2008과 Visual Source Safe 2005, 그리고 Windows Server 2003, Windows XP SP3환경을 사용합니다.
image

Visual Source Safe설치하기

Visual Source Safe는 서버와 클라이언트에 모두 인스톨이 필요합니다. 서버에 설치할때는 반드시 Server Components가 설치되는지 확인하도록 합시다. Server Components가 HTTP를 통한 Internet 소스 제어를 가능하게 합니다.

클라이언트에 Visual Source Safe를 설치할 때는 먼저 Visual Studio 2005 이상이 설치된 환경에서 Visual Source Safe 기본 설치만 해도 됩니다. 설치가 완료되면 Visual Studio에서 Visual Source Safe 소스컨트롤에 관한 옵션이나 솔루션/웹사이트 열기가 사용가능해집니다.

Visual Studio에서 Source Control 
Visual Studio에서 Source Control

Visual Source Safe Internet 설정(Server)

서버에 설치된 Visual Source Safe의 DB를 생성하고 인터넷 엑세스가 가능하도록 설정하는 방법은 다음과 같습니다.

  1. Visual Source Safe Administration을 실행합니다.
  2. File-New Database를 통하여 데이터 베이스를 생성합니다.
    * NTFS가 아닌 FAT32, FAT16을 사용하는 유저들은 파일의 권한 설정이 보다 유연하지 못하기 때문에, NTFS가 권장된다는 경고메시지가 뜹니다. FAT32는 파일 저장을 목적으로한 FAT이기 때문에 보안 성능이 NTFS보다 떨어집니다. 하지만 FAT32나 FAT16으로 Database를 생성하실 수 없는 건 아닙니다. 다만 HTTP로 중요한 코드정보를 다루는 것이기에 보안에 더 신경쓴다고 나쁠 것은 없겠죠?
  3. Database가 생성되면 다음과 같은 경고 창이 생성되는데요, 해당 Database가 생성된 폴더를 공유하고, 권한을 설정하고, 그 폴더의 권한을 가진 Users를 설정하라는 의미입니다. 일단 세개의 기본 계정이 생성되는데요, Admin, Guest와 시스템에 계정명과 동일한 계정이 생성됩니다. 각각에 비밀번호를 반드시 설정합니다.
    image
  4. 먼저 Database가 포함된 폴더를 공유합니다. 그리고 사용 권한 버튼을 클릭하여 특정 그룹이나 계정에 읽기/변경 권한을 주어야합니다. 만약 NTFS를 사용하신다면 이 권한은 물론 NTFS권한을 따로 설정해 주어야합니다.
    image
  5. 이제 Visual Source Safe에 돌아와서, File->Open SourceSafe Database->Add를 클릭하여 위에서 추가한 데이터베이스를 다시한번 네트워크 경로로 추가해주어야 합니다. 제 컴퓨터에서는 위에서 생성하고 공유한 Database의 네트워크 경로가 "\\Family\sourceSafe"였고, 추가한 결과 화면이 다음과 같습니다. 추가된 네트워크 경로로 설정된 데이터베이스를 Open합니다. 위에서 비밀번호를 설정하지 않았다면, 로그인 되지 않을 것입니다.
    Untitled-1  
    내 네트워크 환경에서 자신의 컴퓨터를 찾고, 공유되어 있는 자신의 SourceSafe Database 폴더를 찾아 srcsafe.ini를 open합니다.
    image 
    네트워크 경로로 다시한번 추가된 SourceSafe Database.
  6. Visual Source Safe의 Server->Configure를 선택하여 다음과 같이 체크해줍니다.
    image 
    - Enable SourceSafe Internet for this computer는 SourceSafe가 이 컴퓨터에 IIS를 통해서 SourceSafe Internet를 서비스할 지를 결정하는 체크박스입니다. 이 체크박스를 체크하시고 확인을 클릭하시면 IIS에 SourceSafe라는 가상디렉터리가 추가됩니다.
    - Enable SourceSafe Internet for this database는 현재 데이터베이스를 SourceSafe Internet로 서비스 할 것인지 설정하는 것입니다. Web Server Name에는 IIS서버 주소를 설정해주시면 됩니다.
  7. SSL을 이용하지 않는다면, Visual SourceSafe는 절대 Visual SourceSafe의 아이디와 비밀번호를 직접 Visual SourceSafe Service로 전송하지 않습니다. 따라서 IIS 로그인을 통해 사용자를 인증을 대신하게 되는데요, 그렇기 때문에 IIS를 로그인할 수 있는 계정명과 똑같은 계정을 Visual SourceSafe Administrator에서 추가해야합니다. SourceSafe Database를 생성할 때 기본적으로 추가되는 세가지 계정 중, Admin, Guest가 아닌 다른 하나의 계정이 IIS로그인할 수 있는 계정명일 가능성이 높습니다.
  8. 브라우저를 여시고 IIS서비스가 제대로 되는지 테스트합니다. 주소는 자신의 IIS주소/SourceSafe/VssService.asmx입니다. 그러면 IIS 로그인 창이 나타나고 자신의 권한이 있는 Windows 계정명과 비밀번호를 입력하면 다음과 같은 화면이 나타납니다. 아래와 같은 에러 화면이 나타나야 정상적인 것이며, 아래의 화면이 무엇이 잘못되어서 그런것이 아니니 다음 단계로 진행하시면됩니다.(보안상의 이유로 웹 서비스 기능이 기본적으로 꺼저있는 것입니다. 꺼두는 것을 권장하며, 만약 서비스를 작동하게 하고 싶으시다면, IIS의 SourceSafe폴더에 존재하는 Web.config를 열고, <customErrors mode="Off"/>로 하시고 <remove name="Documentation"/>를 지웁니다.)
    image
  9. 이제 IIS SourceSafe의 가상디렉터리 설정에서 읽기/쓰기 권한을 할당해주어야 합니다. 이 권한을 빠트리신다면, Client에서 접속하고도 Check-in, Check-out하실 수 없는 사태가 발생합니다. 
    Untitled-21
  10. 위 과정이 모두 통과하였다면, 이제 Client의 Visual Studio를 통해서 Server의 Visual SourceSafe에 접속할 차례입니다. 만약 브라우저 접속에서 계속 실패하신다면, IIS계정명과 VisualSourceSafe의 계정명을 일치시키고 IIS의 SourceSafe가 .asmx의 웹서비스를 지원하는지 점검하거나 위의 과정이 모두 제대로 반영되었는지 꼼꼼히 체크해봐야합니다.
    * ASMX 서비스가 지원되는지 점검하는 것은 다음과 같습니다.
    (1). IIS의 SourceSafe 가상디렉터리 설정에서 구성 버튼을 클릭합니다.
    (2). 목록에서 .asmx가 있는지 확인합니다. 있다면 정상입니다.
    (3). .asmx가 없다면, .aspx를 찾아 똑같은 값으로 .asmx를 추가하면 됩니다.
    image
  11. 보통 위의 과정에서 실수로 빠트리는 부분에 대해서 Check List를 만들어 본다면 다음과 같습니다.
    • IIS를 접속할 수 있는 Windows Account와 동일한 이름의 계정을 Visual SourceSafe에 추가하였는가?
    • 현재 Visual SourceSafe Database가 네트워크 경로를 통해서 열려있는가?
    • Visual SourceSafe Database가 네트워크 공유가 되어있는가?
    • 공유된 폴더의 네트워크 공유 권한을 IIS를 접속하는 Windows Account에 부여하였는가?(읽기/변경 권한)
    • Visual SourceSafe Database가 포함된 폴더의 NTFS 권한을 IIS를 접속하는 Windows Account에 부여하였는가?
    • IIS의 SourceSafe 가상디렉터리->설정에서 읽기/쓰기 권한을 부여하였는가?

Visual Studio에서 접속(Client)

  1. Visual SourceSafe가 기본적으로 Client에 설치된 상태에서 Visual Studio 2005나 2008를 실행합니다.
  2. Tools->Options->SourceControl->Plug-in SelectionSettings에서 Microsoft Visual SourceSafe (Internet)를 선택합니다.
  3. Tools->Options->SourceControl->Plug-in 에서 SettingsAdvanced버튼을 클릭합니다. Always use SSL to connect to the server의 체크를 해제합니다.
  4. Open Project나 Open Website의 SourceControl을 선택합니다.
  5. Add를 통해서 Server의 데이터베이스를 Open해서 사용하시면 됩니다.
    image

여기까지의 설정은 모두 SSL을 사용하지 않는 설정입니다.

관련글 더보기