Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 271. Team Foundation Server 2015 설치 방법 [링크 복사], [링크+제목 복사]
조회: 19521
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Team Foundation Server 2015 설치 방법

현재 RC 버전들이 나온 상태지만 다음 달 7월 20일에 Visual Studio 2015가 정식 출시될 예정입니다. 이쯤에서 재미삼아 TFS 2015를 한번 설치해봤습니다. ^^

우선, 설치 방법은 크게 "Basic Server"와 "Full Server"로 나뉘는데요. 기본 유형으로 설치하고 싶다면 다음의 글을 참고하시고,

Installing TFS 2015
; http://nakedalm.com/install-tfs-2015-today/

저는 "Full Server"로 설치해보겠습니다. 이를 위해, 기본적으로 Active Directory에 참여한 서버 2대가 필요합니다. 제 경우에는 2대의 VM을 다음과 같이 미리 구성했습니다.

* DB 서버 + SharePoint용 VM
    - Windows Server 2012 R2
    - C 드라이브 40GB VHDX, D 드라이브 24GB VHDX
    - 메모리 6GB, 가상 CPU 4개
    - 웹 서버(IIS) + 응용 프로그램 서버 + .NET Framework 3.5 활성화
    - IE Enhanced Security Configuration 옵션을 off
    - 모든 윈도우 업데이트 적용

* TFS App Tier
    - Windows Server 2012 R2
    - C 드라이브 36GB VHDX, D 드라이브 24GB VHDX
    - 메모리 2GB, 가상 CPU 2개
    - 웹 서버(IIS) + 응용 프로그램 서버
    - IE Enhanced Security Configuration 옵션을 off
    - SQL 서버의 "Client Tools Connectivity" 구성 요소 설치
    - 모든 윈도우 업데이트 적용

* Active Directory
    - Reporting Services 용 도메인 계정 생성: tfsreport (도메인 사용자 권한)
    - TFS 용 도메인 계정 생성: tfsadmin (도메인 관리자 권한)
    - SharePoint 서비스 계정: spservice (도메인 사용자 권한)

참고로, TFS 2015부터는 2013때 있었던 "Standard Single Server" 유형의 설치 모드를 더 이상 제공하지 않습니다. 또한 SharePoint 서버를 Foundation 버전으로 설치할 수 있도록 기본 제공하던 옵션이 없어졌습니다. 따라서, SharePoint 연동을 원한다면 별도의 설치 파일을 구해 미리 구성해두어야 합니다.

이하, 모든 VM의 로그인은 tfsadmin으로 합니다.





1) DB 서버 구성

자, 그럼 DB 서버에 SQL 서버를 먼저 설치해 볼까요? ^^ 방법은 이미 다음의 글에 자세하게 설명되어 있습니다.

Manually install SQL Server for Team Foundation Server
; https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2013/dd578652(v=vs.120)

위의 글을 간단하게 정리하면, 결국 다음의 기능들을 활성화시켜서 설치하는 것입니다.

- Database Engine Services
    - 검색을 위한 전체 텍스트 및 의미 체계 추출(Full-Text and Semantic Extractions for Search): 필수
- Analysis Services: Reporting 서비스를 위해 필수
- Reporting Services - 기본(Native): Reporting 서비스를 위해 필수
- 클라이언트 도구 연결(Client Tools Connectivity): TFS 서버에 SQL 서버 구성 요소가 설치되지 않은 경우 필수
- 관리 도구(Management Tools) - 기본(Basic)

tfs_2015_install_1.png

그리고 계정 유형은 기본으로 두시고 시작 유형만 "자동(Autmatic)"으로 바꿔주시면 됩니다.

tfs_2015_install_2.png

그 외에, 해당 서비스들의 접근 계정에 "TFS 용 도메인 계정 생성"에서 지정했던 "tfsadmin" 사용자 계정도 함께 추가합니다.

만약 "Reporting Services"를 다른 컴퓨터에 설치된 것을 사용하고 싶다면 위의 단계에서 설치하지 않아도 됩니다. 또는, "Reporting Services"를 다른 컴퓨터로 분리해서 설치하고 싶다면 "Manually install SQL Server for Team Foundation Server"의 "Configure Report Server Manually" 절을 참고해 설치/구성해주시면 됩니다.


2) SharePoint 2013 Standard 설치

