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

1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...
NoWriterDateCnt.TitleFile(s)
13313정성태4/9/20234035개발 환경 구성: 671. Hyper-V VM에 Turbo C 2.0 설치 [2]
13312정성태4/8/20234089Windows: 244. Win32 - 시간 만료를 갖는 MessageBox 대화창 구현 (개선된 버전)파일 다운로드1
13311정성태4/7/20234552C/C++: 163. Visual Studio 2022 - DirectShow 예제 컴파일(WAV Dest)
13310정성태4/6/20234208C/C++: 162. Visual Studio - /NODEFAULTLIB 옵션 설정 후 수동으로 추가해야 할 library
13309정성태4/5/20234332.NET Framework: 2107. .NET 6+ FileStream의 구조 변화
13308정성태4/4/20234236스크립트: 47. 파이썬의 time.time() 실숫값을 GoLang / C#에서 사용하는 방법
13307정성태4/4/20233981.NET Framework: 2106. C# - .NET Core/5+ 환경의 Windows Forms 응용 프로그램에서 HINSTANCE 구하는 방법
13306정성태4/3/20233778Windows: 243. Win32 - 윈도우(cbWndExtra) 및 윈도우 클래스(cbClsExtra) 저장소 사용 방법
13305정성태4/1/20234163Windows: 242. Win32 - 시간 만료를 갖는 MessageBox 대화창 구현 (쉬운 버전)파일 다운로드1
13304정성태3/31/20234480VS.NET IDE: 181. Visual Studio - C/C++ 프로젝트에 application manifest 적용하는 방법
13303정성태3/30/20233836Windows: 241. 환경 변수 %PATH%에 DLL을 찾는 규칙
13302정성태3/30/20234466Windows: 240. RDP 환경에서 바뀌는 %TEMP% 디렉터리 경로
13301정성태3/29/20234587Windows: 239. C/C++ - Windows 10 Version 1607부터 지원하는 /DEPENDENTLOADFLAG 옵션파일 다운로드1
13300정성태3/28/20234235Windows: 238. Win32 - Modal UI 창에 올바른 Owner(HWND)를 설정해야 하는 이유
13299정성태3/27/20233992Windows: 237. Win32 - 모든 메시지 루프를 탈출하는 WM_QUIT 메시지
13298정성태3/27/20233983Windows: 236. Win32 - MessageBeep 소리가 안 들린다면?
13297정성태3/26/20234646Windows: 235. Win32 - Code Modal과 UI Modal
13296정성태3/25/20233972Windows: 234. IsDialogMessage와 협업하는 WM_GETDLGCODE Win32 메시지 [1]파일 다운로드1
13295정성태3/24/20234238Windows: 233. Win32 - modeless 대화창을 modal처럼 동작하게 만드는 방법파일 다운로드1
13294정성태3/22/20234423.NET Framework: 2105. LargeAddressAware 옵션이 적용된 닷넷 32비트 프로세스의 가용 메모리 - 두 번째
13293정성태3/22/20234487오류 유형: 853. dumpbin - warning LNK4048: Invalid format file; ignored
13292정성태3/21/20234594Windows: 232. C/C++ - 일반 창에도 사용 가능한 IsDialogMessage파일 다운로드1
13291정성태3/20/20234969.NET Framework: 2104. C# Windows Forms - WndProc 재정의와 IMessageFilter 사용 시의 차이점
13290정성태3/19/20234455.NET Framework: 2103. C# - 윈도우에서 기본 제공하는 FindText 대화창 사용법파일 다운로드1
13289정성태3/18/20233667Windows: 231. Win32 - 대화창 템플릿의 2진 리소스를 읽어들여 자식 윈도우를 생성하는 방법파일 다운로드1
13288정성태3/17/20233775Windows: 230. Win32 - 대화창의 DLU 단위를 pixel로 변경하는 방법파일 다운로드1
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...