아침에 잠시 홈페이지에 들어가려고 하니까, 왠걸 접속이 안되는 것이였다.
더욱이 hind.pe.kr을 조회하니, 조회가 안되는 것.

이건 대체 무슨일인가 싶었다.

그런데, 확인해본 결과 hind.pe.kr 에 대한 네임서버를 아이네임즈 것을 사용했었는데,
이 네임서버를 통해 조회가 안되는 것이였다.
해킹을 당한건지, 아니면 관리자의 실수인지는 도무지 알길은 없지만,
결국 실망감만 가득 안게 했다.

포기. 포기. (어쩐지 어제 접속수가 2자리 수더니만...)


그래서 오늘 dnsever 쪽으로 옮겼다. 
옮기니까, 바로 되는 구먼... 헐.

여튼, 아이네임즈 조만간 망할지도 모르겠다 싶다. ㅎㅎ
 
728x90

지금 집에서는 좀 비싼 마우스를 사용하고 있다. 로지텍 G5 라는 모델의 마우스로 기왕 사는거 나중에 A/S를 한번 받아보려고 샀다. 그리고 한참을 이용했는데, 어느날 보니까, 마우스가 잘 움직이지 않는 것이다. 어떤 자세에서는 연결되서 제대로 연결되는데, 어느자세에서는 제대로 연결되서 사용할 수 있었다.

IMG_20111007_134116

그러다 갑자기 아예 연결자체가 안되더니, 결국 완전 침묵을 했다. 이 기회에 드디어 A/S를 받아 보려고 했다. 고객지원실 전화는 00798-601-8207 이였다. 일단 이 제품을 A/S 받기 위해서는 P/N 이라든가, 파트번호 등의 정보가 필요하다고 해서 마우스를 가지고 와서 전화를 했다.

그런데, 결과는 아주 예상 가능 레벨로 참담했다.

1년 내에 구매한 제품이면 A/S가 가능하나, 3년 내 구매한 제품은 영수증 및 구매한 증명 문서가 필요하다고 한다. 헐… 도데체… 2년 전 내가 구매한 내역을 뽑아달라고 하니 이 참…

뭐 상담 받는 애들이 뭐라 하겠는가? 그래봐야 메뉴얼 대로 대응할 뿐..

내 생각에는 결국 로지텍이든, MS 든, 뭐가 되든, A/S를 고려한 고가 마우스를 구입하겠다면 절대 말린다. 마우스든, 키보드든, 결국 소모품이다! 라는 생각으로 구매를 할 것. 퀄리티가 아닌 지속적으로 오래 사용할 마음이면, 절대 고가를 사지 말았으면 한다.

아무리 좋아도, A/S 받으려면, 신경을 많이 써야 된다. ㅋ

서론이 길었고, 스스로 A/S 하는 방법을 소개한다.

1. 마우스 분해

일단 원인을 찾아봤다. 그러기 위해서는 마우스를 분해해야 한다. 이를 위해서는 몇가지 수고 스러운 짓을 해야 한다.

밑바닥에서 다음 그림 처럼 붉은색 박스 부분의 나사를 뜯어내야 한다. 특히 맨 아래쪽과 맨 위쪽은 서퍼를 뜯어내야 그 안에 담긴 나사를 뺄 수 있다. 총 4 개를 뜯으면 된다.

Untitled

그러자 문제가 생긴 부분을 찾을 수 있었다.

2. 나의 문제는?

무척 간단했다.
아래의 그림에서 붉은 색 박스 안의 선 부분의 단선이였다. 그 자랑하는 천으로 감싸서 외부 충격에 강하게 만든것은 좋지만, 결국 천 부분이 꼬이더니, 결국 멋대로 빙글 빙글 돌다가 결국 USB 선 자체가 끊어졌다.

IMG_20111007_134217

결국 이 선을 따로 구매하면 좋을 텐데, 우리나라에서는 저 선은 따로 구매할 방법을 못찾았다. 찾아보니, G1 마우스 케이블은 쉽게 찾을 수 있는데 말이다. 결국 저 끊어진 부분은 강제로 연결하는 수 밖에 없었고, 안의 선을 까서, 납땜으로 연결해버렸다.

내부는 대략 아래 처럼 생겼다.

IMG_20111007_134207

생각 보다 뜯는 것은 어렵지 않고, 적당하게 문제해결을 할 수 있다.

마지막으로 마우스 밑면의 서퍼를 붙여야 되는데, 이 부분은 별도 구매를 통해서 처리해야 한다.
(로지텍에서는 파는 곳이 없는 듯.) 찾아본 결과,

http://www.rantopad.co.kr

라는 업체를 통해 구매를 하면 된다.

찝찝한 A/S를 스스로 하고 난 뒤, 훗 .. .하고 웃고 만다.

다음에는 절대 비싼 마우스 사지 않는다… 이게 내가 내린 결론!

728x90

