Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 271. Team Foundation Server 2015 설치 방법 [링크 복사], [링크+제목 복사],
조회: 27329
글쓴 사람
정성태 (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분
정성태

... 121  122  123  124  125  126  127  128  129  130  [131]  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
1780정성태10/15/201424139오류 유형: 249. The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
1779정성태10/15/201419654오류 유형: 248. Active Directory에서 OU가 지워지지 않는 경우
1778정성태10/10/201418088오류 유형: 247. The Netlogon service could not create server share C:\Windows\SYSVOL\sysvol\[도메인명]\SCRIPTS.
1777정성태10/10/201421202오류 유형: 246. The processing of Group Policy failed. Windows attempted to read the file \\[도메인]\sysvol\[도메인]\Policies\{...GUID...}\gpt.ini
1776정성태10/10/201418203오류 유형: 245. 이벤트 로그 - Name resolution for the name _ldap._tcp.dc._msdcs.[도메인명]. timed out after none of the configured DNS servers responded.
1775정성태10/9/201419329오류 유형: 244. Visual Studio 디버깅 (2) - Unable to break execution. This process is not currently executing the type of code that you selected to debug.
1774정성태10/9/201426561개발 환경 구성: 246. IIS 작업자 프로세스의 20분 자동 재생(Recycle)을 끄는 방법
1773정성태10/8/201429743.NET Framework: 471. 웹 브라우저로 다운로드가 되는 파일을 왜 C# 코드로 하면 안되는 걸까요? [1]
1772정성태10/3/201418499.NET Framework: 470. C# 3.0의 기본 인자(default parameter)가 .NET 1.1/2.0에서도 실행될까? [3]
1771정성태10/2/201428024개발 환경 구성: 245. 실행된 프로세스(EXE)의 명령행 인자를 확인하고 싶다면 - Sysmon [4]
1770정성태10/2/201421646개발 환경 구성: 244. 매크로 정의를 이용해 파일 하나로 C++과 C#에서 공유하는 방법 [1]파일 다운로드1
1769정성태10/1/201424054개발 환경 구성: 243. Scala 개발 환경 구성(JVM, 닷넷) [1]
1768정성태10/1/201419441개발 환경 구성: 242. 배치 파일에서 Thread.Sleep 효과를 주는 방법 [5]
1767정성태10/1/201424597VS.NET IDE: 94. Visual Studio 2012/2013에서의 매크로 구현 - Visual Commander [2]
1766정성태10/1/201422415개발 환경 구성: 241. 책 "프로그래밍 클로저: Lisp"을 읽고 나서. [1]
1765정성태9/30/201425982.NET Framework: 469. Unity3d에서 transform을 변수에 할당해 사용하는 특별한 이유가 있을까요?
1764정성태9/30/201422235오류 유형: 243. 파일 삭제가 안 되는 경우 - The action can't be comleted because the file is open in System
1763정성태9/30/201423841.NET Framework: 468. PDB 파일을 연동해 소스 코드 라인 정보를 알아내는 방법파일 다운로드1
1762정성태9/30/201424520.NET Framework: 467. 닷넷에서 EIP/RIP 레지스터 값을 구하는 방법 [1]파일 다운로드1
1761정성태9/29/201421528.NET Framework: 466. 윈도우 운영체제의 보안 그룹 이름 및 설명 문자열을 바꾸는 방법파일 다운로드1
1760정성태9/28/201419794.NET Framework: 465. ICorProfilerInfo::GetILToNativeMapping 메서드가 0x80131358을 반환하는 경우
1759정성태9/27/201430961개발 환경 구성: 240. Visual C++ / x64 환경에서 inline-assembly를 매크로 어셈블리로 대체하는 방법파일 다운로드1
1758정성태9/23/201437791개발 환경 구성: 239. 원격 데스크톱 접속(RDP)을 기존의 콘솔 모드처럼 사용하는 방법 [1]
1757정성태9/23/201418373오류 유형: 242. Lync로 모임 참여 시 소리만 들리지 않는 경우 - 두 번째 이야기
1756정성태9/23/201427365기타: 48. NVidia 제품의 과다한 디스크 사용 [2]
1755정성태9/22/201434167오류 유형: 241. Unity Web Player를 설치해도 여전히 설치하라는 화면이 나오는 경우 [4]
... 121  122  123  124  125  126  127  128  129  130  [131]  132  133  134  135  ...