이어서, DB 서버에 SharePoint 서버도 함께 설치할 텐데요. 제 경우에는 "SharePoint 2013 with SP1" 설치 파일로 Standard 버전으로 설치를 했습니다. Windows Server 2012 R2에는 "SharePoint 2013" 버전도 지원되지 않기 때문에 반드시 "SharePoint 2013 with SP1"로 설치를 해야 합니다. 안 그러면 다음과 같은 문제를 만납니다. ^^

SharePoint 2013을 Windows Server 2012 R2에 설치
; https://www.sysnet.pe.kr/2/0/2898

"SharePoint 2013 with SP1" 설치 방법은, 설치 디스크의 "prerequisiteinstaller.exe"를 통해 기본 구성 요소들을 설치해 준 다음 setup.exe 실행으로 넘어가면 됩니다. setup.exe 이후로는 2010과 크게 다르지 않기 때문에 아래의 글을 참고하시면 됩니다. (설치시 6GB 정도의 여유 공간을 요구합니다.)

SharePoint 2010 설치
; https://www.sysnet.pe.kr/2/0/977

위의 글에서는 마지막 "마법사 시작" 단계를 진행하지 않았는데요. 80 포트를 점유해도 좋다면 그냥 진행하고, 그렇지 않은 경우라면 직접 수작업으로 구성하는 것까지 마쳐야 합니다.

참고로, 제 경우에는 "마법사 시작"으로 진행했고 서비스 계정을 "도메인명\spservice"로 했습니다. (마법사 완료 후 "사이트 모음 만들기" 단계는 건너뛰어도 됩니다.) 혹시나 마법사 화면을 닫았다면 SharePoint 중앙 관리 페이지로 가서 "구성 마법사" 메뉴를 다시 실행해 주면 됩니다.


3) TFS Full Server 유형 설치

두 번째 VM에 TFS를 설치할 텐데요. 따라서, tfs 설치 디스크를 설정하고 tfs_server.exe를 실행시키면 됩니다. (참고로, 최대 2GB 정도의 여유 공간이 필요합니다.) 이후의 과정은 다음의 글을 직접 참고하셔도 됩니다.

Configure Team Foundation Server using the advanced configuration
; https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2013/dd631919(v=vs.120)

위의 글은 예전 TFS 2013 시절의 글이라서 지금은 문구가 좀 바뀌는 정도의 차이가 있는데, 우선 다음과 같이 "Full Server" 유형으로 선택해서 진행합니다.

tfs_2015_install_3.png

나머지는 한 가지를 제외하고는 "Configure Team Foundation Server using the advanced configuration" 화면 구성과 동일하게 진행하면 됩니다.

그게 뭐냐면, "SharePoint" 구성을 생략해주면 됩니다. 즉, "Enable integration with SharePoint(SharePoint와의 통합 사용)" 옵션은 해제하고 설치하면 됩니다.

여기까지 해서 "전체 서버(Full Server)"로 "준비 검사(Readiness Checks)"를 들어가면 1개의 경고를 볼 수 있습니다.

1) It is recommended that the Application Tier file cache folder be placed on a disk with at least 50GB of available free space. If you proceed with configuration, you can move the file cache location afterwards using the File Cache Folder command in the Team Foundation Administration console.

응용 프로그램 계층 파일의 캐시 폴더를 사용 가능한 공간이 50GB 이상인 디스크에 저장하는 것이 좋습니다. 구성을 계속할 경우 나중에 Team Foundation Administration 콘솔의 파일 캐시 폴더 명령을 사용하여 파일 캐시 위치를 이동할 수 있습니다.


가상 머신이고 테스트 용이니 이 경고는 무시하고, TFS 구성을 완료합니다. 정상적이라면 오류 하나 없이 깔끔하게 성공 메시지가 나와야 합니다. (아울러, 현재 상태의 web.config을 "C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services\web.config.sav" 파일로 백업해 두었다는 메시지를 볼 수 있는데, 혹여나 향후 web.config을 잘못 건드려 웹 응용 프로그램이 오동작할 때 web.config.sav 파일로 복원해 주시면 됩니다.)


4) SharePoint가 설치된 VM에 "Team Foundation Server Extensions for SharePoint Products" 구성 요소 설치

다시 SharePoint가 설치된 VM에 TFS 설치 디스크를 넣고 "Extensions for SharePoint Products"를 구성한 후 다음 화면과 같이 "Grant Access"를 이용해 TFS 서버 등록을 해줍니다.

tfs_2015_install_4.png


5) TFS 서버에서 SharePoint 구성 마무리