나와는 큰 인연은 없었다.

아이폰이 있지도, 아이패드도 없었다. 단지, 맥북 만이 나와의 연결점.

하지만, 인문학을 배경으로 한 다양한 새로운 개념, 제품, 이야기들은 접점이 그다지 없는 내게도 상당한 매력으로 다가 왔다. 더욱이 췌장암 이야기에서 iOS5 소개에 나왔을 때 삐쩍 마른 그를 바라볼 때만 하더라도, 그런가 했다

그런데, 그가 막상 이렇게 가니, 이제 미래의 그림은 누가 그려 줄까라는 미묘한 두려움이 같이 왔다.

과연 이제 누가 엉뚱하고 재미난 이야기와 제품과 흥분된 호기심을 자아내 줄까?

아직 한참 남은 내 생애에 볼 수 있을까?

삼가 고인의 명복을 빕니다. Hero.

Steve Jobs  1955 - 2011

728x90

간만에 관리자 모드로 들어오니 2차 도메인 DNS 호스트 IP 이용 제한 안내 글이 떴다. (http://notice.tistory.com/1686). 예전에 RUKXER 님의 블로그를 보고, 2차 DNS 도메인 설정을 그럭저럭 구성했는데, 그 때 자신의 블로그를 연결하는 방법에서 이렇게 이야기했다

(1) DNSever의 네임서버 : DNSever 홈페이지에서 간단히 확인 가능
(2) 티스토리의 IP 주소 :
[시작]->[실행]을 눌러 cmd를 치고 엔터를 누르면 콘솔 창이 뜹니다. 여기서 다음 명령어를 칩니다.
nslookup (2차 도메인을 연결할 티스토리 계정 ex : rukxer).tistory.com
몇 줄이 출력되는데, 봐야할 부분은 non-authoritative answer 아래의 address 부분입니다. 여기에 IP가 뜨는데, 티스토리 회원들이면 공통적으로 211.172.252.15가 뜹니다. 굳이 따로 확인하실 필요없이 211.172.252.15를 사용하셔도 관계 없습니다.
※ (101129)
DDoS 공격에 대한 대비책으로 인해 티스토리에서 공식적으로 IP를 다른 것으로 사용하길 권하는 공지가 떴습니다.
211.172.252.15 대신에 121.254.206.21 를 사용하시기 바랍니다.
기본적인 원리는 변함이 없습니다.

※ (110830)
한 번 더 변경이 되었습니다.
110.45.229.135 / 180.70.134.239 
211.172.252.15, 121.254.206.21 IP는 추후 사용이 제한될 예정이라고 합니다.

뭐 장황한 부분은 제외하면, 지금 내 사이트를 기준으로 정리하자면, neohind.tistory.com 해서 나오는 IP 주소를 www.hind.pe.kr 로 연결하라는 것이였다.

그런데, 이번에 Tistory 에서 외부 접속 IP를 2개로 줄였고, 그에 맞추어서 설정을 바꿔 달라는 것이였다.

즉 지금까지 www.hind.pe.kr 을 121.254.206.21 로 연결되어 있던 것을 다음 IP 중 한개를 선택하면 된다.

110.45.229.135 / 180.70.134.239

한참 동안 어떻게 해야 되는지 헷갈렸다는…

바꾸고 나니까, 정말 사이트 속도가 올라간듯 싶다.

728x90

이 설치는 SharePoint Foundation을 간략하게 설치하거나, 개발 환경 정도로 구성할 때 사용한다. 실제 운영하거나, SharePoint Server 2010 Standard 이상 버전의 서버 군 설치와는 다르다.

이 작업을 위해 필요한 환경은 아래와 같다.

Hardware

  • x64를 지원하는 PC 혹은 가상 머신
  • RAM 4G 이상.
  • HDD 80G 이상.
  • 인터넷이 연결 가능한 네트워크

Software

  • MS Windows Server 2008 R2 Standard 혹은 Enterprise Edition.
  • SharePoint Foundation 2010 ( http://download.microsoft.com 에서 다운 가능 )
  • MS SQL 2008 R2 Express with Tools ( http://download.microsoft.com 에서 다운 가능 )
    - 그냥 Express 버전은 Management Tool 이 없어서, DB 설정이나, 구성을 할 때 사용하는 도구가 없다.

Overview

전체적인 설치 순서는 다음과 같다. 이 순서대로 캡쳐 화면과 함께 소개할 예정이다.

  1. MS Windows Server 2008 R2 설치.
  2. Windows 관련 설정.
  3. SharePoint Foundation 설치.
  4. SQL 2008 R2 로 업그레이드 및 DB 관리도구 설치.
  5. SharePoint Foundation 구성.
  6. 기타..

이제 위의 순서대로 설치하는 방법을 나열할 것이다.
캡쳐된 화면은 1024 * 768의 화면을 캡쳐했는데, 블로그의 표시 해상도 상 사이즈를 많이 줄였다.
만일 제대로 확인이 불가능하면, 해당 그림을 클릭해서 확대해서 보면 된다. 

 

MS Windows Server 2008 R2 설치

Windows Server 2008 R2 미디어를 준비한다. 그리고 필요하면 CD-Key 정도는 확보해야 한다. 정품인증을 하지 않아도  대략 30일 정도는 사용할 수 있지만, 그 이후에는 여러 가지 문제가 발생할 수 있다. 또한 Windows Update 부분에서도 일부 불이익을 받을 수 있다.  만일 단순 테스트 용도라면 굳이 정품 인증이 필요 없다.

먼저 일반적인 Windows 설치와 마찬가지로, 미디어를 넣고 시작한다. Windows Server 2008 R2는 Windows 7 기반과 동일한 비슷한 구조로 되어 있어 시작화면도 Windows 7과 비슷하다.

본격적인 서버 설치 화면은 다음과 같다.

로딩이 완료되면 제품을 선택하는 화면이 나온다. 이 중, Standard 혹은 Enterprise를 선택한다. 또한 주의할 점이 (Server Core Installation) 이라는 항목들이 있는데, 이것은 피하도록 하자. 반드시 (Full Installation)을 선택한다. (Server Core Installation)은 진짜 Server의 핵심적인 모듈만 설치하기 때문에, UI가 전혀 없고, 도스 창 하나만 달랑 나오기 때문에, 진짜 운영용 서버를 만드는게 아니면 피하는게 상책이다.

만일 HDD Disk가 여러 개인 경우나, 파티션이 나눠져 있거나, 혹은 기존에 설치된 운영체제가 있는 경우에는 디스크 관련 도구가 뜬다. 그 부분은 상황에 맞춰서 적절하게 설치위치를 잡아준다.

설치가 본격적으로 진행되면 다음과 같은 화면이 나타나면서 자동으로 설치가 진행된다.

설치가 완료되면 Administrator의 암호가 설정되지 않았다고 나오면서 암호를 넣어달라고 한다. 이 암호를 만든 후에, 그 암호로 로그인을 하도록 한다. 그러면 Windows Server 설치는 완료된다.

Windows Server 설정

반드시 필요하다고 하면 필요하고 필요 없다고 하면 필요 없지만, 일단 간단한 설정을 해주도록 한다.

먼저 Internet Explorer의 보안설정을 끄도록 한다. 여기서는 약자로 IE ESC 라고 하는데, 이 항목들을 모두 Off로 해줘야 한다. 안 그러면 보안 설정으로 인해 웹사이트 접속이 어렵기도 하고, SharePoint 내의 검색 엔진이 정상적으로 동작하지 않게 된다.

서버 관리자를 띄우면 바로 볼 수 있다. 아래의 그림에서 왼편에 있는 Configure IE ESC링크를 누르면 창이 뜨는데, 그 안의 내용에 모든 Off 부분에 설정하면 된다.

다음 작업들은 반드시 필요한 것은 아니지만, 관리 및 작업의 편의상 해주면 좋은 정도이다.

Windows Update 비활성화.

MS의 Windows Update 설정은 대부분 완전 자동으로 하는 것을 추천한다. 하지만, 서버 제품 군은 가급적 이 설정을 끄는 것이 좋다. 특히 예상치 못한 시점에 갑자기 꺼지는 경우도 있기 때문이다.

설정 방법은 간단하다.먼저 제어판에 들어간다.

다음은 System and Security에 들어간다.

Windows Update 항목에 들어간 뒤,

왼편에 조그만하게 있는 Chnage Settings에 들어간다.

선택상자에서 Never check for updates를 선택하고 OK를 클릭한다.

 

User Account Control 비활성화

UAC(User Account Control) 이란, Windows에서 동작하게 되는 중요한 자원(시스템 파일 혹은 레지스트리 정보, 설치된 프로그램 파일 등등)이 자동적으로 프로그램에서 손대게 될 때, 사용자에게 확인 작업을 하는 보안 기능이다. 특히 트로이의 목마 같이 사용자 몰래 동작해서 Windows의 주요 파일들을 멋대로 변조하거나, 시스템 감시를 하는 짓과 같은 것을 원천 차단하게 된다. 이 기능은 Windows의 최 중심부인 Kernel 레벨에서 원천 차단하기 때문에, 화면이 완전히 멈추고, 사용자 확인을 요청하는 확인, 취소 버튼만 보이게 된다. 그래서 보안 설정 상 이 부분을 그래도 두는것을 권장한다.

하지만, 매번 작업할 때마다, 화면이 잠기게 되면 매번 확인을 눌러주는 것도 일이 되는데다가, 원격에서 작업하는데 미묘하게 화면이 잠겨서 더이상애로사항이 꽃피게 된다. 가급적 이 옵션을 설정하는게 편하다. 물론 화면이 잠겨도 아무런 문제가 없다면 켜 놓는게 좋다.

먼저 제어판에 들어간다.

제어판 항목 중, User Account 항목을 선택한다.

User Accounts 안의 User Account를 선택한다.

User Account 안에 맨 아래에 위치한 Change User Account Control Settings 를 클릭한다.

그러면 UAC(User Account Control) 설정화면이 나오는데, 여기서 맨 아래 단계로 맞추고 OK를 클릭한다

 

SharePoint Foundation 설치.

이제 본격적인 SharePoint 설치가 되겠다. SharePoint 에서 설치 작업은 크게 파일 자체 설치와 DB 구성 설치로 나눌 수 있다. 그에 맞추어 설명한다.

먼저 SharePoint Foundation 설치 파일을 실행한다. 대개 http://download.microsoft.com 에서 SharePoint Foundation 이라고 치면 설치파일을 쉽게 찾을 수 있다. 이 파일을 받아 설치를 하면 된다. 더블 클릭하면, 자동으로 압축을 풀고 설치진행이 시작된다.

이 SharePoint Foundation도 나름 서버 제품이기 때문에, 서버 제품 특유의 Autorun 화면이 나온다.
그 중 “Install software prerequisites” 라는 항목을 클릭해서 실행한다. (Install 바로 다음에 있는 항목)

예전에는 설치를 진행할 때, 설치에 필요한 필수 항목들을 설치해 달라고 오류가 나거나, 별도 메시지 창을 제공했는데, 이번에는 별도 도구를 제공해서 한번에 필요한 요소들을 모조리 설정해주는 편리한 도구가 생겼는데, 바로 그것이 “Install software prerequisites”  이다.

실행하면 다음과 같은 항목들을 알아서 구성해준다.

  • Application Server Role, Web Server (IIS) Role
  • Microsoft SQL Server 2008 Native Client
  • Hotfix for Microsoft Windows (KB976462)
  • Windows Identity Foundation (KB974405)
  • Microsoft Sync Framework Runtime v1.0 (x64)
  • Microsoft Chart Controls for Microsoft .NET Framework 3.5
  • Microsoft Filter Pack 2.0
  • Microsoft SQL Server 2008 Analysis Services ADOMD.NET
  • Microsoft Server Speech Platform Runtime (x64)
  • Microsoft Server Speech Recognition Language - TELE(en-US)
  • SQL 2008 R2 Reporting Services SharePoint 2010 Add-in

먼저 설치되어 있으면 건너뛰고, 없으면 설치하도록 되어 있다.
이 모든 진행은 마법사 화면으로 되어 있으며, Next만 누르면 거의 완료된다.

설치 중간에 재 시작이 될 수 있는데, 로그인만 하면 자동으로 실행되므로, 반드시 설치했던 계정으로 계속 로그인 하도록 한다. (대개 특별한 계정을 만들지 않으면 Administrator 계정일 것이다. )

모든 설치가 완료되면 다음과 같은 요약화면이 뜬다.

완료가 되었으면 이제 SharePoint 자체를 설치한다. 
아래와 같은 초기 화면이 닫혔다면 다시 설치파일을 실행해서 화면에 나오게 한다.

이제 앞서 클릭했던 “Install software prerequisites” 다음 항목인 “Install SharePoint Foundation”을 선택하도록 한다.

자동으로 새로운 설치 진행 준비가 완료되면 다음과 같이 설치 종류를 물어본다. 하나는 Standalone 설치이고 다른 하나는 Server Farm 설치이다. SQL DB를 별도로 구성하려면 Server Farm을 해야 되지만, 이를 위해서는 Active Directory 까지 준비가 되어 있어야 한다. 그 정도 되면 여기서 설명하는 범위가 벗어나므로 그냥 Standalone으로 구성한다. 자동으로 SQL DB와 SharePoint 모듈이 모두 설치되며, 심지어는 자동으로 팀 사이트까지 만들어 놓게 된다.

여튼 Standalone을 선택한다.

모든 설치는 자동으로 진행된다, 끝날 때까지 기다리면 된다.

완료가 되면, 체크 박스와 함께 Finish 버튼이 나오는데, 체크 박스를 끄고 Finish를 한다. 다음 단계는 SharePoint 구성인데, 이 체크 박스의 체크의 의미가 그 SharePoint 구성 도구를 자동으로 띄울 것인지를 묻는 것이다.

우리는 SharePoint 구성 전에 , SQL Server 2008 R2에 대한 업데이트를 먼저 진행할 것이다.

 

SQL 2008 R2로 업그레이드 및 DB 관리도구 설치

SharePoint 가 2010이 되면서 SQL Server 2008 R2를 지원하게 되었는데, 이를 통해 업데이트 된 사항이 바로, FILESTREAM이라는 기능이다. 이 기능은 BLOB 즉 대용량 바이너리 파일을 DB에 직접 넣지 않고, 공유 폴더 같은 곳에 넣어주는 기능이다. SharePoint의 최대의 단점이 바로 이 바이너리 파일을 직접 DB에 넣는 문제라고 볼 수 있는데, 이 부분을 상당 부분 개선할 수 있다.

그렇지만, 이 FILESTREAM 기능을 사용하려면, SQL DB 자체의 설정 변경이 반드시 필요하다. 그 작업을 위해서는 당연한 것이지만, SQL Server가 2008 R2 이여야 하며, 또한 SQL Management Studio 가 필요하다.

이제부터 그 작업이라고 보면 된다.

먼저 MS SQL Server 2008 R2 Express with Tools 라는 것을 받는다. 반드시 With Tools 버전을 받는다. 다른 Express 버전과는 다르게, 이 버전은 SQL Managment Studio가 탑재되어 있다. 물론 별도로 받아 설치할 수 있지만, 한번에 받는 것이 더 편하다.

먼저 SQL Server 2008 R2로 업그레이드부터 한다.

SQL Server 2008 R2로 업그레이드

이 작업도 많이 애매한 편인데, 요즘 등록된 SharePoint Foundation 2010 에는 2008 R2 버전이 탑재되어 있다. 예전에 받아놓았던 SharePoint Foundation 설치 파일에는 그냥 2008만 담겨 있다.여튼 R2든 그냥 2008이든, 업그레이드 과정을 먼저 시도한다.

설치용 실행파일을 실행하면 Server 설치도구가 뜬다.

좀 메뉴가 복잡하게 되어 있는데, 왼편 Installation 항목을 클릭해서 화면을 전환한 뒤, 3가지 항목 중에 가운데에 위치한, Upgrade from SQL Server 2000, SQL Server 2005 or SQL Server 2008 을 클릭하도록 한다.


그러면 EUL 승인 화면이 뜨는데, 적당히 하고 Next를 하면, 대부분의 화면에서는 자동으로 넘어간다.

완료되면 정리된 요약 화면이 뜬다. 해당 서버 설정에 따라 Reboot를 요청하기도 하는데, Reboot를 해주도록 한다.

다시 서버 설치용 도우미 화면으로 돌아가도록 한다. 그리고 난 뒤, 이번에는 “New Insatllation or add features to an existing installation” 항목을 클릭한다.

무언가 자동으로 설정을 체크하고 자동으로 휙휙 넘어간다. EUL 화면이 뜨면 반드시 승인하고 넘어가도록 한다.

그러면 아래와 같은 선택화면이 나오는데, 모두 선택하도록 하자. 굳이 분리해서 구성할 정도로 옵션이 많지도 않기 때문에, 체크 박스 모두 선택한 뒤 Next를 클릭한다.

다음은 SQL의 인스턴스를 선택하는 부분인데, 여기서는 기존에 있는 인스턴스에 덧붙이는 형태로 한다. 그래서 선택 버튼에서도 Named Instance로 선택되어 있다. 특별히 변경하지 않고 그대로 진행한다.

다음은 서비스 동작 계정인데, 이 부분 역시 기본값으로 둔다.

이부분은 SQL 인증 방식인데, 만일 원격에서(다른 PC에서)해당 SQL DB를 열여볼 일이 있다면,반드시 아래 화면과 같이 설정한다. Windows authentication mode는 AD 계정이 아닌 이상 내부에서 밖에는 열 수가 없다. 그러므로 반드시 Mixed Mode를 선택하도록 한다. 그리고 암호를 설정한다.

같은 화면의 탭에서 FILESTREAM을 선택하는데, 여기 안의 모든 항목을 체크하도록 한다.

Next를 클릭하면, 역시 오류 사항 자동 보고 인데 역시 그냥 두고 Next

자동으로 구성되면서 무엇인가 열심히 설치된다.

완료되면 완료 보고 페이지가 뜬다.

 

SharePoint Foundation 구성

이제 본격적인 SharePoint 구성이다. 원래 이 부분은 Server Farm 인 경우 복잡다단하게 되지만, Standalone으로 하는 경우에는 대부분의 설정이 자동으로 구성되기 때문에, 지켜 바라만 봐도 된다.

실행 방법은 Start –> All Programs –> Microsoft SharePoint 2010 Product 에 있는 SharePoint 2010 Products Configuration Wizard 를 실행하면 된다.

간단한 형태의 마법사가 뜬다.

Next를 누르면 경고 메시지가 뜨는데, 그냥 Yes를 클릭한다. 이 작업에서 자동으로 설정되고, 자동으로 껏다가 켜지는 항목들을 나열하는 부분인데, 운영 중이 아닌 경우에는 무시해도 되는 항목들이다.

이제 설치를 가만히 지켜본다.

완료되면 Finish를 클릭한다. 그러면 자동으로 만들어진 웹사이트가 뜬다. 웹사이트 주소는 http://컴퓨터이름 이다.

현재 로그인한 계정의 ID와 암호로 로그인하면 된다.

 

간단하게 구성한 SharePoint는 여기까지. 설치 작업은 예전 WSS 3.0 보다 훨씬 간단해지고, 단순해진 것 같다.
더욱이 자동적으로 설치 환경을 꾸며주는 기능은 칭찬을 주고 싶다.

이 외에도 실제로 활용하려면, 몇몇 부분을 손봐야 겠지만, 당장 사용하는데에는 큰 문제가 없을 것이다.

728x90

예전 2007 시절에는 asmx 파일을 적당히 올려서 웹서비스를 구축했다. 특히 javascript를 이용해서 데이터를 전달할 때는 aspx 파일로 적당히 만들어 JSON으로 Return 하는 식으로 만들곤 했다. 그런데, 이번에 SharePoint 2010으로 넘어오면서 기존에 Copy&Paste 식의 배포가 아닌 SharePoint 솔루션 방식으로 하다 보니, 위의 방식으로 하기에는 왠지 폼이 나지 않았다. 게다가 WCF 라는 나름 유연한 통신 방식을 활용하고 싶다는 생각도 들었다.

그래서 WCF 인터페이스를 어떻게 WSP로 싸서 업로드 하고 그 내용을 Client를 통해 제어를 하는지 살펴보려고 한다.

이 모든 작업은 SharePoint 2010 을 기준으로 하며, 개발 도구는 Visual Studio 2010 으로 한다.

 

1. SharePoint Project 만들기.

새 SharePoint Project를 만든다. 템플릿 트리에서는 Visual C# –> SharePoint –> 2010 을 선택하고, 목록에서는 Empty SharePoint Project 를 선택한다. 적당한 위치에 프로젝트 이름과 위치를 결정하고 생성한다.

그리고 난 뒤, 배포 위치를 설정한다.
URL이 있는데, 이 URL은 디버그를 하기 위한 URL이다. 가급적 로컬로 잡는 것이 작업하는데 편하다. 굳이 이 부분의 URL에 연연하지 않아도 된다. 그리고 그 밑에 솔루션 유형을 선택하는 부분이 있는데, 그 중 “Deploy as a farm solution”을 선택한다.

 

WCF를 설치하는 작업은 _vti_bin 과 같은 시스템 쪽 위치의 가상 디렉터리를 활용할 예정이기 때문에, 제한된 형태로 구성되는 Sandboxed solution 으로는 무리가 있다. 그러므로 farm solution 으로 선택한다.

다 구성되면 다음과 같은 솔루션 구성을 보여준다.

 

2. WCF 파일 구성.

먼저 WCF 파일을 담을 위치를 구성한다. 구성하는 방법은 배포용 폴더 위치를 추가해주면 된다. 웹 서비스나, WCF와 같은 외부 노출된 실행 모듈은 대부분 /_vti_bin 에 위치해 있다. 이 폴더는 SharePoint 설정 및 도구가 있는 14 폴더 중 ISAPI 이다. ( 예 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI )

배포 도구에서 해당 위치에 파일을 하기 위해서는 해당 배포 위치를 구성해줘야 하는데, 배포 폴더를 하나 추가해줘야 한다. 추가하려면, 프로젝트 위에서 오른쪽 클릭을 해서 Context Menu를 띄운다. 그리고, Add –> SharePoint Mapped Folder... 를 선택한다.

SharePoint Mapped Folder를 클릭하면, Add SharePoint Mapped Folder 창이 뜨면, 그 중에 ISAPI를 선택한다.

이제 WCF용 파일들을 만들어야 된다. 이 파일들을 직접 cs 파일들과 svc 파일을 만들어도 되지만, WCF 프로젝트를 잠시 추가해서 템플릿을 받아 사용하는 것이 좋다.

솔루션에서 새로운 프로젝트를 추가하고, 프로젝트 중에서 WCF Service Library를 선택한다.
 

템플릿을 통해 만들어진 다음 2개의 파일을 SharePoint의 프로젝트에 복사한다.

  • Service1.cs
  • IService.cs

적당한 폴더를 만들어 구성할 수도 있고, 아니면 프로젝트 루트에 복사할 수도 있다.

이 파일은 WCF를 구성하기 위한 구성요소들로 IService.cs는 Contract를 담당하는 Interface 파일과 다른 하나는 그 Contract를 구현하는 구현 코드가 담기는 파일이다. 그 내용은 다음과 같다.

IService1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WcfServiceLibrary1
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        string GetData(int value);

        [OperationContract]
        CompositeType GetDataUsingDataContract(CompositeType composite);

         // TODO: Add your service operations here
    }

    // Use a data contract as illustrated in the sample below to add composite types to service operations
    [DataContract]
    public class CompositeType
    {
        bool boolValue = true;
        string stringValue = "Hello ";

        [DataMember]
        public bool BoolValue
        {
             get { return boolValue; }
             set { boolValue = value; }
        }

        [DataMember]
        public string StringValue
        {
              get { return stringValue; }
              set { stringValue = value; }
        }
    }
}

Service1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WcfServiceLibrary1
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in both code and config file together.
    public class Service1 : IService1
    {
        public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }

        public CompositeType GetDataUsingDataContract(CompositeType composite)
        {
            if (composite == null)
            {
                throw new ArgumentNullException("composite");
            }
            if (composite.BoolValue)
            {
                composite.StringValue += "Suffix";
            }
            return composite;
        }
    }
}

