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

... 31  32  33  34  35  36  37  38  39  40  41  42  [43]  44  45  ...
NoWriterDateCnt.TitleFile(s)
12573정성태3/22/202110142개발 환경 구성: 556. WSL 인스턴스 초기 설정 명령어 [1]
12572정성태3/22/20219663.NET Framework: 1029. C# - GC 호출로 인한 메모리 압축(Compaction)을 확인하는 방법파일 다운로드1
12571정성태3/21/20218829오류 유형: 706. WSL 2 기반으로 "Enable Kubernetes" 활성화 시 초기화 실패 [1]
12570정성태3/19/202113133개발 환경 구성: 555. openssl - CA로부터 인증받은 새로운 인증서를 생성하는 방법
12569정성태3/18/202112103개발 환경 구성: 554. WSL 인스턴스 export/import 방법 및 단축 아이콘 설정 방법
12568정성태3/18/20217614오류 유형: 705. C# 빌드 - Couldn't process file ... due to its being in the Internet or Restricted zone or having the mark of the web on the file.
12567정성태3/17/20219033개발 환경 구성: 553. Docker Desktop for Windows를 위한 k8s 대시보드 활성화 [1]
12566정성태3/17/20219383개발 환경 구성: 552. Kubernetes - kube-apiserver와 REST API 통신하는 방법 (Docker Desktop for Windows 환경)
12565정성태3/17/20216809오류 유형: 704. curl.exe 실행 시 dll not found 오류
12564정성태3/16/20217293VS.NET IDE: 160. 새 프로젝트 창에 C++/CLI 프로젝트 템플릿이 없는 경우
12563정성태3/16/20219259개발 환경 구성: 551. C# - JIRA REST API 사용 정리 (3) jira-oauth-cli 도구를 이용한 키 관리
12562정성태3/15/202110454개발 환경 구성: 550. C# - JIRA REST API 사용 정리 (2) JIRA OAuth 토큰으로 API 사용하는 방법파일 다운로드1
12561정성태3/12/20219060VS.NET IDE: 159. Visual Studio에서 개행(\n, \r) 등의 제어 문자를 치환하는 방법 - 정규 표현식 사용
12560정성태3/11/202110297개발 환경 구성: 549. ssh-keygen으로 생성한 개인키/공개키 파일을 각각 PKCS8/PEM 형식으로 변환하는 방법
12559정성태3/11/20219790.NET Framework: 1028. 닷넷 5 환경의 Web API에 OpenAPI 적용을 위한 NSwag 또는 Swashbuckle 패키지 사용 [2]파일 다운로드1
12558정성태3/10/20219268Windows: 192. Power Automate Desktop (Preview) 소개 - Bitvise SSH Client 제어 [1]
12557정성태3/10/20217968Windows: 191. 탐색기의 보안 탭에 있는 "Object name" 경로에 LEFT-TO-RIGHT EMBEDDING 제어 문자가 포함되는 문제
12556정성태3/9/20217164오류 유형: 703. PowerShell ISE의 Debug / Toggle Breakpoint 메뉴가 비활성 상태인 경우
12555정성태3/8/20219260Windows: 190. C# - 레지스트리에 등록된 DigitalProductId로부터 라이선스 키(Product Key)를 알아내는 방법파일 다운로드2
12554정성태3/8/20219032.NET Framework: 1027. 닷넷 응용 프로그램을 위한 PDB 옵션 - full, pdbonly, portable, embedded
12553정성태3/5/20219534개발 환경 구성: 548. 기존 .NET Framework 프로젝트를 .NET Core/5+ 용으로 변환해 주는 upgrade-assistant, try-convert 도구 소개 [4]
12552정성태3/5/20218730개발 환경 구성: 547. github workflow/actions에서 Visual Studio Marketplace 패키지 등록하는 방법
12551정성태3/5/20217611오류 유형: 702. 비주얼 스튜디오 - The 'CascadePackage' package did not load correctly. (2)
12550정성태3/5/20217296오류 유형: 701. Live Share 1.0.3713.0 버전을 1.0.3884.0으로 업데이트 이후 ContactServiceModelPackage 오류 발생하는 문제
12549정성태3/4/20217872오류 유형: 700. VsixPublisher를 이용한 등록 시 다양한 오류 유형 해결책
12548정성태3/4/20218692개발 환경 구성: 546. github workflow/actions에서 nuget 패키지 등록하는 방법
... 31  32  33  34  35  36  37  38  39  40  41  42  [43]  44  45  ...