다시 TFS VM으로 돌아와서 "Team Foundation Server Administration Console"을 실행하고 "/Application Tier" / "SharePoint Web Applications"로 와서 "Add" 버튼을 눌러 SharePoint 구성을 완료해 줍니다.

tfs_2015_install_5.png

마지막으로, 기본 생성된 "DefaultCollection"에는 SharePoint Site 구성이 안되어 있으므로 "Application Tier" / "Team Project Collections"에서 "DefaultCollection"을 선택하고 하단의 "SharePoint Site" 탭에서 "Edit Default Site Location" 링크를 눌러 "Relative Path"를 "Sites/DefaultCollection"으로 설정해 구성을 완료합니다.

끝!!!!!




아래부터는 설치 시 만날 수 있는 오류에 대한 설명입니다.

tfs_server.exe 실행 후 이런 오류가 발생할 수 있는데요.

tfs_2015_install_error_1.png

"잘못된 플래그입니다.(Invalid flags)"

화면의 메시지에 나온 로그 파일 링크를 누르면 launchTfsMgmt에서 오류가 발생한 것을 볼 수 있습니다.

...[생략]...
[0BF8:09D0][2015-06-30T12:39:54]i301: Applying execute package: launchTfsMgmt, action: Install, path: C:\ProgramData\Package Cache\64228852875E5B1CA41031D711610A27B4D66049\packages\LaunchTfsMgmt\LaunchTfsMgmt.exe, arguments: '"C:\ProgramData\Package Cache\64228852875E5B1CA41031D711610A27B4D66049\packages\LaunchTfsMgmt\LaunchTfsMgmt.exe" action=Install RebootPending=0 
"logfile=%LOCALAPPDATA%\Temp\dd_tfs_server_20150630121120_014_launchTfsMgmt.log"'
[0BF8:09D0][2015-06-30T12:40:47]e000: Error 0x800703ec: Process returned error: 0x3ec
[0BF8:09D0][2015-06-30T12:40:47]e000: Error 0x800703ec: Failed to execute EXE package.
[05F8:0390][2015-06-30T12:40:47]e000: Error 0x800703ec: Failed to configure per-machine EXE package.
[05F8:0390][2015-06-30T12:40:47]i000: MUX:  Installation size in bytes for package: launchTfsMgmt MaxAppDrive: 0  MaxSysDrive: 8192  AppDrive: 0  SysDrive: 4096
...[생략]...
result: 0x0, restart: None, ba requested restart:  No

또한 dd_tfs_server_20150630121120_014_launchTfsMgmt.log 파일의 내용을 보면, 이런 오류가 있습니다.

Launching TfsMgmt.exe
Path to TfsMgmt.exe : C:\Program Files\Microsoft Team Foundation Server 14.0\Tools\TfsMgmt.exe
Are we upgrading?
Found "SOFTWARE\Microsoft\TeamFoundationServer\14.0" registry key
returning False
TfsMgmt started with arguments: configure /noSplash /WaitForPid:1772
TfsMgmt is idle
Unable to find hidden sync window

만약 여러분의 로그도 이와 같다면, 별다르게 걱정하지 않아도 됩니다. 그냥 셋업 화면을 닫으면 이어서 설치가 자연스럽게 진행이 됩니다. 만약, 진행되지 않는다면 다음과 같이 명령행에서 직접 TfsMgmt.exe를 실행해도 무방합니다.

C:\Program Files\Microsoft Team Foundation Server 14.0\Tools\TfsMgmt.exe configure /noSplash




"Reporting Services" 서비스가 TFS App Tier와 다른 컴퓨터에 설치된 경우, "Full Server" 유형으로 TFS를 설치하면 "Analysis Services" 설정 단계에서 다음과 같은 오류가 발생할 수 있습니다.

tfs_2015_install_error_2.png

"
TF400069: When your configuration includes Reporting features on a remote machine, you must install the "Client Tools Connectivity" feature from SQL Server. Once you have installed the missing component, rerun the readiness checks.
"


메시지에 이미 답이 나와 있습니다. 간단하게 SQL 서버 설치를 시작해 "클라이언트 도구 연결(Client Tools Connectivity)" 구성 요소만 설치해 준 후, 이어서 "TFS App Tier" 구성을 마무리 해주시면 됩니다.




별도로 구성한 SharePoint 서비스에 연결하는 화면에서 다음과 같은 오류가 발생할 수 있습니다.

tfs_2015_install_error_3.png

"
TF255329: The following site could not be accessed:
http://...:[port]/. The server that you specified did not return the expected response. Either you have not installed the Team Foundation Server Extensions for SharePoint Products on this server, or a firewall is blocking access to the specified site or the SharePoint Central Administration site. For more infomration, see the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=198174).
"