적당한 위치에 추가하면 다음과 같은 솔루션 구성을 볼 수 있다.

지금까지 구성한 내용은 WCF의 알맹이 부분이라면, 이제 외부에 노출되는 페이지를 만들어야 한다. 즉 ASMX나 ASPX 파일을 만들어야 되는 것이다. WCF에서는 이런 역할을 하는 파일이 SVC 파일이다. 그러나 현재 SharePoint 템플릿에서는 SVC 파일을 독자적으로 추가할 수 없으므로, 텍스트 파일로 추가하여 확장자를 SVC로 변경하는 것이다.

이제 새롭게 열린 파일 안에 다음과 같은 항목을 추가한다.

<%@ ServiceHost Language="C#" Debug="true"
Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressBasicHttpBindingServiceHostFactory
,Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral
, PublicKeyToken=71e9bce111e9429c"
Service="WcfServiceLibrary1.Service1, $SharePoint.Project.AssemblyFullName$" %>

위의 내용을 추가할 때, Service 항목 내에 위에서 추가한 WCF 메인 모듈의 네임스페이스와 클래스이름을 연결해서 구성한다. (필자는 특별히 바꾼게 없으므로 위와 같이 적었다.)

 

3. 참조(References) 구성

지금까지 파일들을 추가했으면, 이제 WCF를 구성하기 위해 필요한 DLL 참조를 구성해야 한다.

  1. System.ServiceModel
  2. System.ServiceModel.Web
  3. System.Runtime.Serialization
  4. Micosoft.SharePoint.Client.ServerRuntime

1, 2, 3번은 Add Reference를 한 뒤, .NET 탭에서 찾으면 금방 찾을 수 있다. 그런데, 문제는 4번 Assembly다. 저 Assembly는 .NET이나, COM에서 절대 찾을 수 없다. 직접 Folder를 따라가는 수 밖에 없다. 이를 위해서는 Browse 탭으로 넘어간다.

그리고 난 뒤, C:\ –> Windows –> Assembly –> GAC_MSIL –> Micosoft.SharePoint.Client.ServerRuntime –> 14.0.0.0__71e9bce111e9429c –> Microsoft.SharePoint.Client.ServerRuntime.dll 로 들어가서 Microsoft.SharePoint.Client.ServerRuntime.dll을 선택한다.

 

4. Attribute 설정하기.

원래 WCF에서 Address 설정부터, Binding, 인증 처리 등을 설정하기 위해서는 web.config를 통해서 설정하게 된다. 그런데, 현재 구성하려는 SharePoint 패키지 프로젝트에서는 특정 web.config 부분을 일일히 수정할 수 없다. 그것을 .NET Attribute 기능을 이용해서 적용할 수 있다.

이 부분은 구현하는 CS 파일( 위의 예제로 보면, Service1.cs 파일 )에서 적용한다.
여기서 사용하는 Attribute는 BasicHttpBindingServiceMetadataExchangeEndpointAttribute 와 AspNetCompatibilityRequirements 를 사용한다.