방법은 메시지에 나온대로 SharePoint 중앙 관리 사이트에 대한 포트를 열어주고, 해당 서버에 "Team Foundation Server Extensions for SharePoint Products" 구성 요소가 설치되어 있는지 확인합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 6/26/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2015-08-07 12시17분
정성태

... 46  47  48  49  50  51  52  53  54  55  56  57  [58]  59  60  ...
NoWriterDateCnt.TitleFile(s)
12172정성태3/7/202015914개발 환경 구성: 474. docker - container에서 root 권한 명령어 실행(sudo)
12171정성태3/6/202010850VS.NET IDE: 143. Visual Studio - ASP.NET Core Web Application의 "Enable Docker Support" 옵션으로 달라지는 점 [1]
12170정성태3/6/20209492오류 유형: 599. "Docker Desktop is switching..." 메시지와 DockerDesktopVM CPU 소비 현상
12169정성태3/5/202011518개발 환경 구성: 473. Windows nanoserver에 대한 docker pull의 태그 사용 [1]
12168정성태3/5/202012175개발 환경 구성: 472. 윈도우 환경에서의 dockerd.exe("Docker Engine" 서비스)가 Linux의 것과 다른 점
12167정성태3/5/202011435개발 환경 구성: 471. C# - 닷넷 응용 프로그램에서 DB2 Express-C 데이터베이스 사용 (3) - ibmcom/db2express-c 컨테이너 사용
12166정성태3/4/202011102개발 환경 구성: 470. Windows Server 컨테이너 - DockerMsftProvider 모듈을 이용한 docker 설치
12165정성태3/2/202010782.NET Framework: 900. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 네 번째 이야기(Monitor.Enter 후킹)파일 다운로드1
12164정성태2/29/202011645오류 유형: 598. Surface Pro 6 - Windows Hello Face Software Device가 인식이 안 되는 문제
12163정성태2/27/202010066.NET Framework: 899. 익명 함수를 가리키는 delegate 필드에 대한 직렬화 문제
12162정성태2/26/202012819디버깅 기술: 166. C#에서 만든 COM 객체를 C/C++로 P/Invoke Interop 시 메모리 누수(Memory Leak) 발생 [6]파일 다운로드2
12161정성태2/26/20209505오류 유형: 597. manifest - The value "x64" of attribute "processorArchitecture" in element "assemblyIdentity" is invalid.
12160정성태2/26/202010183개발 환경 구성: 469. Reg-free COM 개체 사용을 위한 manifest 파일 생성 도구 - COMRegFreeManifest
12159정성태2/26/20208382오류 유형: 596. Visual Studio - The project needs to include ATL support
12158정성태2/25/202010195디버깅 기술: 165. C# - Marshal.GetIUnknownForObject/GetIDispatchForObject 사용 시 메모리 누수(Memory Leak) 발생파일 다운로드1
12157정성태2/25/202010069디버깅 기술: 164. C# - Marshal.GetNativeVariantForObject 사용 시 메모리 누수(Memory Leak) 발생 및 해결 방법파일 다운로드1
12156정성태2/25/20209421오류 유형: 595. LINK : warning LNK4098: defaultlib 'nafxcw.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
12155정성태2/25/20208719오류 유형: 594. Warning NU1701 - This package may not be fully compatible with your project
12154정성태2/25/20208591오류 유형: 593. warning LNK4070: /OUT:... directive in .EXP differs from output filename
12153정성태2/23/202011234.NET Framework: 898. Trampoline을 이용한 후킹의 한계파일 다운로드1
12152정성태2/23/202010961.NET Framework: 897. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 세 번째 이야기(Trampoline 후킹)파일 다운로드1
12151정성태2/22/202011521.NET Framework: 896. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 - 두 번째 이야기 (원본 함수 호출)파일 다운로드1
12150정성태2/21/202011336.NET Framework: 895. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 [1]파일 다운로드1
12149정성태2/20/202011082.NET Framework: 894. eBEST C# XingAPI 래퍼 - 연속 조회 처리 방법 [1]
12148정성태2/19/202012294디버깅 기술: 163. x64 환경에서 구현하는 다양한 Trampoline 기법 [1]
12147정성태2/19/202010933디버깅 기술: 162. x86/x64의 기계어 코드 최대 길이
... 46  47  48  49  50  51  52  53  54  55  56  57  [58]  59  60  ...