적용하는 코드 부분만을 보면 아래와 같다.

Service1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Microsoft.SharePoint.Client.Services;
using System.ServiceModel.Activation;
using Microsoft.SharePoint.Security;

namespace WcfServiceLibrary1
{

   [BasicHttpBindingServiceMetadataExchangeEndpointAttribute]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]   
    public class Service1 : IService1
    {
         public string GetData(int value)
         {
              return string.Format("You entered: {0}", value);
         }

         public CompositeType GetDataUsingDataContract(CompositeType composite)
         {
              if (composite == null)
              {
                       throw new ArgumentNullException("composite");
               }
               if (composite.BoolValue)
               {
                       composite.StringValue += "Suffix";
               }
               return composite;
          }
     }
}

using으로 세가지를 추가하고, class 위에 attribute로 두 개를 추가해주면 된다.

 

5. 프로젝트 파일 설정 변경.

프로젝트 자체가 SharePoint 구성요소에 대한 설정만 자동으로 추가된다. 그래서 WCF의 svc 파일 처리가 불가능하다. 이를 위해서는 수동적인 방법을 통해서 처리해야 한다.

먼저 SharePoint 프로젝트를 Text 파일로 열어 그 안의 XML 파일을 연다. csproj 파일을 메모장 같은 도구로 열면 된다. 그리고 Project –>PropertyGroup 엘리멘트 안에 <TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions> 라는 엘리멘트를 추가하면 된다.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{6EDE3191-D412-4B0A-917A-09BA91DAD509}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Nocson.EzSearch</RootNamespace>
    <AssemblyName>Nocson.EzSearch</AssemblyName>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{BB1F664B-9266-4fd6-B973-E1E44974B511};{14822709-….</ProjectTypeGuids>
    <SandboxedSolution>False</SandboxedSolution>
    <TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions>
    <SccProjectName>SAK</SccProjectName>
    <SccLocalPath>SAK</SccLocalPath>
    <SccAuxPath>SAK</SccAuxPath>
    <SccProvider>SAK</SccProvider>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <De…

저장한 뒤에 해당 프로젝트를 다시 로드 한다.

 

6. 배포 하고 테스트.

SharePoint 프로젝트의 특징은 역시 자동으로 .WSP라는 SharePoint 솔루션으로 만들어 주고 그것을 Debug로 설정한 사이트로 자동으로 업로드 해준다.

배포가 성공적으로 되면 웹사이트에서 http://localhost/_vti_bin/WCFTest.svc/MEX 를 입력한다.(꼭 맨 뒤에 /MEX가 있어야 정상적으로 접속이 가능하다.)

정상적으로 읽어오면 아래와 같은 화면이 뜬다.

 

7. 정리

이 연결하는 작업을 전부 수동으로 만들면 그리 문제 없이 설정하고 구성할 수 있다. 하지만, SharePoint의 솔루션으로 포함시켜서 만들려면 몇 가지 씩 손봐야 된다. 그런데도 굳이 SharePoint의 솔루션으로 작업하는 이유는 나중에 Uninstall이나 업그레이드를 보다 간단하게 수행할 수 있기 때문이다.

위의 글들은 아래의 문서들을 참고로 직접 적용 후 정리했다.

728x90

전에 Windows SharePoint Service 3.0 으로 협업을 해보자라는 글을 올린 적이 있다. 그 때 SharePoint 개발 회사에서 그만 두고 난 뒤 더 이상 쓰질 못했다. 물론 직접 돌려보면서 이런 저런 사용방법을 적을 수도 있지만, 너무 게으른 성품 때문에 결국 다 쓰지 못한 채 연재를 더 이상하지 못했다.

그 즈음 SharePoint 2010 이 나오고 있었고, 지금은 공식 판매 한지 벌써 1년 정도 지났다. 지금은 다시 회사를 옮기게 되었고, 어찌 어찌 하다 보니, 다시 SharePoint를 만지게 되었다. 오랜만에 SharePoint를 만지다 보니까, 예전 2007 시절에서 사용하던 방법은 더 이상 활용하기가 무리가 있다고 생각된다. 그래서 지금은 완전히 처음부터 다시 만진다는 느낌으로 하나씩 손 대보려고 한다.

그런데 지금 주 거래처가 미쿡이다 보니, 지금 사용하는 SharePoint는 영문판이다.
그래서 캡쳐되는 화면도 영문판으로 진행될 것 같다.

image

728x90

앞의 포스트(Verisign에서 인증서 받기)에서 Verisign 인증서를 받는 소개를 할 때, Windows Logo 프로그램을 통하면, $99로 받을 수 있다는 점을 언급했습니다.

그런데, 이 부분을 명확히 해야 할 점이 있는데요.

저 프로모션을 사용하는 조건은 바로 Windows Logo에서 사용하라고 하는 점입니다. Windows Logo에서는 단순히 회사 인증만 하면 되기 때문에, 1년 짜리를 한 개 받으면 평생 회사 인증용으로 사용할 수 있습니다. 그래서 이 프로모션을 통해서 얻을 수 있는 인증서는 오로지 Code Sign용 인증서고 그 유효기간이 딱 1년 짜리라는 것입니다.
그러므로 https를 위한 SSL 인증서나, 3~5년 짜리 인증서를 받을 때는 아무 소용이 없다는 점을 꼭 기억해주세요.

얻는 방법은 아래와 같습니다.

  1. 먼저 http://winqual.microsoft.com 을 접속합니다.
    오른쪽에 있는 Digital IDs 부분에 “Offer details are avaliable here” 라는 문장이 있는데, 그 중 “here” 이라는 링크로 들어갑니다.
  2. 그러면 Winqual 에 대한 도움말 페이지가 뜹니다. 스크롤을 내려 맨 아래쪽에 보면, “Verisign ‘Microsoft Authenticode’ Code Signing Digital Certificate” 라는 문장이 있는데, 이 링크를 클릭합니다.
  3. 그러면 Verisign에서 Promotion 코드가 자동으로 들어간 페이지가 뜹니다. 여기서 One Year를 선택한 상태에서 계속 진행하시면 됩니다.
  4. 나머지는 이전 Post 내용을 참고하세요.
728x90

+ Recent posts

728x90