'MOSS 2007'에 해당되는 글 31건

  1. 2009.03.12 SPSite(사이트콜렉션)의 사이트 용량 변경 방법
  2. 2009.01.22 MOSS의 게시형 사이트에서 시작페이지와 마스터페이지 변경방법
  3. 2008.07.10 협업 좀 하자 - WSS 3.0 - 팀 사이트 공지사항 쓰기 (2)
  4. 2008.07.08 협업 좀 하자 - WSS 3.0 - 협업 사이트 사용하기 전에.. (1)
  5. 2008.07.03 협업 좀 하자 - WSS 3.0 - 기본 구성.
  6. 2008.07.01 협업 좀 하자 - WSS 3.0 - 기본 설치 [2]
  7. 2008.06.30 협업 좀 하자 - WSS 3.0 - 기본 설치 [1] (2)
  8. 2008.06.28 협업 좀 하자 - WSS 3.0 - 그 시작
  9. 2008.04.17 SharePoint 다국어 지원에 대한 오해. (2)
  10. 2008.03.26 SPList의 문건에 대한 읽기/쓰기에 관한 속성 처리. (4)
  11. 2008.01.17 User Field ... 우리는 농락 당했구나.
  12. 2008.01.15 새로운 지식. 64bit 머신에서는 웹가든이 필요없다.
  13. 2008.01.14 Site Administrator 등록방법
  14. 2008.01.10 액세스 거부시 액세스 요청 항목이 나타나게 만들기.
  15. 2007.11.05 간단한 SPList 권한 체크 방법
  16. 2007.10.24 SPList 추가 또는 SPList 템플릿 Feature 추가 중에 발생되는 오류 중.
  17. 2007.10.24 MOSS 내 가상 디렉토리내에 Output Cache 비활성화 하기. (2)
  18. 2007.08.17 콘텐츠 데이터베이스의 사이트 수는 사이트 콜렉션 수.
  19. 2007.08.14 MOSS 2007 프로파일 리스트.
  20. 2007.08.09 SPListItem 중 원하는 되풀이 데이터만 가져오기.
  21. 2007.08.07 MOSS 2007 관련 계정 변경 방법 모음
  22. 2007.08.04 Shared Service Provider(공유 서비스 공급자)의 삭제와 관련해서..
  23. 2007.06.22 권한 상승 엘리베이트 태우기
  24. 2007.06.07 오류 덤프 페이지 띄우기.
  25. 2007.06.03 MOSS 2007상에 가상 디렉토리 만들기 [기본편]
  26. 2007.05.24 MOSS 2007 이벤트 핸들러 편집기.
  27. 2007.05.11 AD 없이 SharePoint 설치하기.
  28. 2007.04.23 사용자 프로퍼티에서 특정 프로퍼티 값 가져오기
  29. 2007.04.23 MOSS 2007 마스터 페이지 수정 권한
  30. 2007.03.27 Move Move~

다음 코드를 참고하세요…

long nQuata = long.Parse("500");

 

// 용량은 1byte로 계산 1K 1024, 1M 1024*1024

nQuata = nQuata * 1024L * 1024L;

 

           

SPSite site = new SPSite("http://www.knoie.com/sites/1");

 

 

Microsoft.SharePoint.Administration.SPSiteAdministration admin = new Microsoft.SharePoint.Administration.SPSiteAdministration(site.ID);

 

Microsoft.SharePoint.Administration.SPQuota quota = new Microsoft.SharePoint.Administration.SPQuota();

           

// 저장 용량(0L은 제한없음)

quota.StorageMaximumLevel = nQuata;

// 경고 용량(0L은 제한없음)

quota.StorageWarningLevel = 0L;

// 최대 사용자 수(0은 제한 없음)

quota.InvitedUserMaximumLevel = 0;

           

 

admin.Quota = quota;

admin.Dispose();

 

이 코드의 핵은 SPSiteAdministration 인데 이 안에서 SPSite를 관리자 모드로 설정하여 SPSite 설정을 다양하게

해줄 수 있습니다. 이 때, 내부적으로 다음과 같은 코드로 현재 사용자가 권한이 있는지 체크합니다.

if (this.m_Site.WebApplication.Farm.CurrentUserIsAdministrator())
{
            this.m_Site.AdministratorOperationMode = true;
}

 

즉 위의 코드는 관리자 권한으로 실행되는 페이지 안에서만 실행됩니다.

 

신고
Posted by 하인도

MOSS의 기능 중(WSS의 상위 제품) 게시라는 기능이 있다.
Publish 라고 하며, ASPX 페이지 자체를 보관할 수 있고, 다양한 마스터를
미리 얹어 놓고, 변경해줄 수 있는 진정한 포탈을 위한 사이트라고 보면 된다.

이렇게 구성된 사이트에서 시작페이지와 마스터페이지를 프로그램 상으로 변경하는
방법을 소개한다.

1. 시작 페이지 변경 방법.

보통 시작페이지 설정은 사이트 설정 페이지 내에서 시작페이지 변경에 들어가,
설정하려는 페이지의 URL을 넣어서 처리하곤 했다. 그런데, 프로그램 상에서는
어떻게 처리해야 되는지 전혀 나와있지 않아 조금 곤란했다.
같은회사에 있는 녀석이 이 내용을 찾았는데, 그 내용을 정리하면 아래와 같다.

SPFolder forder = web.RootFolder;
forder.WelcomePage = "Pages/MyStartPage.aspx";
forder.Update();

저 Pages라는 내용이 있는데, 게시 사이트를 만들게 되면 자동으로 생성되는 ASPX 저장용 SPList이다. 이 SPList 상에 저 페이지를 넣어주면 된다. 해당 SPList 에 파일 넣는 방법은 아래와 같다.

FileStream chgstartFile = new FileStream(this.MapPath("/_layouts/MyStartPage.aspx"), FileMode.Open)
SPFolder forder = web.RootFolder;
web.Files.Add("MyStartPage.aspx", chgstartFile.OpenBinary(), true);
folder.Update();
chgstartFile.Close();

일단 Pages 라는 List에 잘 들어가면 한큐에 끝난다.( 사이트 생성용 ONET.XML에서도 처리할 수 있다고 한다. )

 

2. 마스터 변경 방법

이 방법이 제일 쉽다. 일단, 위의 파일 업로드하는 로직을 이용하여, /_catalogs/masterpage/ 라는 SPList에 변경할 마스터 파일을 업로드 해준다.

그리고 난 뒤 아래의 로직을 실행하면 된다.

web.MasterUrl = "/_catalogs/masterpage/MyMaster.master";
web.Update();

일단 web의 Root 폴더와 web 자체의 Update 해야 하므로, 최소한 모든 권한을 가진 사용자여야만 사용가능한 명령이다.

신고
Posted by 하인도

기나 긴 설치, 기나긴 구성은 이제 슬슬 정리하고,  이제 본격적으로 팀 사이트를 한번 써 보자.

맨 처음 팀 사이트를 접속하게 되면 NTLM창이 뜨고 그 안에 아이디와 암호를 넣게 되어 있다. (물론 앞의 포스팅 맨 하단에 위치한 내용 처럼 "신뢰된 사이트"로 등록되어 있고 아이디와 암호를 저장한 상태이면 자동으로 로그인 할 것이다. ) 그러면 대망의 첫 화면이 뜬다.
WSS에 "팀 사이트"를 만들도록 요청하면 아래의 화면 정도의 정보를 표시해 준다.

맨 처음 할 일은 우리의 공지 사항을 쓰는일 부터 하도록 하겠다.

자 써보자 공지사항!

일단, 공지 사항 부터 써보자. 공지 사항은 기본적으로 맨처음 화면에서 나오기 때문에, 팀 원 모두가 제일 먼저 확인할 필요가 있는 사항들을 보여준다. 그래서 팀 내에서 발생되는 각종 공지 내역을 이곳에서 쓸 수 있다. 모두에게 알릴일이 있다면 여기를 이용하자.

공지사항 쓰기.

고작 공지사항 쓰는데, 왠 제목을 나누어 쓸까, 무지하게 어렵나? 라고 생각하시는 분들이 있겠지만, 팀 사이트 설정이 워낙 다양하고 개인별로 변경도 가능해서 어떤 분은 새 공지사항 추가가 안나온다고 투덜대시거나, 공지사항 이라는 항목 자체가 없다고 하신다. - 잘 확인해보시면 무의식 적으로 무언가 조작을 하셨는데, 그게 무엇인지 모르실때 종종 이런 사고가 터진다. - 다양한 케이스들에 대해서는 계속 언급 드리겠다.

일단, 전체 화면 상에서 이상한 것들을 자꾸 눌러대지 않으시면 최소한 아래와 같은 부분을 확인할 수 있다. 그 중 새 공지사항 추가를 클릭하자.

아니면 공지 사항이라는 제목 부분을 클릭한 뒤 나오는 전체 목록 화면에서 새로 만들기 버튼을 클릭해도 된다.

2가지 방법 중 어느 방법이든 아래와 같은 화면이 뜨는데, 제목과 본문을 넣으면된다. 혹시 제한성 공지인 경우 - XX일까지 한정 이벤트 등등 - 만료일자를 선택해서 넣어주면 된다.

다 기록한 뒤 확인 버튼을 클릭하면 최종적으로 공지 사항이 등록된다. 이제 첫화면으로 돌아와 보면 앞서 등록한 공지사항이 잘 보일 것이다.

공지 사항 편집 및 삭제

특정 공지사항을 편집 하거나 삭제하려면, 해당 항목의 문건 안으로 들어가야 한다 만일 첫 화면에서 표시가 된다면 해당 공지 사항의 제목을 클릭한다.

아니면 해당 공지 사항 목록으로 넘어간뒤("공지 사항"이라는 부분을 클릭해서), 편집하려는 목록에서 클릭하면 된다. 가끔 마우스가 흔들려서 이상한 메뉴가 떳으면 당황하지 말고, 항목 편집을 선택해서 들어와도 무방하다.
 
    한뒤~~~~
     

그러면 아래 그림과 같은 항목 전체 내용을 보여주는 화면이 있는데 윗쪽 버튼 중 항목 편집 버튼을 클릭한다.

그러면 최초 공지 사항을 쓰는 것과 같은 화면이 뜨는데, 원하는 항목을 고친 뒤 확인을 클릭하시면 된다.

삭제 방법은 이미 위에서 슬금 슬금 지나쳐왔다.

삭제할 항목 위에서 메뉴가 나오게 한뒤, 항목 삭제를 선택하면 삭제된다. 앞에서는 어쩌다가 메뉴가 나온다고 했지만, 사실 항목 위에서 제목 외의 영역을 클릭하면 된다.(아래 그림의 붉은 박스 영역)

혹은 해당 항목 안에 들어가 항목 삭제를 클릭하면 된다.

사고 치신 분들을 도와드리자.

윗부분 까지는 기본적인 공지사항에 대한 CRUD - Create(생성), Read(읽기), Update(수정/편집), Delete(삭제)를 하는 가장 기본적인 수행 방법들을 나열했다.

그런데 여기서 중요한 점은 위의 모든 항목들의 출발점이 바로 맨 첫화면에 공지사항이 있다는 사실이다. 종종 사고 치시는 분들 중에 이 공지 사항 부분이 없다고 외치시는 분이 계신다. 또, 공지사항 전체 목록을 볼 수 있는 링크가 눈에 팍 안 띈다. 이런 점들을 개선하는 방법에 대해서 설명한다.

첫 화면에 공지사항이 안보여요!!!

가끔 호기심 많은 분들중에서 많이 볼 수 있다.
( WSS 문제로 발생될 수 있는 경우는 극히 드물다. WSS 자체 문제라면, 대부분의 모든 사람들이 동일하게 문제가 발생한다. 이런 경우에는 WSS 설정 문제이므로, 앞의 포스트들을 확인하면서 점검해주도록 한다. ).
무언가를 수정한 뒤 그 사실을 잊어먹거나 손댄 사실에 대해 잡아때시는 중일 것이다. 그렇다고 복구가 불가능한 것은 아니다. 방법을 일러드리도록 하겠다.

일단 문제가 발생하신 분의 화면에 들어가도록 한다.

아래의 화면은 1팀 최고, 호기심 덩어리 마영수 주임(hoto95)의 작품이다. 휑하다 못해 아무것도 없다.

그에게 무슨 짓을 한 거냐고 물어봤더니, 아무짓도 안했다고 한다.
그럴리가 없는데 운을 떼도, 아니란다. 일단 사실 추궁은 나중의 일.
복구는 해줘야 겠다는 생각을 먼저하도록 하자.

일단 해당 사용자로 로그인한 상태에서 이름 부분을 클릭하여 메뉴를 띄우도록 한다.
메뉴 내용 중, 페이지 컨텐츠 원래대로를 선택하도록 한다.

그러면, 알림 메시지가 뜨는데 확인을 클릭하고 넘어가도록 한다.

최종적으로 아래와 같은 화면으로 복귀되었음을 알 수 있다.

이 문제가 발생되는 대부분의 원인은 호기심이다.
( 그러나 말리지는 말자. 이런 분들이 재미있는 기능을 찾아내거나, 해괴한 사용법들로 발생되는 다양한 케이스들을 추적하다 보면 나름대로 경험을 쌓을 수 있는 최고의 교재를 체험식 제공을 해주시는 분들이다. WSS에 대한 다양한 경험과 능력 획득이 목표로 생각하시는 분은,  이런 분 꼭 옆에 두셔야 한다.!!!! )

일단 필자 기준으로 위와 같은 문제를 접하게 되는 주요 원인은, 각 구성요소 오른쪽 끝에 삼각형이 있어 그 부분을 클릭하신 것이다. 신기하게도 메뉴가 뜨고 그 메뉴에서 닫기를 하니 사라져 버린 것이다.

공지 사항 목록을 모두 보는 메뉴를 하나 열자.

이 부분은 공지사항 뿐만 아니라, 유용한 팁이 될 수 있을지도 모르겠다.
지금까지 공지사항 목록은 첫 화면에 위치한 공지사항을 클릭해서 목록을 확인했다. 그러기 보다는 전체 공지사항 목록을 쉽게 따라 갈 수 있는 부분을 넣어주면 편할 수 있다.
첫화면에 위치한 왼쪽 목록에 넣는 것이다.

일단 관리자 계정으로 로그인하자.
그리고 난 뒤 공지사항의 URL 주소를 먼저 파악하도록 한다. 공지 사항 목록이 보이는 부분으로 들어가보면 주소 줄에 나온다(공지 사항 부분의 "공지 사항" 부분을 클릭하면 된다).

주소를 보면 http://사이트URL/Lists/Announcements/AllItems.aspx 라고 적혀 있을 것이다. 예제화면에는 http://wsstestsvr/Lists/Announcements/AllItems.aspx 이다.
여튼 이 주소를 적당한 위치에 복사 해 놓는다. - 메모장 이든, 포스트 잇이든...

그리고, 상단 위쪽에 있는 사이트 작업을 클릭 한 뒤, 메뉴를 띄우자. 메뉴 중 사이트 설정이 있는데 그 항목을 클릭해서 들어간다. (아마 이전 포스트에서 사용자 로그인 처리관계로 들어가 본 경험이 있을 것이다.)

수많은 항목 중, 디자인 묶음에 있는 빠른 실행 부분을 클릭하도록 한다.

그러면 트리스러운 무언가들이 쭉 나열되어 있다.

아마도 치밀한 기억력의 소유자나, 날카로운 관찰력을 가지신 분이시라면, 바로 이 부분이 모든 화면에 나온 왼쪽 메뉴 목록과 동일함을 알 수 있을 것이다. ( 혹시 모르셨어도, 한번 메인 페이지에 갔다가 다시 이곳과 비교해 보면 알 수 있다. ).
결론 부터 말하자면, 아까 복사한 주소 값을 여기에 추가하면 된다.

입력하는 방법은 아래와 같다.

  1. 상단에 위치한 새 제목을 클릭 한다.

  2. 그리고 그 다음에 나오는 부분에 아래와 같이 입력을 해주면 된다.

  3. 그러면 다음과 같이 그 결과물을 볼 수 있다.

  4. 꼼꼼한 당신. 나름 공지 사항인데, 어찌 맨 아래? 라고 할 수 있다. 이런 경우 바로 순서 변경 버튼을 클릭한다. - 새 제목 버튼  오른쪽에 위치 - 그리고 난 뒤 순서 배치 정하는 화면에서 숫자를 1로 바꾸어준다.

일단, 각종 상황에 따라 그 결과를 처리할 수 있도록 이것 저것을 제시해 보았다.
사실 단순히 공지사항만 쓴다면 아마도 포스팅 할 가치조차 없는 내용이지 않을까 싶다.  위의 내용이 마치 당연한 수순 처럼 보일지는 모르겠지만, 알게 모르게 WSS 내에 기능 몇가지를 꺼내서 보여드렸다. - 잘 모르시겠다면, 나중에 또 비슷한 일이 생기면 해보시면 알 수 있을 것이다. - 이후에 포스팅 되는 내용들도 기본 기능 사용 방법을 일러 드린 후 그 뒤에 추가적으로 어떻게 해야 되는지를 다시 천천히 일러드릴 예정이다.

P.S. 벌써 비축분이... 바닥을 -_-;;;;;

신고
Posted by 하인도

협업 사이트를 맨처음 열면 무언가 이것 저것은 있는데, 과연 이것을 가지고 어떻게 사용해야 되는지 막막해 할 수 있다. ( 흰 도화지는 아니지만, 설명서 없는 프라모델 부품 모음 같은 느낌 ).
그래서 이제부터는 각각의 내용 설명할 때, 실제 예제까지는 아니지만, 가상의 부서를 하나 만들어 그 부서를 기준으로 어떻게 사용되는지를 설명할 것이다.

1. 가상 회사 소개

회사명은 KNOIE (법인명은 노이에). 전체 직원은 대략 80여명. 그 중, 프리랜서가 10여명 된다. 다양한 부서가 있지만 그 중 솔루션 사업부의 개발 1 팀을 기준으로 하려 한다.
팀 구성원은 총 10명이며, 팀 내에서도 일부씩 파견이 잦은 편이다.
(지금 내가 있는 회사, 부서와 유사)
그 구성원 목록은 아래와 같다.

이름 직책 업무 사용계정
소영희 차장 팀 관리 및 PM younghee
박상욱 과장 팀 관리 및 PL woogi
홍지선 대리 개발 및 PL jshong
고선영 대리 개발 및 PL sunlight
김강훈 주임 개발 steelguy
주백석 주임 개발 parameter
마영수 주임 개발 hoto95
손윤진 사원 개발 syj

2. 사용자 계정 및 그룹 만들기

실제 팀 사이트를 운영하려면, 그 사이트를 사용할 계정이 필요하다. 물론 이 Administrator 계정을 주고 사용하라고 할 수 있지만, 그렇게 되면, 누가 들어와도 항상 Administrator이기 때문에, 사용의 주체가 누군지 전혀 알 수 없다. 또한 사이트 내에 접근 권한이 필요한 비밀 문서도 모두 훔쳐볼 수 있기 때문에, 곤란할 수도 있다.
그래서, 가급적 각 사용자 별로 계정을 만드는 것이 좋다. 또한 관리적인 측면을 강화하기 위해서는 계정 뿐만 아니라, 그 계정을 묶는 그룹도 같이 만드는 것이 좋다.

2.1. 사용자 계정 만들기

보통 사이트 구축하게 되면 회원 가입이라는 기능도 만들고, 사용자 정보도 입력받게 한다. 물론 이 WSS에서도 그런 기능을 추가할 수 있지만, 그렇게 되면 있는데로 그대로 쓰기 원칙에 위반한다. - 설명이 귀찮은 점도 있다. - 그래서 여기서는 Windows 계정을 서버에 만드는 형태로 할 것이다. 암호 초기 설정이나 변경할 때 마다 서버에 찾아가야 되는 불편함이 있긴 하지만, 그 정도는 감수해주셔야....

여튼, Windows 계정을 서버에 등록하는 방법은 아래와 같다.

  1. 서버에 관리자 계정으로 로그인을 한다.
  2. 내 컴퓨터에서 오른쪽 버튼을 눌러 컨텍스트 메뉴가 뜨면, 그 중에 있는 관리(G)를 선택한다.
  3. 컴퓨터 관리 창이 뜨면 왼편 트리 항목 중 로컬 사용자 및 그룹 항목을 선택한다.
  4. 오른편의 사용자 항목에서 오른쪽 버튼을 클릭하면 컨텍스트 메뉴가 뜨는데 그 중 새 사용자(N)을 선택한다.
  5. 새 사용자  창이 떴으면 그 안에 각각의 항목을 넣는다. 넣는 내용은 다음 표를 참고한다.
    항목명 넣을 내용
    사용자 이름 사용자 계정을 넣는다. 즉 로그인에 쓸 ID를 의미한다.
    전체 이름 외부에 표시될 때 사용되는 이름. 즉 한글 이름을 넣는다.
    설명 이 계정의 설명을 넣는다. 여기서는 직책/역할을 넣는다.
    암호/암호 확인 사용자 암호를 넣는다. 해당 분이 직접와서 입력해도 좋고, 일괄적으로 동일한 암호를 넣어도 상관 없다. 알아서 한다.
    기타 선택 사항 계정 관련 정책을 선택하는 항목들이다. 다양한 부분이 있지만, 그냥 암호 사용 기간 제한 없음(W)만 체크한다.
    위의 내용대로 채운 한사람 분량의 예제 내용은 다음과 같다.
  6. 입력이 완료되었으면 만들기(E)를 클릭한다.
  7. 다른 입력해야 될 사용자들도 5번 항목 처럼 계속 입력하도록 한다.
  8. 모든 입력작업이 끝나면 닫기(O)를 클릭하여 종료한다.
2.2. 사용자 그룹 만들기

WSS 내에 팀사이트를 구축하여 사용 할때, 역할이나 권한에 따라 사용자를 넣고 뺀다. 그런데, 일일히 사이트내에서 사용자을 추가하고 빼기 보다는 차라리 그룹으로 넣는 것도 좋은 방법이다. 특정 그룹을 역할이나 권한에 할당해 주고, 필요 시 그룹 내에서 사용자를 넣거나 빼게 되면 큰 설정 변경없이 바로 적용할 수 있기 때문이다.  각 사용자 그룹을 생성하는 방법은 아래와 같다.

  1. 서버에 관리자 계정으로 로그인을 한다.
  2. 내 컴퓨터에서 오른쪽 버튼을 눌러 컨텍스트 메뉴가 뜨면, 그 중에 있는 관리(G)를 선택한다.
  3. 컴퓨터 관리 창이 뜨면 왼편 트리 항목 중 로컬 사용자 및 그룹 항목을 선택한다.
  4. 오른편의 그룹 항목에서 오른쪽 버튼을 클릭하면 컨텍스트 메뉴가 뜨는데 그 중 새 그룹을 선택한다.
  5. 새 그룹  창이 떴으면 그 안에 적당한 그룹 이름과 적당한 설명을 넣는다.
  6. 추가(A) 버튼을 클릭하면 사용자 선택 창이 뜨는데, 그 안에 사용자 계정을 나열한다. 나열할 때 " ; "로 구분하여 나열하면 된다. (위의 예제 팀을 기준으로 입력하면 younghee;woogi;jshong;sunlight;steelguy;parameter;hoto95;syj 가 된다. ) 전부 나열 되었으면 이름 확인(C) 버튼을 클릭하여 확인하도록 한다. 모든 이름에 밑줄이 그어졌으면 확인 버튼을 클릭한다.
  7. 최종적으로 아래와 같은 화면이 만들어졌으면 만들기(C) 버튼을 클릭한다.
  8. 만일 위와 같이 팀 전체를 가르키는 그룹이 아닌 다른 형태의 그룹(직급별 그룹, 역할별 그룹 등등)이 필요하면 4번 단계를 계속 반복하면서 적절한 정보로 넣도록 한다.
  9. 그룹 만들기가 완료되었으면 닫기 버튼을 클릭하여 종료한다.

3. 사이트 접속 가능하게 만들어 주기.

위와 같이 계정이 만들어졌어도 사이트에 들어가면 권한이 없다고 나오게 된다. 그 이유는 현재 자동으로 만들어진 사이트는 관리자외에는 추가되어 있지 않기 때문에, 들어가봐야 권한이 없다는 메시지만 볼 수 있다.

이제 사이트 내에 권한을 주도록 한다.

3.1. 모든 팀 구성원에게 참가 권한을...

WSS에서 기본적으로 제공하는 권한 체계별 사용자 유형은 총 4가지이다.

  • 사이트 모음 관리자 : 초 슈퍼 울트라 짱 메가톤 하이퍼 관리용 권한
  • 소유자 (Owner) : 해당 사이트의 모든 권한을을 가진 권한
  • 구성원(Contributor) : 해당 사이트에서 글을 쓰거나 읽거나, 편집하거나 등등의 일반적인 권한 - WSS 에서는 참가권한이라고 한다.
  • 방문자(Visitor) : 해당 사이트의 글을 볼 수 만 있는 제한적인 권한.

전사원 관리자화를 꿈꾸거나, 관리가 귀찮아 알아서 하는 분위기를 조장하지 않는 이상 보통 사용자들은 참가자 권한이면 충분히 사용가능하다. 이에 맞추어 아래의 내용에서는 일반 사용자들에게 어떻게 참가 권한을 주는지를 알려주려 한다. 그렇다고 일일히 한사람씩 넣는것은 귀찮으니, 아예 그룹으로 넣는 방법을 일러 드리려 한다.

  1. 관리자 계정으로 해당 사이트에 접속한다.
  2. 오른쪽 상단에 위치 한 사이트 작업이라는 버튼을 클릭하고 그 안에 나온 메뉴 중 사이트 설정을 클릭한다.
  3. 사이트 설정 페이지가 뜨는데, 그 중 사용자 및 사용 권한 묶음에 위치한 사용자 및 그룹을 클릭한다.
  4. 왼편 목록에서 XXXX 구성원(XXXX 는 사이트 이름이다)을 선택하도록 한다.(바로 들어가면 이미 선택되어 있긴 하다.)
  5. 상단에 위치한 새로 만들기 버튼을 클릭한다.( 또는 오른편 화살표를 클릭하면 메뉴가 뜨기도 하는데, 그 중 사용자 추가를 클릭해도 된다. ) - 4번 그림 참조.
  6. 사용자 추가 항목의 넓찍한 입력 상자에서 앞서 만든 그룹 명을 넣고 사람 머리 모양의 아이콘을 클릭한다. 정상적이면 입력한 내용에 밑줄이 그어진다.
  7. 사용 권한 부여 부분에서는 XXXXX 구성원 [ 참가 ]로 그대로 두고 확인을 클릭한다.
    (입력된 형태가 잡힌 내용을 보시려면 여기를 클릭한다. )
  8. 최종적으로 완료되면 구성원 목록에서 해당 그룹이 추가되었음을 볼 수 있다.
3.2. 사용자들의 첫 로그인, 그에 따른 진통들.

일단 지금까지 작업한 내용이 끝나면 실제 사이트에 들어가는 방법은 쉽다.
사이트 모음 만들기 때 생성된 URL(예제는 http://wsstestsvr 이다. )을 IE에서 입력하고, 지금까지 만든 ID와 Password로 로그인 하기만 하면 된다. 그런데, 순조롭게 모두가 접속이 되면 행복하겠지만, 만사가 그렇지만은 않다. 간혹 접속 안된다고, 불편하다고 소리들을 친다.
- 이즈음되면 힘겹게 설치한 자신의 꼴이 말이 아니다. 힘겹게 간신히 설치했는데, 욕만 먹는 상황이라면, 정말이지 키보드 내리치고, 마우스 내던지고 싶다.

그러나 좌절하지 말자.
최소한 내가 겪어 보았던 각종 경험을 토대로 각 상황들을 대처해 보자. 상황별 대처 방안은 아래와 같다.

  • 어르신들 중(여기서는 아마도 소영희 차장이지 않을까 싶다.) 로그인 방법에 대해 불만을 가진 경우.
    - 이런분 종종 있다. 네이버나 다음만 가도 왼편에 이쁘장하게 로그인 폼이 있다는 둥, 삼성의 My Single 보면 로그인 창이 깔삼하게 직관적으로 나오는데, 무슨 잿빛의 칙칙하게 생긴 로그인 창만 덜렁 떠서 뭘 어쩔 생각이냐는 둥 불만을 제기하신다.
    - 해결책 : 짧은 변명 하자. 이거 지금 꽁짜로 저의 개인적인 시간 써서 설치한 거다,  네이버나 삼성 My Single 같은 로그인 폼이 좋아보시면 WSS 전문업체에 의뢰하셔서 돈내고 다시 만들 수 있도록 위에 건의 하라는 말씀을 올린다. MS 가 원래 그 따구다 이런말은 별 효과는 없어 보인다. -_-;;;;

  • 매번 로그인 하는 거 귀찮다. 파일 서버 같은 로그인 창 같은데, 파일 서버는 로그인 없이 잘 쓰고 있다 라고 말씀 하시는 경우.
    - NTLM 계열 인증 창에서는 암호를 클라이언트에 저장해 둘 수 있다. 그 전에 해주어야 할 것이 이 사이트를 신뢰된 사이트로 등록해야 한다. 자세한 등록 방법은 사이버 한국 외국어 대학교에서 만든 FQA를 참조한다. (http://www.cufs.ac.kr/clf/pop/pop_pre_f14.jsp)  신뢰된 사이트에 등록되었으면 다음 로그인 할 때, 사용자 암호 저장을 체크하고 로그인하면 된다.

    또한 참고적으로 직접 해당 내용을 저장/편집 할 수 있다.  이 내용 역시 설명을 하자면 길기 때문에, 다음 Microsoft KB를 참고하도록 한다.
    (http://support.microsoft.com/kb/306541/ko)

  • 사이트가 안열리는 경우
    - 사용자들 중, 종종 이런 문제에 봉착되는 경우가 있다.
    위의 예제를 기준으로 본다면 http://wsstestsvr 을 입력하면 사이트를 찾을 수 없다는 메시지만 뿌린다. 이 경우 제일 먼저 사용자 PC에서 인터넷은 제대로 되는지 확인한다. 인터넷이 제대로 된다면, 해당 서버로 ping을 넣어본다. (시작 -> 실행 후, ping -t wsstestsvr ). 10중 8,9는 ping 조차 나가지 않는 경우가 많을 것이다.
    이런 경우에는 네트워크에서 저 이름으로 찾지 못하는 경우인데, 이 경우 해결하는 방법은 다음과 같다.

    먼저, 시작 -> 실행을 띄운 뒤 다음 문장을 넣는다.

       NOTEPAD %WINDIR%\System32\Drivers\Etc\hosts

    그러면 메모장이 뜨고, 그 안에 무언가가 내용이 들어 있을 것이다. 메모장  맨 아랫 줄에 다음 줄을 추가해 준다.

       192.168.0.5     WSSTESTSVR

    왼쪽에는 서버의 IP 주소를 오른편에 서버의 이름을 넣는다. 것이다. 만일 서버 접속 주소가 URL 스타일이면 서버이름 대신 URL 값을 적어준다.  정리하자면 왼편에 IP주소를, 오른편에 서버이름 혹은 URL을 적어주는 것이다. 이름과 IP 주소 사이에는 적당히 공백이 있으면 된다. 탭도 상관 없다.
    완료되었으면 저장하고 닫는다. ( 만일 Vista 인경우에는 관리자 권한이 있어야 가능하다. )

  • 디자인이 후지다.
    - 첫번째 응답과 유사하게 진행하자. "협업 좀 하자" 시리즈 내용 중 사이트 꾸미기도 연재할 예정이긴 하지만 , 이 작업을 수행한 사람이 디자이너가 아닌 이상에는 예쁘고 깔끔하게 꾸미는 건 지나친 요구사항이지 않을까 싶다. 사내 팀 전용인데, 굳이 이쁠 필요가 있는지 라는 의문을 의견에 담아 조금만 피력하자.

  • 오류 : 액세스 거부 화면이 뜬다.
    - 아래 화면과 같은 화면이 뜨면 앞서 만든 그룹 부분에 해당 사용자를 추가하지 않은 경우이다. 서버에 로그인 해서 해당 사용자를 WSS용 그룹에 포함 시킨다. 2.2의 7번 항목을 참고한다.


  • 로그인을 해도 자꾸 NTLM 창만 깜빡이다가,  이 페이지를 볼 권한이 없습니다. 라고 창이 뜬다.
    - 이 경우에는 사용자의 ID 혹은 Password가 잘못된 경우이다. 일단 현재 로그인을 시도하려는 ID가 등록된 ID와 동일한지 체크해보고, 동일하면 서버 상에서 해당 사용자의 암호를 변경해주도록 한다. ( 앞서 했던 컴퓨터 관리라는 곳에서 하면 된다. )

일단 여기까지가 필자가 사용자들과 부딛히면서 발생했던 각종 불만 사항들이였다. 그 외에도 특이한 사항들이 무척 많을 것으로 예상되지만, 모든 상황에 대해서 알지 못한 관계로 여기까지로 하겠다. 혹시나 추가적인 해괴한 경우가 있어 해결하기 힘든 상황에 봉착하시면, 댓글을 달아주시면 최대한 성실히 - 필자가 게을러서 -_-;;; - 답변을 하도록 할 예정이다.

신고
Posted by 하인도

SharePoint 3.0 중앙관리라는 도구 - 혹은 사이트 -는 WSS를 운영하는 작업을 할 때 가장 중요한 관리 도구 이다. 물론 많이 복잡하게 되어 있어 처음 접하는 사람에게는 두려움과 부담감을 한꺼번에 건내주고도 남을 그런 곳이다.

일단, 여기서는 상세한 중앙관리에 대한 설정 내용을 설명하기 보다, 실제 사용할 수 있는 사이트를 만드는데 주력을 둔다. 중앙관리에 대한 자세한 기능 설명은 후에 관리에 대한 설명이 있을때 하도록 한다.

이 포스팅 내용에서는 캡쳐 화면이 좀 적다. 그 이유가 워낙 내용이 웹 페이지로 되어 있어, 양도 많고, 크기도 큰 편이다. 그래서 표와 글을 이용해서 최대한 많은 내용을 담고 있다.
그러나, 개인적으로 그림으로 하나씩 비교하면서 설치하는게 왠지 바로 비교하고 판단 할 수 있기 때문에 그림이 없으면 왠지 안습이다. 그래서 이미지는 별도 링크로 제공하려 한다.

1. WSS 기본 서비스 올리기.

맨처음 설치되면 기본적으로 올라가야 되는 설정이나 사이트가 전혀 구성이 되지 않았을 것이다. 이 중 몇가지 기본적인 설정 작업을 해야 한다.

1.1. Windows SharePoint Services 검색 켜기.

WSS 검색은 안켜도 사용하는데 지장은 없지만, 몇가지 통계나 간단한 검색기능이 비활성화 된다. 후에 본격적으로 운영하다 보면, 이전 정보가 필요한 경우 아차 싶을 때가 발생할 수 있다. 그래서 가급적 미리 켜두고 천천히 하나씩 늘려나가도록 한다.

중앙관리 사이트에 들어온다. ( 예제에서는 http://wsstestsvr:3000 URL을 IE 주소창에 입력하여 들어간다. ). 아이디와 암호를 물어보면 Administrator 계정으로 들어 오면 된다.

  1. 상단에 위치한 탭 부분에서 작업 탭을 선택한다.
  2. 작업 화면에서 토플로지 및 서비스 묶음 중에 서버 제공 서비스 링크로 들어온다.
  3. 목록 중 Windows SharePoint Services 검색 이라는 항목이 보이는데, 해당 항목의 오른편에 있는 시작 링크를 클릭한다.
  4. 입력하는 내용이 많은데, 각 내용을 아래 표를 참고하여 넣는다.
    항  목 내  용
    서비스 계정 (사용자 이름) 검색 서비스가 동작할 계정을 의미한다. 컴퓨터 이름\Administrator를 넣어준다. 예를 들면  WSSTESTSVR\Administrator가 된다.
    서비스 계정 (암호) 해당 계정의 암호를 넣는다.
    콘텐츠 액세스 계정 (사용자 이름) 검색 권한을 상세히 하는 경우에는 해당 계정을 넣지만, 맘편하게 위의 서비스 계정과 동일하게 넣는다.
    콘텐츠 액세스 계정 (암호) 해당 계정의 암호를 넣는다.
    검색 데이터 베이스 (데이터베이스 서버) 그대로 둔다.
    검색 데이터 베이스 (데이터베이스 이름) 그대로 둔다.
    검색 데이터 베이스 (데이터베이스 인증) 그대로 둔다.
    인덱싱 일정 검색 작업을 언제 돌릴 것인지 결정하는 부분이다. 검색 결과 내용이 항상 최신이여야 하는 경우에는 그대로 둔다. 아니면, 매일로 선택한 뒤, 사용자들이 사용안하는 시간(새벽 2:00~3:00) 로 설정하는 것이 좋다.
  5. 입력이 완료(예제 화면 링크)되었으면 시작 버튼을 클릭한다.
1.2. 사용 현황 분석 프로세스 켜기.

이 역시 안켜도 상관 없기는 하지만, 가급적 켜 두는 것이 나중에 관리적인 측면에서 중요할 것이다.

  1. 중앙관리 사이트에 들어온다. ( 예제에서는 http://wsstestsvr:3000 URL을 IE 주소창에 입력하여 들어간다. ). 아이디와 암호를 물어보면 Administrator 계정으로 들어 오면 된다.
  2. 상단에 위치한 탭 부분에서 작업 탭을 선택한다.
  3. 작업 화면에서 기록 및 보고 묶음 중에 사용 현황 분석 프로세스 링크로 들어온다.
  4. 로깅 설정 묶음의 로깅 사용을 체크한다. 체크를 하면 로그 파일 위치를 넣는 항목이 활성화 되는데, 그 위치에 적절한 위치를 넣는다. 가급적 앞서 만든 ServerData 라는 폴더로 맞춘다. 여기 예제에서는 D:\ServerData\WSSData\Logs 라는 폴더로 설정했다.  ( 폴더가 없더라도, WSS에서 자동으로 만들어 준다. ) 로그 파일 갯수는 그대로 둔다.
  5. 프로세스 설정 묶에서 사용 현황 분석 프로세스 사용을 체크해주고, 시작 시간종료 시간을 설정한다. 이 작업이 서버의 자원을 많이 소모 하므로, 사용자들이 잘 사용하지 않는 시간을 택해 준다. ( 예제에서는 새벽 3:00 ~ 4:00 로 설정했다. )
  6. 설정이 완료되었으면(예제 화면은 여기 클릭) 확인을 클릭한다.

2. WSS용 사이트 구축하기.

2.1 웹 응용 프로그램 만들기.

보통 우리가 컴퓨터에서 특정 프로그램을 사용할 때 운영체제를 설치한다. 운영체제 위에 각종 프로그램을 설치한 뒤, 그 프로그램을 이용한다. 여기서 WSS 사이트가 프로그램, 웹 응용 프로그램이 바로 저 운영체제를 가르키게 된다. 즉 각종 WSS 사이트를 구축하려면, 그 밑바탕으로 깔려야 되는 웹 응용 프로그램을 먼저 구성해야 되는 것이다.

웹 응용 프로그램을 설치하는 방법은 아래와 같다.

  1. 중앙관리 사이트에 들어온다. ( 예제에서는 http://wsstestsvr:3000 URL을 IE 주소창에 입력하여 들어간다. ). 아이디와 암호를 물어보면 Administrator 계정으로 들어 오면 된다.
  2. 상단에 위치한 탭 부분에서 응용 프로그램 관리 탭을 선택한다.
  3. SharePoint 웹 응용 프로그램 관리 묶음에서 웹 응용 프로그램 만들기 또는 확장을 클릭한다.
  4. 웹 응용 프로그램 만들기 또는 확장 페이지가 뜨면 새 응용 프로그램 만들기 링크를 클릭한다.
  5. 새 웹 응용 프로그램 만들기 페이지가 뜨면 아래의 내용을 참고하여 내용을 채운다.
    항  목 내  용
    IIS 웹사이트 ( 선택항목 ) 새 IIS 웹 사이트 만들기를 선택한 상태로 그대로 둔다.
    IIS 웹사이트 (포트) 특별히 포트 번호를 변경할 의도가 없으면 그대로 둔다. 그렇지 않으면 http://서버이름:포트번호 이런식으로 접속해야 되기 때문에, 사용자 편의를 위해서라도 80으로 그대로 두는 것이 좋다.
    IIS 웹사이트 (호스트 헤더) http://서버이름 으로 된 URL이 아닌 다른 이름으로 하고 싶은 경우에 넣는다. 이 때 웹에서 사용하는 도메인(www.naver.com 같은 스타일의 도메인을 가지고 있으면 설정하는데, 돈도 들고, DNS 서버가 필요하거나, 그에 따른 설정도 필요하다. 내부에서 사용한다고 하면 빈 상태로 그대로 둔다.
    IIS 웹사이트 (경로) 설정 파일들을 저장하는 위치인데, 그대로 둔다.
    보안 구성 (인증 공급자) Kerberos와 같은 보안에 우수한 체계를 구축할 생각이 아닌경우에는 가급적 그대로 둔다.
    보안 구성 (익명 허용) 팀 구성원의 협업 사이트를 만드는 것이기 때문에 익명을 허용하면 안된다. 그대로 둔다.
    보안 구성 (SSL 사용) 보안 패킷을 사용하여 접속하도록 하는 것이다. http가 아닌 https를 사용하는 것인데, 사이트 인증서가 없으면 안된다. 그러므로 그대로 둔다.
    부하 분산된 URL (URL) 여러대의 웹서버 처리를 위한 부분인데, 사실 그다지 의미는 없다. 그대로 둔다.
    부하 분산된 URL (영역) 부하 분산을 위한 영역 처리인데, 그다지 의미는 없다. 그대로 둔다.
    응용 프로그램 풀 (선택 항목) 기존에 만들어 놓은 응용 프로그램 풀을 사용하는 것인데, WSS의 구성 정보가 다양하기 때문에, 별도로 따로 빼는 것이 좋다. 아래의 새 응용 프로그램 풀 만들기를 선택하도록 한다.
    응용 프로그램 풀 (새... - 보안계정) 보안을 위해서는 미리 정의됨을 선택한 뒤, 네트워크 서비스를 선택하는 것이 좋으나, 기능상의 제약이나 동작에 오류가 발생할 수 있다. ( 특히나 데이터베이스 접속할 때.)
    그러므로, 보안 계정 구성을 선택한 후, 사용자 이름에 서버이름\Administrator 와 해당 계정의 암호를 넣는다.
    IIS 다시 설정 (선택항목) 웹 응용 프로그램 구성 후 IIS를 어떻게 해야 되는지를 결정하는 방법. 웹 응용 프로그램 새롭게 구성했으면 IIS를 다시 시작해야 하는데, 만일 이미 동작 중인 웹 응용 프로그램이 있는 경우에는 수동으로 한다. 아닌 경우에는 자동으로 IIS 다시 시작을 하도록 한다.
    데이터베이스.. (데이터베이스 서버 그대로 둔다.
    데이터베이스.. (데이터베이스 이름) 나중에 알아보기 쉽게 고친다.
    기본값은 WSS_Content 인데, 뒤에 별도 식별자를 넣는다. 여기 예제로는 WSS_Content_80 으로 변경했다.
    데이터베이스.. (데이터베이스 인증) 그대로 둔다. 위의 웹 응용 프로그램 풀 설정에서 설정한 보안 계정으로 접속한다는 의미이다.
    검색 서버 성능적 이슈로 가급적 선택하지 않은 상태 그대로 둔다.
  6. 모든 설정이 되었으면(예제 화면 링크) 확인 버튼을 클릭한다.
  7. 정상적으로 만들어졌으면 응용 프로그램이 만들어짐이라는 페이지가 뜰 것이다.
2.2.  협업 사이트 만들기.

실제 사용할 사이트를 만드는 단계이다. 이 부분을 보면, 다양한 형태의 사이트들을 만들고 구축할 수 있는데, 그 중 대표 사이트를 만드는 작업이다. 추후 다양한 기능들을 소개하면서 협업용 사이트 외의 다른 사이트 들도 만들 것이다. 여기서는 협업 대표 사이트를 만드는데 주안점을 둘 것이다.

협업 대표 사이트를 만드는 방법은 다음과 같다.

  1. 중앙관리 사이트에 들어온다. ( 예제에서는 http://wsstestsvr:3000 URL을 IE 주소창에 입력하여 들어간다.). 아이디와 암호를 물어보면 Administrator 계정으로 들어 오면 된다.
  2. 상단에 위치한 탭 부분에서 응용 프로그램 관리 탭을 선택한다.
  3. SharePoint 사이트 관리 묶음에서 사이트 모음 만들기를 클릭한다.
  4. 입력하는 내용이 많은데, 각 내용을 아래 표를 참고하여 넣는다.
    항목 내용
    웹 응용 프로그램 앞서 만든 웹 응용 프로그램을 선택한다. (예제를 기준으로 http://wsstestsvr 이다. )
    제목 및 설명 - 제목 사이트의 이름을 넣는다. (예제로는 개발1팀이라고 하겠다.)
    제목 및 설명 - 설명 이 사이트를 설명할 문구를 넣는다.
    웹 사이트 주소 그대로 둔다.
    서식 파일 선택 여기서 만들 사이트의 속성을 결정한다. 실험의 의도가 아니면 팀 사이트를 만든다.
    주 사이트 모음 관리자 이 사이트를 관리하는 사용자의 계정 입력한다. 다른 계정과 같이 컴퓨터이름\계정이름을 입력하면 된다. (예제를 기준으로 WSSTESTSVR\Administrator 를 넣는다. )
    최소한 최고 관리자가 있어야 한다. 사이트가 망가지더라도 복구하려면 최상위 슈퍼 관리자는 있어야 한다.
    보조 사이트 모음 관리자 보조 관리자의 계정을 입력한다. 비워두어도 무방하다. 나중에 추가/변경 할 수 있다.
    할당량 지정 서식 파일 해당 사이트의 용량 제한을 걸 때 사용한다. 여기서는 무제한 이므로 그대로 둔다.
  5. 입력이 완료(예제 화면 링크)되었으면 시작 버튼을 클릭한다.

만들기가 정상적으로 끝나면 아래와 같은 화면이 나오며 생성 내용에 대한 요약이 나온다.
그 중에 생성된 사이트의 URL을 표시해 주는데, 그 URL로 접속하면 된다.

SNAG-0002

신고
Posted by 하인도

여기서부터는 기본적인 Windows 관련 구성이 된 시점에서 시작됩니다. 여기서 해야 될 작업은 크게 두 가지로 나뉘게 되는데, 하나는 데이터 저장을 위한 Storage 인 Database이고 다른 하나는 WSS입니다. 거의 마법사의 “다음>” 을 누르기만 하면 되기는 하지만, 몇 가지 고려해야 할 사항들을 꼭 확인하면서 진행하시기 바랍니다.

1. 데이터 저장 위치 확보

Windows를 기본적으로 설치하셨다면 C:\ 위치에 설치될 것입니다. ( 물론 상황에 따라, 자동 혹은 의도적으로 D:\ 나 E:\에 설치 될 수 있습니다. ). 보통 데스크톱 프로그램들을 보시면 Windows가 설치된 드라이브에 있는 Program Files 폴더 위치에 설치되고, 각종 문서나 개인 설정 내용도 Windows가 설치된 드라이브에 있는 Documents and Settings 안에 저장됩니다.
그러나, 운영적인 측면으로 볼 때 그다지 권해드리지 않은 방법입니다. 일단, Windows가 문제가 생겨 Windows를 다시 설치해야 하는 경우가 발생할 때, 모든 데이터들도 Windows에 담겨 있어, 자칫 데이터 유실이 발생할 수 있습니다. 또한 운영체제가 담긴 드라이브 내에 파일이 너무 많으면 Windows 자체가 뜰 때 중요 Windows 파일들을 접근 시 많은 시간이 소요될 수 있습니다.( 부팅 시간, 프로그램 동작 시간 등등 )

그래서 권장하는 것은 Windows가 설치된 위치와 실제 Database가 저장될 위치를 분리하는 것입니다. 아마도 “다음 >” 신공으로 모두 기본값을 설치된 상황이면 변경 작업에 한계가 있기 때문에, 미리 설치할 때 미리 고려하여 구성하는 것이 좋습니다. 그렇지만 이건 어디까지나 권장사항이기 때문에, 상황에 따라 하나의 드라이브로 할 수도 있고, 하나의 물리적인 HDD에 파티션만 나누어 구성할 수도 있습니다.

이제부터 설명드릴 내용은 C:\ 가 Windows 및 프로그램들이 설치되고, D:\ 에 데이터베이스 데이터가 저장되게 끔 할 예정입니다. 또한 데이터 저장 드라이브 안에 ServerData라는 폴더를 만들고,  그 아래에 WSSData라는 폴더를 생성할 예정입니다. 각 이렇게 구성한 폴더 내용을 트리로 보면 아래와 같습니다.



* 간단하게 정리하자면, 위의 그림 중 필수적으로 만들어줘야 하는 것은 D:\ServerData와 D:\ServerData\WSSData 정도 입니다.

2. 데이터베이스 설치

WSS를 설치할 때, 무심히 다음(N) 연발을 하면, 독립 실행형이라는 형태로 설치됩니다. 그러면 WSS와 함께 자동적으로 데이터베이스가 설치됩니다. 하지만, 이 데이터베이스는 오로지 WSS용으로 설치되는데다, 추가적인 제어는 불가능합니다. 그래서 설치도 정해진 기본값으로 설치되기 때문에, 저장 위치 등이 제어되지 않습니다. 그래서 여기서는 별도의 데이터베이스를 갖추는 것을 기본으로 합니다.

그래서 여기서는 관리적인 부분과 성능 상의 이점을 위해 별도 데이터베이스로 구성합니다.

2.1 MS SQL Server 2005 설치.

데이터베이스 설치 작업입니다. 여기서는 MS SQL SErver 2005 Express 버전을 이용해 설치 할 것입니다. 지속적인 업데이트로 인해 계속 버전이 바뀌겠지만, 일단 현재(2008년 7월 1일) 받은 기준으로는 파일명이 SQLEXPR_KOR.EXE 라는 파일을 설치하도록 하겠습니다.

설치 전에 먼저 현재 팀 사이트 운영 중에 파일 업로드 등이 많아 큰 용량이 필요할지 없을지 판단을 해야 합니다. 앞서도 언급 드렸지만, 애석하게도 Express 버전으로 만들 수 있는 최대 용량 크기는 4G 입니다. 단순 텍스트 나 설정 값 정도 저장하는데 대략 2~300MB 정도의 용량 사용이 예상되지만, 혹시 각종 바이너리 파일(워드, 엑셀, 파워 포인트 파일 등등)에 대한 버전 관리나 대규모 정보를 저장하게 된다면 턱없이 부족할 수 있습니다. 라이센스 문제가 없으시다면, 가급적 상용 SQL 2005 Standard 이상 버전을 설치하는 것을 권장 드립니다.

설치 방법은 아래와 같은 순서로 진행 하시면 됩니다.

  1. 데이터베이스 파일이 저장될 위치를 확보합니다. 여기서는 D:\ServerData 같은 폴더를 구성합니다. 
  2. SQL 설치 파일을 실행합니다. 실행 되면 자동적으로 압축을 풀면서 압축해제 완료 후 바로 설치 프로그램이 자동 실행됩니다.
  3. 맨 처음,최종 사용자 사용권 계약에서 동의함(A)에 체크하시고  . 다음(N)을 클릭하시기 바랍니다.
  4. 필수 구성 요소를 설치하는 중 화면에서 설치(I) 버튼을 클릭합니다. 설치가 완료되면 다음(N)을 클릭합니다.
  5. 필수 구성 요소 설치가 완료되면, 자동적으로 설치 마법사가 뜹니다. 여기서 다음(N)을 클릭한다.
  6. 시스템 구성 검사가 시작되면 자동으로 검사를 하게 됩니다. 상태가 성공이 되면 뜨고 다음(N)버튼이 활성화 됩니다. 만일 실패하게 되면 더 이상 진행이 불가능합니다. 설치 프로그램을 종료하시고 해당 문제점을 해결하시기 바랍니다. 경고 정도면 설치는 계속 할 수 있지만, 그대로 혹시 모르니 꼭 해당 문제점 체크를 해보시기 바랍니다.
  7. 사용자 등록 정보에 적당히 넣고, 그 아래에 위치한 고급 구성 옵션 숨기기(T) 부분의 체크를 끄시기 바랍니다.  고급 구성 옵션을 몇 가지 구성할 필요가 있기 때문에, 반드시 확인해주시기 바랍니다.

  8. 기능 선택 화면에서는 제품의 구성요소들을 선택할 수 있습니다. 여기서 필요한 구성요소들을 추가하시기 바랍니다. (만일 SQL Server 2005 Standard 이상 버전을 설치하신다면, 워크스테이션 및 클라이언트 구성요소도 같이 설치해주시기 바랍니다. ). 
    단, 제품 선택 트리에서 Database Services –> 데이터 파일을 선택하시고, 찾아보기 버튼을 클릭합니다. 그리고 앞서 만든 데이터 폴더를 선택해주시면 됩니다. (여기서는 예제대로 D:\ServerData 로 넣습니다. )
  9. 기타 기능들은 그대로 두셔도 무방합니다. 그리고 난 뒤, 다음(N)을 클릭합니다.
  10. 인스턴스 이름 결정 창에서 기본 인스턴스를 선택합니다. 그리고 다음(N)을 클릭합니다.
  11. 서비스 계정 창에서 기본 제공 시스템 계정 사용 부분에 로컬 서비스로 선택하시고 다음(N)을 클릭합니다.
  12. 인증 모드 설정 창에서는 Windows 인증모드(W)를 그대로 두고 다음(N)을 클릭합니다.
    만일 외부에서 이 데이터베이스 시스템과 통신을 해야 한다면, 혼합 모드을 선택하시고 적절한 암호를 넣으신 뒤 다음(N)을 클릭합니다.
  13. 데이터 정렬 설정 창도 기본값을 그대로 두고 다음(N)을 클릭합니다.
  14. 사용자 인스턴스 화면에서도 기본값을 그대로 두고 다음(N)을 클릭합니다.
  15. 오류 맟 사용 보고서 설정 화면에서도 기본값을 그대로 두고 다음(N)을 클릭합니다.
  16. 설치전 요약 내용이 나오면 간략히 확인하고 설치(I)를 클릭합니다. 설치가 완료되면 다음(N)을 클릭하고, 완료 창이 뜨면 마침(F)을 클릭합니다.
2.2 SQL Server 2005 Management Studio 설치.

이 도구는 반드시 설치해야 되는 것은 아니지만, 혹시나 모를 위기 사태나 개인적으로 구성한 데이터베이스를 추가하거나 뺄 때 필요한 도구입니다.(만일 SQL Server 2005 Standard 이상인 경우 서버 설치할 때 같이 선택해서 추가할 수 있습니다. ) 만일 MS SQL에 대한 지식이 없거나, 다룰 필요가 없다고 생각되시면 설치않으셔도 무방합니다. 게다가 이 도구는 나중에 별도로 추가 설치가 가능하기 때문에, 굳이 억지로 설치하려 시도하지 않으셔도 됩니다.

설치방법은 아래와 같습니다.

  1. SQL Server 2005 Management Studio Express 프로그램용 설치 msi를 실행합니다.
  2. 설치 초기 화면에서 다음(N)을 클릭합니다.
  3. 사용권 계약에서 동의함(A)을 선택한 뒤 다음(N)을 클릭합니다.
  4. 등록 정보에서 이름과 회사 이름을 넣고 다음(N)을 클릭합니다.
  5. 기능 선택에서 기본값을 그대로 두고 다음(N)을 클릭합니다.
  6. 준비 완료 화면에서 다음(N)을 클릭합니다.

설치가 완료되었으면 이 프로그램을 실행해서 한번 데이터베이스를 연결해봅니다.
만일, 원격(데이터베이스가 설치된 서버 외의 다른 컴퓨터에서 이 Management Studio를 실행되는 경우)에서 이 프로그램을 이용해 데이터베이스를 연결한다면,  위의 설치 방법 중 2.1의 12번에서 Windows  인증모드(W)가 아닌 혼합모드로 설치하셔야 합니다. 이미 설치되어 있다면, 설정을 변경해서 해당 기능을 처리할 수 있습니다. 자세한 내용은 SQL Server 2005 Express 관련 사이트에 문의하거나 기타 전문가들에게 문의하시기 바랍니다.

3. WSS 3.0 설치

드디어 WSS를 설치하는 작업을 시작합니다. 앞에서 한 작업이 바로 이 WSS를 설치하기 위한 준비 작업이였다고 생각하시면 됩니다.
WSS는 기본적으로 두 번의 단계를 거쳐 설치됩니다. 첫번째 단계에서는 WSS가 동작하기 위한 각종 파일들을 HDD 상에 복사하는 단계 입니다. 이 때는 가장 중요한 몇 가지 사항만 체크하고 그 외는 파일 복사만 주로 수행합니다. 두 번째 단계에서 하는 작업은 WSS 시스템 구성 입니다. HDD에 설치된 WSS 파일을 가지고 실질적인 구성을 하는 작업입니다. 설정 작업과 동시 각종 DB 정보들도 이 때 구성하게 됩니다.

지금부터 그 두 단계를 나누어 진행하도록 하겠습니다.

3.1. 첫번째 단계 - WSS 기본 파일 설치.
  1. 앞서 준비한 SharePoint.EXE ( WSS 설치 파일) 를 실행합니다.
  2. 자동으로 압축 해제를 하게 되고, 완료되면 초기 설치 화면이 뜹니다. 만일 여기서 오류가 발생했다면, 보통 IIS나 ASP.NET 또는 .NET Framework가 설치되지 않아 발생되곤 합니다. 문제가 발생했다면, 설치를 중단하시고, 해당 문제점 해결을 하시기 바랍니다. 앞의 포스트 내용을 체크하시고 문제점 조치를 취해주시기 바랍니다.
  3. 정상적으로 설치 진행이 되었다면, Microsoft 소프트웨어 사용권 조항 보기가 뜨면 동의함을 체크하시고 계속(C)를 클릭합니다.
  4. 설치 유형 선택화면이 뜨면, 고급(A)를 선택합니다. 만일 기본(B)을 선택하면 자동적으로 기본적인 설정 대로 설치되므로 반드시 여기서는 고급(A)으로 설치해주시기 바랍니다.
  5. 상세 설정 화면이 떴다면, 서버 유형 탭이 보일 것입니다. 여기서 웹 프런트 앤드(W) - .... 를 선택합니다.
  6. 이번에는 데이터 위치 탭을 클릭해서 앞서 만든 D:\ServerData\WSSData 위치로 맞추어 주시기 바랍니다. 만일 다른 위치로 만들었다면 다르게 만든 위치로 설정해주시기 바랍니다.
  7. 기타 사용자 의견(E)탭도 있지만, 이 부분은 알아서 설정해주시면 됩니다. 뭐 MS의 입장에서는 익명으로 참가해주길 간절히 바라겠지만, 이건 사용자 마음이기 때문에 알아서 결정해주시면 됩니다. 전체적인 설정이 완료되었다면, 이제  지금 설치(I) 버튼을 클릭하여 설치를 진행 시킵니다.
  8. 자동적으로 설치가 진행된다면, 여러가지 WSS 관련 파일들을 설치하게 됩니다. 설치가 완료가 되면, 최종 설치 완료 화면이 뜨는데, 지금 SharePoint 제품 및 기술 구성 마법사 실행이 체크 된 상태로 닫기(C) 버튼을 누르시면 됩니다.

만일 위의 단계 중 중간에 설치 오류가 발생했다면, HDD 용량 체크나 기존 업데이트 내용들을 확인하시기 바랍니다. 또한 지금까지 진행된 내용도 하나씩 비교하면서 체크해보시기 바랍니다. 아무리 찾아도 방법이 없다면, 그 상황을 정리해서 여기에 덧글로 남겨주시거나, 한국 MS의 제품 지원 요청이나, 기타 WSS, MOSS 관련 까페에 도움을 요청해보세요. - 국내에서는 그렇게 많은 곳에서 이 제품을 다루지 않기 때문에, 찾기는 어렵지만 동병상린의 아픔을 모두 겪고 있기 때문에 답변 듣기 어렵지는 않을 것입니다. -

3.2. 두번째 단계 - WSS 기본 구성

첫 번째 단계를 통해, WSS 관련 파일들이 복사 되었다면, 이제 WSS를 위한 실제적인 설정 작업입니다. 이 설정하는 작업도 모두 마법사를 따라가는 것이기 때문에 어렵지는 않을 것입니다. 각 설정 방법은 아래와 같습니다.

  1. 위의 단계(3.1) 에서 닫기(C)를 하면 설치 마법사가 종료되고, SharePoint 제품 및 기술 구성 마법사가 실행됩니다. 혹시 호기심 어린 행동으로 지금 SharePoint 제품 및 기술 구성 마법사 실행 체크를 끈 상태 로 닫기(C)를 눌렀다면 자동으로 실행되지 않을 것입니다. 그럴 때는 , 시작 ->   제어판 -> 관리도구 -> SharePoint 제품 및 기술 구성 마법사로 따라 실행하시면 됩니다. 
    일단 초기 화면이 뜨면 다음(N) 버튼을 클릭하시기 바랍니다.
  2. IIS, SharePoint Administrator Service, SharePoint Timer Service가 재 시작된다는 경고 창이 뜨는데, 그대로 예(Y)를 눌러주시기 바랍니다.
  3. 서버 팜에 연결 이라는 창이 뜨면 아니오, 새 서버 팜을 만듭니다(R)을 선택하시고 다음(N) 버튼을 클릭합니다.
  4. 구성 데이터베이스 설정 지정화면에서는 데이터베이스 서버(S) 항목에 현재 서버 이름을 넣어주시기 바랍니다. (여기 예제는 WSSTestSvr 이므로 예제 화면에 그렇게 넣은 상태입니다.). 하단의 사용자 이름 및 암호에는 현재 Administrator의 계정을 넣도록 합니다. 넣을 때 컴퓨터이름\Administrator 라고 넣고 암호 부분에 해당 계정의 암호를 채운 뒤  다음(N) 버튼을 클릭합니다.
    (참고로 사용자 이름 및 암호가 틀린 경우 또는 데이터베이스 접근 권한이 부족 한 경우, 데이터베이스에 접근할 수 없어, 설치가 더 이상 진행되지 않습니다. 반드시 데이터베이스 설치할 때 사용한 최고 권한 계정을 이용하셔야 합니다. 여기서는 최고 권한 계정이 바로  Administrator이기 때문에 여기서는 그 Administrator 계정을 넣었습니다. )
  5. 다음 화면으로 SharePoint 중앙 관리 웹 응용 프로그램 구성이 뜰 것입니다. 보시면 포트 번호 지정(S)이 체크 되어 있지 않아 자동으로 값이 설정되어 있을 것입니다. 가급적이면 포트 번호 지정(S)화면에서 포트 번호를 설정합니다. 이후 WSS 관련 설정들을 처리할 때 중앙관리 사이트를 들어가게 되는데, 이 포트 번호가 정해지면 편하게 들어갈 수 있습니다. ( 난수 값으로 만들어지는 34552 같은 숫자는 외우기 힘들지 않을까요?). 저 같은 경우에는 편하게 3000으로 결정해서 사용하고 있습니다.
    설정이 완료되었으면 다음(N) 버튼을 클릭합니다.
  6. 앞서 설정한 설정에 대한 요약 화면이 뜨는데, 각 내용 확인이 되었다면 다음(N) 버튼을 클릭합니다.
    - 고급설정(A)에 들어가는 것은 상관 없지만, 별 필요는 없을 겁니다. Active Directory로 계정 관리가 되고 있고, 기존에 구축되어 있다면 사용하셔도 무방하지만, 어느 정도 인프라에 대한 지식이 필요로 합니다. 여기서는 이 부분을 생략하도록 하겠습니다.
  7. 이제 자동으로 WSS 구성 설정이 동작하게 됩니다. 구성 데이터베이스를 만들고, 각종 설정 파일들이 구성됩니다. 설치에 대한 간략한 단계 정보가 보일 겁니다.  구성 작업 9 단계 중 ? 단계를 수행 중입니다. 라고 표시되는데, 대략적인 현재 단계를 보실 수 있을 겁니다.
  8. 설치가 완료되면, 구성완료 화면이 뜨게 됩니다. 최종적으로 마침(F)를 클릭하면 WSS 설치는 완료된 것입니다. 이제 남은 것은 실제 운영을 위한 상세 설정을 수행하는 것입니다.

여기까지 오셨다면, 드디어 WSS의 설치는 모두 완료된 것입니다. 하지만, 실제 사용까지는 한 단계가 더 남았습니다. 실제로 사용자가 사용할 사이트를 설정하고, 사용자 등록도 해야 합니다. 대부분은 자동적으로 만들어주기는 하지만, 조금은 손을 대주어야 합니다.

다음 포스트에서는 이런 사이트 설정을 하는 방법을 하나씩 소개 드리겠습니다.

신고
Posted by 하인도

단순 광고 문구 같은 기능 나열은 좀 지겹구요. ( 단순 그런 내용이 필요하시면 MS 찌라시를
이용하세요 ^^ )
직접 만져보시면 하나씩 따라 해 보실 수 있도록 진행할 예정입니다. 제가 처음 이 제품을
만질 때 당시만 해도, 영어권 문서가 거의 전부였고, 국내 한글로 적힌 SharePoint 책은 꼴랑
2권이였습니다. - 어떤 분은 그 책을 성서처럼 가지고 있으시더군요 .... - 지금은 여러가지가
있을테니, 필요하시면 서점에 가셔서 하나 구매하셔서 전체를 읽어보시는 것도 좋습니다.
(2009.05.12. 교보문고, 강컴 뒤져 보는데, 한글 서적이 고작 1~2권이네요... 쇼크)

일단 여기서는 WSS를 설치하는 작업에서부터 출발하도록 하죠.
WSS 라는게 어떻게 보면 웹 응용 프로그램이기 때문에, WSS를 사용하기 위해서는 Windows 서버가 있어야 하고, 별도 웹 서버가 있어야 합니다. 조금 폐쇄적인 제품이기 때문에, 모두 MS 제품만 연계가 가능합니다.  MS Windows Server 2003 이여야 하고, IIS에서만 동작합니다. 그리고 웹 응용 프로그램의 저장장치로 MS SQL Server를 사용합니다. SQL 2000 with SP5 부터 지원하지만, 권장하는 것은 SQL 2005 입니다. ( WSS with SP1 이상 부터는 SQL 2008도 지원합니다. ).

이제부터 WSS를 위한 플랫폼 만들기부터 시작하도록 하겠습니다.

1. 시작 전 준비물 체크!

1.1. Hardware

먼저 가장 기초적인 것이 바로 장비, H/W가 필요합니다. 물론 본격적으로 서버(랙 스타일 서버 등등)로 설치하면 좋겠지만, 반드시 그 정도의 레벨까지의 서버가 필요한 것은 아닙니다. 그저 데스크톱 정도의 장비면 됩니다. 2008년도 당시 100만원 정도에 구입한 장비면 베스트 합니다. 그래도 일단 장비의 기본 권장사양을 제시하는게 좋을 것 같아 아래 표와 같이 정리했습니다. 대상은 약 50명 정도의 사용자가 붙는 레벨의 서버로 생각하고 적어 보았습니다.
(주의! 아래의 권장사양은 MS 공식 권장 사양이 아닌 개인적인 경험을 통해 판단한 사양입니다. 또한 아래의 사양으로 구성하였어도, WSS의 구성, 설정 및 사용 환경에 따라 성능의 이슈가 발생할 수 있습니다.)

유형 권장 사양
CPU P4 2.0G 이상
RAM 2G
HDD 디스크 2개
( 첫번째 하드디스크는 운영체제 및 프로그램을 저장하기 위해서 약 50기가 정도, 두번째 하드디스크는 데이터 및 기타 로그 등을 저장을 위한 부분으로 저장될 데이터 양에 따라 맞추시면 됩니다. 1기가 이상이면 됩니다.)
NIC 100Mb 이상
VGA Windows XP에서 충분히 동작하는 정도
기타 사운드, 프린터 등등은 있으나 없으나 상관 없음
1.2. Software

H/W 장비를 마련했다면, 이제 운영체제 구성을 하도록 합니다. 가장 중요한 S/W는 바로 Windows Server 2003 입니다. 운영체제 이기 때문에, 이 S/W는 반드시 확보해야 합니다. 그 외에는 MS가 무료로 제공하는 제품들로 구축 가능합니다. ( 하지만, SQL 서버의 한계가 예상되면 Standard 이상 버전이 필요할 수 있습니다. )

이름 용도 링크
Windows Server 2003 운영체제 없음
WSS 3.0(한국어)*1 메인 프로그램 여기
SQL 2005 Express(한국어)*1*2 데이터베이스 여기
SQL 2005 Express용 관리프로그램*1*2 DB 관리프로그램 여기

*1 WSS 3.0, SQL 2005 Express, SQL 2005 Express 관리 프로그램은 모두 http://download.microsoft.com 에서 받을 수 있습니다. 만일 표 안의 링크가 깨지거나(묘하게 MS 사이트 개편 한번 시도하면 링크가 멋대로 변경 될 수 있습니다.), 다운로드 받아야 될 위치를 전혀 모를 경우, http://download.microsoft.com 에서 직접 검색하여 찾으실 수 있습니다. (검색어를 WSS 3.0 식으로 넣으시면 됩니다. 또한 받기 전에 언어 부분을 반드시 확인하시기 바랍니다. 영어, 중국어, 한국어 버전 등등 다양한 언어 제품들이 존재합니다. 각 언어별 제품을 받으시려면, 해당 제품 상세 페이지 안에 있는, Language 혹은 언어 변경 부분에서 원하는 언어를 선택하시고 다운로드 받아 설치하면 됩니다.(여기서는 모두 한국어 버전으로 설정해서 받도록 링크를 설정했다.

*2 SQL 2005 Express 버전 같은 경우 DB가 최대 4G 밖에 구성할 수 없습니다. (아래 덧글 참고 – 최문봉님 지적 감사합니다 ^^). 만일 문서 라이브러리(일종의 파일 저장소)같은 기능을 쓰는 경우 DB를 금방 채우게 됩니다. 상황이나 라이센스에 따라서 MS SQL 2005 Standard 이상의 제품을 사용하실 수 있다면, SQL 2005 Express 버전 대신 설치하여 진행하시기 바랍니다. 자세한 설치 방법은 SQL 2005 Express와 거의 유사합니다. ( 여기서는 SQL 2005 Express를 가지고 진행하도록 하겠습니다)

2. Windows Server 2003 설치.

2.1. Windows Server 2003 CD 설치

Windows Server 2003 설치는 그냥 Windows XP 설치하듯 하시면 됩니다. 만일 Windows 설치에 학을 떼시는 분이나, 자신이 없으시면 주변에 문의하거나, 기타 포탈에 있는 지식 검색을 하셔서 설치를 하시기 바랍니다. 설치 하신 후,  기타 각종 Driver들도 설정해 주시기 바랍니다. 최소한 LAN 카드, 칩셋 드라이버 정도는 설정해주셔야 합니다. – Windows Server 2003에서 모두 알아서 다 잡는다면 끝입니다.

TIP. Windows를 설치한 후, Windows의 설정 변경하거나, 특정 요소를 추가하고 설치할 때 마다 Windows CD 넣어달라는 메시지가 간혹 뜨는 것을 볼 수 있습니다. 매번 Windows CD를 찾아 넣기 무척 귀찮을 때가 있습니다. 그래서 보통 넉넉한 HDD를 이용하여 CD내용을 HDD에 담아 놓을 수 있습니다. 여기서 팁으로 HDD에 담는 법을 알려드리도록 하겠습니다.

  1. 먼저 설치 원본 시디에 있는 I386 폴더를 C:\Windows 폴더에 복사합니다.
  2. RegEdit 프로그램을 이용해  2개의 내용을 편집 한다.
    - 레지스트리 위치 : [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]
    - 변경할 값 :
    SourcePath : C:\Windows
    ServicePackSourcePath : C:\Windows
    ( 만일 다른 위치라면 해당하는 경로로 변경하시기 바랍니다.)
2.2. IE 보안 강화 구성 끄기

설치가 완료되었다면, 제일 먼저 해주셔야 할 사항이 바로  "Internet Explorer 보안 강화 구성"을 끄도록 한다. 이 기능은 Internet Explorer의 보안 기능을 극도로 높인 것입니다. 신뢰돈 사이트로 등록된 경로를 제외한 다른 웹 사이트들에서 이미지, Active X, 자바스크립트 등 다양한 기능을 제한하는 기능입니다.
이게 켜져 있으면 자체 검색 기능이 비정상적으로 동작하기 때문에, 가급적 이 기능을 꺼주는 것이 좋습니다.
이 구성요소를 제거하려면 아래와 같다.

  1. 시작 -> 제어판 -> 프로그램 추가/제거를 실행합니다
  2. 프로그램 추가/제거 창에서 왼편에 있는, Windows 구성요소 추가/제거를 클릭합니다.
  3. 여러 구성요소들 중, "Internet Explorer 보안 강화 구성"이라는 부분에 체크 표시 된 내용을 끄고 다음을 클릭하도록 합니다.
  4. 완료되면 완료 창을 닫습니다.
2.2. Windows Upadte

각종 보안 패치나, 추가적인 소프트웨어 패키지들을 설치하는 가장 편한 방법으로 이 Windows Update를 이용하는 것입니다. ( 물론 직접 찾아서 다운로드가 가능하지만, 무척 귀찮습니다. ). 이 Windows Update를 강제로 하는 방법은, 시작 -> 모든 프로그램 -> Windows Update를 클릭하면, Windows Update 시켜주는 페이지가 뜹니다. 맨 처음 시작하면 Active X 같은 구성요소들을 설치한다고 합니다. 이 Active X들을 설치해주시면 자동으로 무언가를 한참 합니다.

완료되면 페이지 안으로 들어가게 되는데, 그 중 사용자 정의(Custom)을 클릭해서 들어가시기 바랍니다. 서버의 현재 상황에 따라 서비스 팩을 설치하거나, 보안 업데이트들을 먼저 설치하라고 하는데, 이 내용들을 모두 수락하여 설치하기 바랍니다. 설치하는 내용에 따라 짧게는 5분 길게는 2~30분 소요됩니다. 또한 리부팅이 필요할 수 있습니다. 이 때, 설치하실 때, 반드시 Microsoft .NET Framework 2.0 과 3.0을 선택하여 설치하기 바랍니다. 물론 Download 페이지(http://download.microsoft.com ) 에서 직접 .NET Framework 2.0과 3.0을 설치하실 수 있습니다. Windows Update를 이용하여 .NET Framework 설치하는 방법은 아래와 같습니다.

  1. Windows Update 종류를 선택하는 화면에서 사용자 지정 설치 버튼을 누르도록 한다.
  2. 왼편 메뉴 중 소프트웨어, 선택적(...)을 선택하고, 그 안의 목록 중, Microsoft.NET Framework 3.0 와 Microsoft.NET Framework 2.0을 선택한다.
  3. 업데이트 설치를 클릭한 뒤, 업데이트를 설치한다.

설치는 모두 자동으로 설치가 진행되게 되는데, 아무런 문제가 없이 설치가 완료되면 된다.

3. IIS(Internet Information Services) 구성

마지막으로 설정해야 하는 것이 바로 웹 서버 바로 IIS 입니다. 예전 Windows 2000 시절의 IIS 는 5.0 인데, 자동으로 다양한 기능들이 설치됩니다. 하지만, Windows Server 2003에서 제공하는 IIS 6.0은 초기 설치 후 바로 쓰기에 무리가 있을 만큼 설정이 많이 없습니다. 그래서 필요한 기능들을 활성화 해주어야 합니다.

여기서는 IIS 6.0 설치에서부터 기본적인 구성까지 설명 드립니다.

먼저 IIS를 설치합니다. 이 내용은 Windows Server 2003의 구성요소이기 때문에, Windows 자체적으로 추가하는 방법을 가지고 있습니다. 설치 방법은 설치 마법사를 이용하여 진행합니다. 각 단계 별로 아래의 설명대로 진행하시면 됩니다.

  1. 시작 -> 모든 프로그램 -> 관리도구 -> 서버 구성 마법사를 실행합니다. ( 만일 이런 항목이 보이지 않은다면 시작 –> 제어판 –> 관리도구 –> 서버 구성 마법사를 선택하시면 됩니다. ) 
  2. 실행 되면, 마법사 시작 화면과 준비 단계 화면이 나오게 됩니다. 여기서 다음을 클릭합니다. 그러면 자동으로 마법사가 현재 시스템의 내용들을 파악하게 됩니다.
  3. 각 점검이 완료하게 되면, 현재 상태에 따라 뜨게 됩니다. 보통 서버내 아무런 구성요소를 구성하지 않았다면, 아래와 같은 화면이 뜹니다. 그 화면에서 사용자 지정 구성(C)를 선택하고 다음을 클릭합니다.만일 서비스가 한가지라도 있다면, 3번 단계없이 4단계 – 서버 역할 선택으로 진행하게 됩니다.
  4. 서버 역할 선택 화면에서는, 이 서버에 설치가 가능한 다양한 서버 역할을 표시합니다. 그 중, 응용 프로그램 서버(IIS, ASP.NET)을 선택합니다. 그리고 난 뒤, 다음 버튼을 클릭합니다.
  5. 그러면 해당 역할에 대한 추가 설치할 사항들을 선택 할 수 있게 나오는데, 여기서 아무것도 선택하지 않고, 다음 버튼을 클릭합니다. 마지막으로 설치할 내용에 대한 요약화면이 나오는데, 마찬가지로 다음 버튼을 클릭합니다.
  6. 이제 IIS 관련된 사항들을 자동으로 설치하게 됩니다. 만일 앞서 말씀 드린 TIP에 언급 드린 작업을 수행하셨다면 자동으로 완료되지만, 만일 설정하지 않으셨다면, 중간에 Windows 설치 원본을 넣어달라는 메시지가 뜰 수 있습니다.
  7. 완료되면 마침 페이지가 뜨는데, 마침 버튼을 클릭하면 됩니다.

이제 기본적인 IIS가 설치되었다면, 이 IIS에 ASP.NET 2.0이 동작할 수 있도록 해야 합니다. 그러기 위해서는 IIS내 ASP.NET 2.0 확장 기능을 추가해야 합니다.

ASP.NET 2.0을 IIS에 추가하려면 아래와 같이 작업하시면 됩니다.

  1. 시작 -> 실행을 클릭합니다. 한 줄 텍스트를 넣을 수 있는 칸이 보이는데, 그 안에 아래의 내용을 입력합니다. ( 물론 cmd 같은 명령 줄 창 – 도스창 같은 – 에서 작업하셔도 됩니다. ) 
      %WINDIR%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -iru
  2. “……” 같은 것이 계속 한 개씩 늘어나다가 정상적으로 완료되면 창이 자동으로 닫힙니다.
  3. 이제 인터넷 정보 서비스(IIS) 관리자를 띄운다. 실행(시작 –> 실행) 창에서 inetmgr을 입력해서 직접 실행하시거나,  시작 -> 제어판 -> 관리도구 -> 인터넷 정보 서비스(IIS) 관리자를 클릭하여 직접 실행할 수 있습니다.
  4. 인터넷 정보 서비스(IIS) 관리 창이 떳을면, 왼편에 위치한 트리의 내용을 펼쳐 보시기 바랍니다. 보시면 맨 아래쪽에 웹 서비스 확장이라는 항목을 보실 수 있는데, 그것을 클릭하여 선택하시기 바랍니다.  선택하면 오른쪽에 웹 서비스 확장 항목의 상세 내용이 표시된다. 표시된 항목들 중 ASP.NET v2.0.50727 을 선택한 뒤,바론 왼쪽의 버튼들 중 허용을 클릭한다. 정상적으로 되면,  항목의 상태가 허용됨으로 표시 될 것입니다.

4. IP 할당 설정.

서비스를 제공하는 서버 이기 때문에, DHCP 같은 동적으로 할당되는 IP 주소인 경우에는 다른 사람들이 접근하는데, 문제가 있을 수 있습니다. 그러므로 누구든 접근할 수 있도록 고정적인 주소를 할당하는 것입니다. 네트워크 설정에 들어가셔서 가급적 고정 IP를 할당하시기 바랍니다.
네트워크 IP 정책이나, 각 변경 방법은 네트워크 관리자나 기타 지식 검색을 통해서 확인하시기 바랍니다.

5. 정리

지금까지 수행한 내용은 운영체제에 대한 설치 및 구성입니다. 사실 운영체제 구축을 자주 하신 분들은 이 부분에 대한 내용이 그다지 중요한 부분은 없을 것입니다. 단지 .NET Framework 2.0과 3.0 그리고 IIS, ASP.NET 2.0 구성이 되면 됩니다. 이 구성 내용이 WSS가 동작할 수 있는 가장 기초 부분이기 때문입니다. 이 부분이 안정적으로 구성되지 않을 경우, WSS가 설치되지 않거나, 설치되더라도, 비정상적으로 동작할 것입니다. 천천히 하나씩 체크하시면서 구성하시면 될 것입니다.

다음 포스트에서는 WSS의 저장 장치인 DB 부분과 WSS 설치작업에 대해서 언급 드리도록 하겠습니다.

신고
Posted by 하인도

협업이라는 화두는 꽤 오래전에 나왔던 말입니다.
과거 IBM Lotus 사에서 만든 Domino/Notes 라는 솔루션에서 그와 같은 기능들을 다양하게 지원했습니다. 팀 단위의 업무를 어떻게 처리해야 할 지, 비슷한 업무나 다른 업무에서 같이 일하는데, 시간적, 공간적 제약을 어떻게 해결 해야 할지 등에 대하여 다양한 고민을 하고, 그에 대한 솔루션으로 대응되는 제품들이였죠.

그러나, 애석하게도 쉬이 접근할 수 없는 것 중 하나가, 이런 솔루션이 한 가격을 한다는 것입니다. 라이센스가 상상을 초월하는 금액인지라(물론 디스카운트가 되긴 하지만, 그래도 무쟈게 비쌉니다.) 협업을 위해 이걸 써야 겠다라는 말이 나오기 참 힘듭니다. 거의 회사 차원에서 큰돈 모아 IT 지원이라는 명목으로 프로젝트를 띄워서 하지 않는 이상 무리일 것이 당연합니다.그렇다면, 몇사람 안되는 팀에서 회사 차원의 지원은 물건너가고, 그래도 협업을 해야 겠고 했을때, 어떻게 할까요? 오픈 소스 끄집어 올까요? 이것도 대략 난감이긴 합니다만.....

마치 광고지 같은 기승전결이죠?(笑)
일단, 회사에 Windows Server 2003 라이센스 한카피 정도만 마련되면 그 협업의 공간을 만들 수 있습니다. 지금 부터 소개 시켜 드릴 내용은 바로 MS에서 만든 협업 관련 솔루션 중, 가장 저렴하고 간단한 것입니다.

Windows SharePoint Service 3.0 (이하 WSS 3.0)이 바로 그것입니다.

사실 이 SharePoint 개념 부분에 대해서는 대부분 MS의 찌라시(브로셔)등을 보시면 아주 자세히 나오고 있지만, 그래도 여러분들이 이 글을 읽는 정당함을 찾기 위해서는 아셔야 될 부분들이 있기 때문에, 그 부분을 언급드립니다.

  1. 문서 라이프사이클 관리.
    사실 회사에서 하나의 팀의 조직원이면, 다양한 문서를 만들고 지우고 돌려보며 사용합니다. 물론 더 이상 쓸모가 없어지면 지우거나 보관하시겠죠.그 일련의 작업을 할 때 보면 보통 공유 폴더에서 작업하게 되는데, 아마도 몇년간 이런 작업을 하시다보면, 문서 유실은 기본이요, 누군간의 해꼬지로 반 쯤 망가지거나, 팀원 PC마다 제각기 다른 버전의 보고서가 여기저기 흩어져 있는 것을 볼 수 있죠. 하나의 통합된 공간과 버전관리가 있다면 쉽게 풀수 있을텐데... 라고 생각하시는 그 분들을 위한 솔루션 입니다.
    즉 생성, 작성, 배포, 보관, 폐기 까지의 일련의 과정을 하나의 공간에서 처리할 수 있게 되죠.
  2. 팀 정보 공유
    이거 정말 별거 아닌 것 같지만, 사실 은근히 필요한 사항 입니다. 물론 대부분의 정보들은 담배 피는 재털이 모임이나, 술자리에서 구구 절절히 다양한 정보들이 튀어 나오기는 합니다면, 아시다 시피 거의 구두 정보입니다. 어디선가 변질되거나 잘못된 정보들이 우후죽순 생겨나게 되죠.
    물론 회사내 인트라넷이 있으면 어떻게든 해보겠지만, 만일 전사 레벨의 내용이 아니라면, 올리기도 민망하죠. 그렇다고 일일히 문자 쏘기도 귀찮고, 메일 보내봐야 스팸 처리당한다면.. 그것도 아픔.
    이런 다양하면서 중요(?)한 팀 정보들을 서로간 공유하기 위한 공간을 제공하는 것이죠.

사실 이외에도 다양한 기능들이 있지만, 그건 기능일 뿐.
아마도 저 2가지 문제점에 대한 간단한 솔루션 찾기라면 한번 도전해보세요.
제약사항은 딱하나, Windows Server 2003 라이센스겠죠....

준비물.

  • MS Windows Server 2003 이 설치된 서버 * 1.
    (서버라 말씀드렸지만, 그냥 웹서버 돌릴수 있는 PC 정도면 됩니다. 구입년도 2007년 이상 PC면 거의 OK입니다. )
  • WSS 3.0 with SP1 설치용 파일 ( 다운로드 )
  • MS SQL Server 2005 Express Edition
  • (MS Windows XP 혹은 MS Windows Vista 클라이언트 + MS Office 2007) * 사용자 수.
    (이 중 Office 2007이 있는데, 문서 라이프사이클 관리를 보다 효율적으로하려면 역시 MS Office 2007이 있어야 합니다. WSS - MS Office 는 참 잘 연동 되는데요, 만일 대충 쓰신다면 뭐 그닥 없어도 그만입니다. )

개괄적인 진행 순서
  • 설치/구성 : 기본적으로 무엇을 어떻게 준비해야 하는지 등을 다룰 예정입니다.
  • 사용 : 실제로 이 WSS를 어떻게 활용하는 지를 다룰 예정입니다.
  • 운영 : 각종 문제점에 닥쳤을 때 어떻게 대응해야 하는지 들을 다룰 예정입니다.

위의 대략적인 순서로 진행할 예정입니다. 아주 대략적입니다. 자세한 순서들을 작성하면서 그 때 그 때 수정하면서 진행할 예정입니다.


특별한 일이 없으면 화, 목 으로 일주일에 2번 포스팅을 할 예정이다.
필자가 워낙 게을러서, 뒤로 미뤄질 수도 있고 생뚱 맞은 날에 포스팅 될 수도 있다.

제가 또 다시 게으름의 시기를 맞은대다, 회사 마저 옮기는 대규모 공사를 하느라, 사실 이 작업 진행을 못했습니다. 지금은 조금 정신 차려 옛날 설치했던 내용들을 찾아 정리하고 있습니다. 하는 김에 여기 글들도 조금씩 교정 및 정리하고 있습니다.

나중에 한꺼번에 보고 싶을 때, "협업 좀 하자" 라는 항목으로 검색하시거나 오른쪽 아래에 따로 뺀 링크를 클릭하시면 여기에 해당하는 글들을 쉽게 보실 수 있습니다.
신고
Posted by 하인도
요즘 한국 MS에서 SharePoint를 하나라도 더 많은 곳에 팔기 위해 많은 시도들을 하고 있다. 그래서 이 SharePoint를 많은 업체들에게 소개하고 영업을 하고 있다. 그 소개와 영업하기 위해 이 SharePoint의 많은 특/장점을 제시하는데,그 중 하나가 다국어 지원이다.

우리나라의 대부분 업체들이 말하고 있는 다국어 사이트라는 개념과 SharePoint와 외국인의 입장에서 보는 다국어 사이트라는 개념에는 상당한 차이가 있다.
특히 인트라넷 시스템을 기준으로 볼 때, 확연하게 틀리다.

우리나라의 대부분의 업체들이 말하는 다국어 시스템이라는 것은, 사이트내에 담긴 내용과는 별개로 각종 메뉴나 외부 틀에 보이는 모든 형태가 언어별로 다르게 표시되는 시스템을 원한다. 즉 게시판을 예를 들면 게시판의 내용은 한국어가 되었던 영어가 되었던, 러시아어가 되었던 외부의 틀만은 언어 중립적으로 표시되어야 한다는 것이다. ( 유니코드가 나오기 전에는 어떻게 되었는지 궁금할 따름이다. )

외국 입장(SharePoint와 외국인들)에서는 사이트의 내용에 따라 틀도 달라진다는 의미로 해석하면 된다. 만일 영어 사이트라면 틀도, 내용도 영어로만 적혀 있어야 한다. 한국어 사이트면 틀도, 내용도 모두 한국어로 나와야 된다는 의미이다. 즉 언어별로 별개의 사이트로 구성되서 진행되는 것이다.

다국어에 대한  이 차이점은 고객과 SharePoint를 적용하는데 있어 큰 걸림돌이 되고도 남는 부분이 된다. 그냥 다국어라고 MS에서는 이야기 하기 때문에, 고객입장에서는 당연히 언어 설정을 하면 그에 맞게 모든 사이트의 형태가 휘리릭 바뀌기리라 생각하고, SharePoint에서는 다른 언어인 경우 별도 사이트를 구축하여 제공하는 것이다.

어느 쪽 생각이 옳은지는 전혀 모르겠지만, 최소한 국내 IT 업계에서 일하는 만큼 전자를 따르는 것이 옳을지 모르겠다.
하지만, 이런 국내 고객들의 입맛에 맞게 SharePoint로 다국어 지원 사이트를 만든다는건, SharePoint의 기본 기능은 안 쓰고 대거 손을 대버리겠다는 의미와 동일하다.( 결국, 개발자만 죽어나거나, 안하니만 못한 시스템이 구축된다. )

과연 이 사실을 몇몇이나 알지 모르겠다.
신고
Posted by 하인도

보통 일반적인 게시판에서는 올린 글에 대해서는 누구든지 보게 된다.
또한 특정 글의 수정 작업은 자신이 작성한 항목에 대해서만 수행할 수 있게 된다.

그런데, 혹시 아래와 같은 기능이 필요할 수 있다.
1. 하나의 게시판을 여러사람이서 공유하지만, 마치 자신만의 글만 보이도록 하고 싶다.
2. 어떠한 글이든, 권한만 있으면 편집이 가능하다.
3. 모든 사용자가 아이템 자체를 편집 못하게 한다. ( 마감 처리 )

사실 1번과 같은 사항은 대개 View를 수정해서 자신이 작성한 글만 보이게 처리할 수 있다.
하지만, 만일 View를 바꿔 보게 되면 전체가 다 보이므로 1번의 조건에 합당하게 처리되지 않는다.  2번 같은 경우에는 글이나 문서가 공유되는 것이라서 팀 사이트 의 경우 팀 구성원이 원하는데로 수정가능한 경우를 의미한다.
3번의 경우는 해당 게시판의 만료적인 의미로 두면 되며, 더 이상 누구도

이 처리를 위한 방법은 SPList의 속성 중 아래의 2개의 프로퍼티가 이런 기능을 제공하게 된다.

int SPList.ReadSecurity

 속성 내에 넣는 값
 1 - 모든 사용자가 모든 아이템을 읽을 수 있다.
 2 - 자신이 생성한 아이템에 대해서만 읽을 수 있다.

int SPList.WriteSecurity

 속성 내에 넣는 값
 1 - 모든 사용자가 모든 아이템을 권한만 있으면 편집 가능하다.
 2 - 사용자가 생성한 아이템만 편집 가능하다.
 4 - 누구도 아이템에 대해 편집이 불가능하다. ( 사이트 관리자만 가능 )


위의 속성만 세팅하게 되면, 각각의 기능을 수행할 수 있게 된다.

기본 값으로 ReadSecuriry는 1이, WriteSecuriy는 1로 설정되어 있다.

만일 위의 3가지 요구사항중 1번을 처리하려면,
ReadSecurity를 1, WriteSecurty는 1또는 3을 넣으면 된다.

2번을 처리하려면,
ReadSecurity를 1, WriteSecurty는 1로 넣으면 된다.

3번을 처리하려면,
ReadSecurty를 1, WriteSecurty를 4로 넣으면 된다.

신고
Posted by 하인도

기본 제공하는 Field 중 User 필드가 있다.  이 안의 값을 가져오면 다음과 같은 형식으로 저장되어 있다.

WebID#;사용자이름.


만일 해당 SPWeb 내에 Users 내에 강냥이 라는 사용자가 등록되어 있을때,

44#;강냥이

이런 식으로 기록된다. 물론 저 44라는 것은 SPUser의 ID를 의미한다. ( 무슨 숫자가 될지는 SPWeb 이 알아서 결정한다. )
예전에 이 필드 내에 있는 값을 참조할 때는 #;를 구분자로 나누어 44로 SPUser를 찾아 값을 처리하고 그 뒤의 문자열로 값을 처리했다. 언제나 저 문자열에 대해 SPlit 로 해서 배열 짜서, 하나씩 대응 했다.

이 작업이 쉽다고 하면 쉬울 수 있겠지만, 은근히 짜증나는 작업이 아닐 수 없다. 그렇다고, 이 작업을 위한 별도의 Static 함수 만들기도 애매모호 할 때 가 있다. ( Utility 함수들이 담긴 별도의 DLL을 만든다고 할 때, 그 DLL을 모든 프로젝트에 포함시켜줘야 할 것이다.)

이 때 해결해주는 구세주가 있으니 바로 SPFieldUserValue 라는 클래스 이다.
이 클래스를 사용하면 모두 끝난다고 보면 된다.
사용방법은 간단하다.

SPList list = web.GetList(http://wataru/Lists/Test);
SPListItem item = list.Items[0];
string sAuthorContext = item["Author"] as string;
SPFieldUserValue authorValue = new SPFieldUserValue(list.ParentWeb, sAuthorContext);
if(authorValue.User != null)
{
    String sLoginName = authorValue.User.LoginName;
}
else
{
      // 웹 내에 사용자가 없음
}


즉 SPFieldUserValue 클래스를 new로 생성할 때, 해당 SPWeb 개체와 User 필드내의 값 String만 넣으면 그 결과값을 바로 확인 할 수 있다.

.......

이 내용은 http://www.sharepoint-tips.com/2007/10/another-simple-code-snippet-using-user.html 에서 본 뒤 쇼크 받고 올린다.

신고
Posted by 하인도

MOSS 2007 을 설치한 후, 예전에 CPU 개수(또는 코어) 만큼 웹가든을 만드는 것이 좋다는
의견이 있었다. 그런데, 이 내용은 32bit에서나 적용될 내용이라는 것이다.
그 이유는 보통 32Bit에서는 내부 가상 메모리의 최대 크기가 2G 뿐인데,
만일 700M 이상 넘어가면, 가비지 Collection 작업이 돌게 되는데,
이 때 CPU 사용률이 엄청나진다는 것이다. 그래서 가급적 32Bit 머신에서는
여러개의 웹가든을 두어 이 가비지 Collection 작업을 적게 발생하도록 하는 것이다.

그런데, 64Bit 에서는 최대 가상 메모리 크기가 7T 이기 때문에,
이 가비지 Collection 작업이 전무 하다. 그러므로 여러개의 웹 가든을 잡을 필요조차 없다.
이 사항은 MS SharePoint 프로덕트 팀에서 말한 내용에서 언급 되어 있다.
( MOSS 2007 SP1 배포 문서에 이 내용이 담겨 있다고 한다. )

신고
Posted by 하인도

Site administrator를 등록하려면, 보통 사이트 설정에 들어가 사이트 관리자 설정에 들어가,

추가하면 된다.

 

그러나 프로그래밍 상으로 추가하려면, 단순히 Site Users와 같은 컬랙션에 추가해서 되지 않는다.

실제로 SPWeb 내에 SiteAdministrators 라는 SPUserCollection이 있기는 하지만, 이 컬렉션은

Get 용이며, 여기에 Add 해봐야 아무런 반응을 보이지 않는다.

 

방법은 해당하는 사이트에 등록된 사용자의 SPUser 개체를 가져와, SPUser에서 제공하는 IsSiteAdmin true로 만들어주면 된다.

 

예제 소스는 아래와 같다.

 

///   
/// 모든 관리자를 해당 Site에 추가  
///   
///   
///   
///   
static void AddSiteAdmins(SPSite site, SPWeb web)  
{             
    // 관리자 목록에서 사용자 등록  
    foreach (string sAdminLoginName in TeamCommMemberSync.arySiteAdminList)  
    {  
        SPPrincipalInfo info = SPUtility.ResolveWindowsPrincipal(site.WebApplication, sAdminLoginName, Microsoft.SharePoint.Utilities.SPPrincipalType.User, false);  
        // 인증정보를 성공적으로 가져오면 처리  
        if (info != null)  
        {  
            // 해당 사용자를 group내에 있는지 확인  
            SPUser user = null;  
            try  
            {  
                user = web.SiteUsers[info.LoginName];  
            }  
            catch  
            {  
                user = null;  
            }  
                    
            // 해당 group내에 해당 사용자가 없으면, 추가 처리.  
            if (user == null)  
            {  
                try  
                {  
                    // 해당 사이트에 추가  
                    web.SiteUsers.Add(info.LoginName, info.Email, info.DisplayName, info.DisplayName);  
                    web.Update();                         
                    user = web.SiteUsers[info.LoginName];                                 
                }  
                catch  
                {  
                    //Utils.AppLogger.ExceptionLogWrite(this.GetType(), ex);  
                }  
            }  
            if (user != null)  
            {  
                user.IsSiteAdmin = true;  
                user.Update();  
            }  
        }  
    }  
}
 

핵심 부분은 45라인 부분이다.
해당하는 SPWeb 개체에서 얻은 SPUser 개체에 값을 설정하고 Update 해주면 완료된다.

만일 위의 작업이 실패하는 경우의 케이스로는 해당하는 SPWeb 개체를 가져올 때, Site Administrator외의 일반 계정으로 SPWeb을 열었을때는

에러가 발생하게 된다.

 

현재까지 테스트된 사항에 의거하면, 최소한 저 위의 코드가 실행하는 주체가 Site Administrator 일 경우에는 문제없이 실행된다.

신고
Posted by 하인도

권한이 없는 사이트에 접속 시, 보통은 액세스 거부 창이 뜹니다.

이 때 다른 사용자로 로그인 외에 “액세스 요청”이라는 항목이 더 생길 수 있는데,

일반적인 형태로 생성하는 경우 “액세스 요청” 이라는 항목이 생기지 않습니다.



이 경우 해당 사이트 설정에서 바꿔주거나 프로그램 상에서 변경 가능합니다.


1. 사이트 설정 변경하기
사이트 설정에 들어가서 “사용자 및 사용 권한” -> “고급 사용 권한”에 들어갑니다.

그리고 고급 사용 권한 리스트가 뜨면 설정을 클릭해서 액세스 요청에 들어갑니다.




그리고 난 뒤, “액세스 요청 허용”을 체크해주시고, 액세스 요청에 대한 이메일을 어디로 보낼지, 메일 주소를 넣으면 됩니다.




2. 프로그램 상으로 변경하기.
원하는 사이트의 SPWeb을 엽니다.(SPWeb 가져오는 방법에 대해서는 별도로...)
그리고 난 뒤, SPWeb 이 web 이라는 변수로 되었다고 했을때,


web.RequestAccessEmail
안에 원하는 Email 주소를 넣어주기만 하면,

자동으로 액세스 요청 항목이 활성화 됩니다.


만일 허용하지 않으려면, string.Empty 혹은 null을 넣으시면 됩니다


신고
Posted by 하인도

SPList 개체에서 특정 사용자의 특정 권한을 체크하고 싶을 때 사용하는 방법이다.
일전 SK 에너지(구 SK Corp)에서 게시판에서 처리한 방법을 보면
아래와 같이 처리되어 있었다.

// 1번 그룹이 바로 글 쓰기 권한
SPList list = SPContext.Current.Web.GetList(".....");
newItemGroup = 1;
usableNewItem = false;
SPGroup group = SPContext.Current.Web.Groups[newItemGroup];
if( group.ContainsCurrentUser == true )
{
      // SPList에 글쓰기가 있으니.. 쓰는 권한에 관련된 처리를 여기에..
      SPListItem newItem = list.items.Add();
       ......
}


위의 방법대로 하기 위해서는 newItemGroup의 그룹을 찾아야 되는 문제가 있다.
이에 간단하게 해결하는 방법이 있는데 아래와 같다.

SPList list = SPContext.Current.Web.GetList(".....");
if(list.DoesUserHavePermissions(SPBasePermissions.AddListItems))
{
     // SPList에 글쓰기가 있으니.. 쓰는 권한에 관련된 처리를 여기에..
      SPListItem newItem = list.items.Add();
       ......
}

DoesUserHavePermissions 이 메소드 안에, SPBasePermissions 항목에
체크하고자 하는 권한들을 넣으면 된다.
만일 여러개의 권한 체크가 필요할 시에는 '&'로 연결해서 체크하면 된다.

if(list.DoesUserHavePermissions(SPBasePermissions.AddListItems | SPBasePermissions.EditListItems))
{
    // SPList에 글쓰기가 있으니.. 쓰는 권한에 관련된 처리를 여기에..
      SPListItem newItem = list.items.Add();
       ......
}



수정 : if(list.DoesUserHavePermissions(SPBasePermissions.AddListItems & SPBasePermissions.EditListItems)) 라고 썼던 부분을
if(list.DoesUserHavePermissions(SPBasePermissions.AddListItems | SPBasePermissions.EditListItems)) 로 수정합니다.
& -> |


 

신고
Posted by 하인도

List 템플릿 추가 중에 아래와 같은 오류가 끊임없이 발생하여,

추가 List 템플릿으로 web.Lists.Add(".....", "......", listTemplate) 메소드로 SPList를 추가할 수 없는 경우가 있습니다.

System.Data.SqlClient.SqlException:

테이블 'WSS_Content.dbo.EventReceivers', 'Name' NULL 값을 삽입할 수 없습니다. 열에는 NULL을 사용할 수 없습니다.

INSERT() 실패했습니다.  문이 종료되었습니다.    

 

위치: System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 
위치: System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

위치: System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,
 SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
위치: System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
위치: System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result,
 String methodName, Boolean sendToPipe)    

위치: System.Data.SqlClient.SqlCommand.ExecuteNonQuery()    

위치: Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command)

 

이 내용을 확인해 본 결과 List Template 안의 Event Add 하는 부분에서 아래와 같은 부분을 확인 할 수 있었습니다.

List Template Element.xml 을 살펴본 결과 아래와 같습니다.

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <!-- 리스트 템플릿 정의부분 -->

  <ListTemplate

        Name="FreeTalk_Board"

        Type="8000"

        BaseType="0"

        OnQuickLaunch="TRUE"

        SecurityBits="12"

        Sequence="392"

        DisplayName="FreeTalk_Board"

        Description="FreeTalk_Board"

        Image="/_layouts/images/itann.gif"       

        />

  <!-- 이벤트 리시버 정의부분 -->

  <Receivers ListTemplateId="8000">

    <Receiver>

      <Name>CollectBoardEventReceivers</Name>

      <Type>ItemAdded</Type>

      <SequenceNumber>50000</SequenceNumber>

      <Assembly>SKT.TSquare.SPS.FreeTalk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=388b774ba96c947e</Assembly>

      <Class>SKT.TSquare.SPS.FreeTalk.CollectBoardEventReceivers</Class>

      <Data />

      <Filter />

    </Receiver>

    <Receiver>

      <Name>CollectBoardEventReceivers</Name>

      <Type>ItemDeleting</Type>

      <SequenceNumber>50000</SequenceNumber>

      <Assembly>SKT.TSquare.SPS.FreeTalk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=388b774ba96c947e</Assembly>

      <Class>SKT.TSquare.SPS.FreeTalk.CollectBoardEventReceivers</Class>

      <Data />

      <Filter />

    </Receiver>  

  </Receivers>

</Elements>

 

일단  <Receivers> .... </Receivers> 부분에 있는 내용을 모두 삭제해 보고 리스트를 추가해 본 결과,

위의 오류가 발생하지 않았습니다.

이번에 다시 추가해서 적용해 본 결과 오류가 재발하였습니다.

그래서 이번에는 각 Event의 이름을 다르게 적용해 보았습니다.

 

   ....

  <Receivers ListTemplateId="8000">

    <Receiver>

      <Name>FTEventItemAdded</Name>

      <Type>ItemAdded</Type>

      <SequenceNumber>50000</SequenceNumber>

      <Assembly>SKT.TSquare.SPS.FreeTalk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=388b774ba96c947e</Assembly>

      <Class>SKT.TSquare.SPS.FreeTalk.CollectBoardEventReceivers</Class>

      <Data />

      <Filter />

    </Receiver>

    <Receiver>

      <Name>FTEventItemUpdated</Name>

      <Type>ItemDeleting</Type>

      <SequenceNumber>50000</SequenceNumber>

      <Assembly>SKT.TSquare.SPS.FreeTalk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=388b774ba96c947e</Assembly>

      <Class>SKT.TSquare.SPS.FreeTalk.CollectBoardEventReceivers</Class>

      <Data />

      <Filter />

    </Receiver>  

  </Receivers>

   ....

 

확인해 본 결과 위와 같이 변경하니, 그 이상의 오류는 발생하지 않았습니다.

그 이후에는 이름이 동일해도 오류가 발생하지 않았습니다.

초기에 리스트 템플릿 상에서 동일한 이름으로 등록할 때 발생되는 오류로 생각됩니다.

신고
Posted by 하인도
MOSS로 구성한 사이트에, IIS 내 가상 디렉토리로 추가 구성을 한 경우,
간혹 Output Cache가 정상적으로 동작하지 않는 경우가 있다.
그런 경우 아래와 같은 이벤트가 계속 쌓이게 된다.
이벤트 형식: 오류
이벤트 원본: Office SharePoint Server
이벤트 범주: 게시 캐시
이벤트 ID: 5785
날짜:  2007-10-01
시간:  오전 8:36:03
사용자:  N/A
컴퓨터: PORTAL
설명:
출력 캐싱에 대한 게시 사용자 지정 문자열 처리기에 연결할 수 없습니다. IIS 인스턴스 ID는 '677781685'이고 URL은 'http://portal/TestSite/ServiceFrom.aspx'입니다.
자세한 정보는 http://go.microsoft.com/fwlink/events.asp에 있는 도움말 및 지원 센터를 참조하십시오.

정확히 확인하진 않았지만, 위와 같은 현상이 발생되는 가상 디렉토리는 보통 SPS 쪽이 NTLM이고, 가상 디렉토리 부분이 Anonymous 형태로, 인증 자체가 아예 틀린 경우다.
그런 경우 SPS 쪽의 Output Cache 프로필 중에 Anonymous 대응용 프로필이 없어 발생하는 것으로 생각된다.

이 경우 처리 방법은 해당 가상 디렉토리 내에 web.config를 별도로 생성해서 아래와 같이 처리해 주면 된다. [ 굵은 색 부분을 추가해 주면 된다. ] 
<connectionStrings/>
 <system.web>
    <httpModules>
      <remove name="OutputCache"/>
      <remove name="PublishingHttpModule"/>
    </httpModules>
   
  <!--
            컴파일된 페이지에 디버깅 기호를 삽입하려면
            compilation debug="true"로 설정하십시오. 이렇게 하면
            성능에 영향을 주므로 개발하는 동안에만 이 값을
            true로 설정하십시오.
        -->
  <compilation debug="false">



물론 정확하게는 anonymous에 대응되는 Cache 프로필을 만드는 것이 더욱 좋긴 하지만, 설정 처리 방법을 잘 모르니....
후에 Cache에 대해서 더 자세히 알게 되면 추가하도록 하겠다.

신고
Posted by 하인도

지금 작업 중에, MOSS 2007 안에 있는 콘텐츠 데이터베이스를 각 사이트 콜렉션별로
나누어 만드는 작업이, 콘텐츠 데이터베이스 갯수 : 사이트 콜렉션 갯수를 1:1로 맞추어 진행하고 있다.

그런데, 재미있는 것은 만든 사이트 콜렉션 내에 사이트를 무한대 만들어도
콘텐츠 데이터 베이스에서는 무조건 현재 사이트 수를 1로 잡고 있었다.

이는 즉, 이 콘텐츠 데이터베이스 입장에서는 하위 사이트 수는 전혀 관계 없고
오로지 사이트 콜렉션이 몇개인지에 달려있다고 볼 수 있다.
만일 사이트 콜렉션 수가 콘텐츠 데이터베이스에 1개만 달렸다면,
콘텐츠 데이터베이스는 죽었다 깨어나도 사이트 콜렉션을 1개만 달고,
그 하위의 사이트는 무한대로 달 수 있게 된다.

신고
Posted by 하인도
MOSS 2007을 설치하면 기본적으로 설치되는 프로필의 목록이다.
이 목록을 이용하면, 원하는 이름 별로 찾을 수 있다.

한글 이름 Static Name
계정 이름 AccountName
이름 FirstName
LastName
전체 이름 PreferredName
회사 전화 WorkPhone
사무실 Office
부서 Department
직함 Title
관리자 Manager
설명 AboutMe
개인 사이트 PersonalSpace
그림 PictureURL
사용자 이름 UserName
빠른 연결 QuickLinks
웹 사이트 WebSite
공용 사이트 리디렉션 PublicSiteRedirect
보조 관리자 SPS-Dotted-line
피어 SPS-Peers
업무 SPS-Responsibility
기술 SPS-Skills
이전 프로젝트 SPS-PastProjects
취미 SPS-Interests
학교 SPS-School
주소 SPS-SipAddress
생일 SPS-Birthday
내 사이트 업그레이드 SPS-MySiteUpgrade
목록 제안 안 함 SPS-DontSuggestList
프록시 주소 SPS-ProxyAddresses
고용 날짜 SPS-HireDate
마지막으로 동료를 추가한 날짜 SPS-LastColleagueAdded
Outlook Web Access URL SPS-OWAUrl
리소스 포리스트 SID SPS-ResourceSID
리소스 포리스트 계정 이름 SPS-ResourceAccountName
마스터 계정 이름 SPS-MasterAccountName
비서 Assistant
회사 전자 메일 WorkEmail
휴대폰 CellPhone
팩스 Fax
집 전화 HomePhone

신고
Posted by 하인도

금일 작업 중에, 일정 되풀이된 일정들을 SPQuery를 이용하여 SPListItemCollection을 가져오는 방법에 대해서

분석했습니다.

 

문제원인

만일 오늘 날짜에 해당하는 일정(되풀이 포함) 사항을 가져오려면 아래와 같이 작성하게 됩니다.

 

SPQuery query = new SPQuery();

// 쿼리문생성

query.Query = "<Where>"

               + "<DateRangesOverlap>"

               + "<FieldRef Name=\"EventDate\" />"

               + "<FieldRef Name=\"EndDate\" />"

               + "<FieldRef Name=\"RecurrenceID\" />"

               + "<Value Type=\"DateTime\">"

               + "<Today />"

               + "</Value>"

               + "</DateRangesOverlap>"

               + "</Where>";

SPListItemCollection listItems = list.GetItems(query);

 

위의 코드대로 작성하게 되면, listItems( SPListItemCollection )의 목록은

오늘 날짜에 해당하는 일정을 가져오는 동시에, 오늘 날짜의 이전 되풀이 일정(한주 기준)들도 함께 나오게 됩니다.

만일 오늘이 목요일이라고 하는 경우, 그 주의 월, , , 에 있는 되풀이들도 모두 나오게 됩니다.

(되풀이가 아닌 경우에는 정상적으로 나옵니다.)

 

즉 되풀이에 대한 별도 필터링 작업이 필요해지게 됩니다.

 

해결 방법

GetItems를 실행하기 전에, 아래와 같이 설정하면 됩니다.

(CalendarDate 부분은 읽어오려는 기준 날짜를 넣어주시면 됩니다.)

 

query.CalendarDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day);

query.RecurrenceOrderBy = true;

query.ExpandRecurrence = true;

 

위와 같이 넣고, GetItems를 하시면 정확히 원하는 되풀이만 가져올 수 있습니다.

신고
Posted by 하인도

원본 사이트 : http://weblogs.asp.net/erobillard/archive/2007/07/06/how-to-change-service-accounts-and-their-passwords-in-moss-and-wss-3-0.aspx


WSS 또는 MOSS용 웹 응용 프로그램의 응용 프로그램 풀 아이디 변경하는 방법

  1. SharePoint 중앙관리를 열어 "작업"을 클릭합니다.
  2. 보안 구성 항목 밑에 있는 서비스 계정을 클릭합니다.
  3. 웹 응용 프로그램 풀을 가르키는 라디오 버튼을 클릭한 뒤, 웹 서비스 중에 Windows SharePoint Services 웹 응용 프로그램을 선택한다음 응용 프로그램 풀에서 변경하고자 하는 웹 응용 프로그램 풀을 선택합니다.
  4. 아래에 있는 "이 구성 요소에 대한 계정을 선택하십시오" 밑 쪽에 위치한 계정을 설정해주시기 바랍니다. 기본적인 형태로 설정하는 경우에는 "미리 정의됨" 라디오 버튼을 선택한 뒤, 네트워크 서비스와 로컬 서비스중 하나로 선택하시고, 직접 입력하시려면 "보안 계정 구성" 라디오 버튼을 선택한 뒤, 사용자 이름과 암호를 입력합니다.
  5. 확인을 클릭해서 적용 한 뒤, IISRESET /NOFORCE를 실행하시기 바랍니다.

SharePoint 중앙 관리(SCA)의 웹 응용 프로그램의 응용 프로그램 풀 아이디 변경하는 방법

  1. stsadm -o updatefarmcredentials -userlogin domain\username -password password 를 입력합니다.
  2.  잠시 기다립니다.
  3. IISRESET /NOFORCE를 실행하시기 바랍니다.


MOSS 검색을 위한 기본 컨텐츠 액세스 계정 변경하는 방법.

  1. 중앙관리 페이지를 연 뒤, 왼편에 위치한, 공유 서비스 관리를 클릭해서 공유 서비스 관리에 들어간다.
  2. "검색"항목에 있는 검색 설정을 클릭한 뒤, "기본 컨텐츠 액세스 계정"을 선택합니다.
  3. 원하는 계정으로 변경한 뒤, 확인을 클릭합니다

MOSS 검색 서비스 계정 변경하는 방법

  1. SharePoint 중앙관리를 연 뒤, "작업"을 클릭합니다.
  2.  "서버 제공 서비스"를 클릭해서 들어간 뒤, "Office SharePoint Server 검색"에 들어갑니다.
  3. 아이디와 암호를 입력한 뒤 확인을 클릭합니다.



 

신고
Posted by 하인도
Shared Service Provider(이하 SSP)는 공유 서비스 공급자라는 이름으로 번역되어 등록되어 있다. MOSS 2007 전체 아키텍처 상, 이 SSP의 역할을 각기 흩어진 각종 웹 응용 프로그램의 내용 중에 공유해야 할 정보들을 묶고 있는 일종의 레파지토리(저장 장소)의 역할을 수행하는 것이 그 특징이다.

대략적으로 SSP가 담고있는 정보는 다음과 같다.
  • 사용자 프로필
  • My Site 설정값.
  • 검색 설정 및 검색 인덱스
  • MOSS 전체 기능 로그
  • 대상 그룹 설정
  • 엑셀 서비스 관리
  • BDC(Business Data Catalog) 관리
    .
이 기능은 WSS에는 없고, 오로지 MOSS 내에서만 존재하는 기능이다.
전체적인 기능들이 대부분 Enterprise 급의 데이터 관리에 필요한 사항들을 모아둔 것이 특징이다. 그래서 대부분 80 기본 사이트 보다는 별도의 웹 응용 프로그램을 이용해서 별도로 제작하는 것이 일반적이다. ( 같은 웹 응용 프로그램에 들어가면 운영 응용 프로그램과 겹쳐 진행되거나, 보안적으로 취약해질 수 밖에 없기 때문이다. )

그런데, 초기에 만들어진 SSP의 설정 문제로 삭제 후 다시 만들려고 할 때,
문제가 발생하게 된다. 한번 만들어진 SSP 삭제도 잘 되지 않을 뿐더러,
일부만 삭제되어 비정상적으로 실행되기도 한다.
그리고 새로 만든 SSP를 기본값으로 설정해도 예전 사이트는 여전히 비정상적으로
동작하는 경우가 발생한다.

이와 같은 문제가 발생하는 이유는 SSP가 가지고 있는 생성 규칙 때문으로 생각된다.

  • SSP에 영향을 받는 단위는 웹 응용 프로그램이다. ( 사이트 컬렉션, 사이트 단위 아님 )
  • 먼저 최초 SSP를 제작하게 되면, 기본적으로 이후에 생성되는 웹 응용 프로그램들이 모두 이 SSP를 바라보며, 동시에 이전에 생성한 웹 응용 프로그램들도 이 SSP를 바라보도록 구성된다.
  • 새로운 SSP를 추가한 뒤, 기본 값으로 설정하게 되면, 이전 웹 응용 프로그램은 모두 이전 SSP를 그대로 유지되고, 이후에 새롭게 생성한 웹 응용 프로그램 부터 새로운 SSP를 바라본다.
만일 SSP 설정이 잘못되어 처음 부터 다시 구성할 예정이라면, 최소한 이전에 구축한 사이트를 완전히 날리고 다시 설정해야 될 것이다. 또한 SSP의 기본값 변경을 통해 SSP 이전이라는 작업 자체가 되지 않는 사실도 인지할 필요가 있다.


신고
Posted by 하인도
TAG MOSS 2007, SSP
예전에 가상 함수를 만들어 엘리베이트 태우는 방법을 프로젝트 할 떄 배웠다.
그런데, 그 방법은 좀 아름 답지 않게 만들 수 밖에 없었다.
그런데, 이번에 SharePoint SDK 문서를 읽던 중... 참으로 아름 다운 방법을 발견해서
적는다.

SPSecurity.CodeToRunElevated elevatedGetSitesAndGroups
        = new SPSecurity.CodeToRunElevated(엘리베이트 태울 함수이름);
SPSecurity.RunWithElevatedPrivileges(elevatedGetSitesAndGroups);

예를 들자면... 만일 Button Click Event 중에, DoElevate 라는 함수를 권한 상승 처리를 해야 한다면 다음과 같이 구성될 수 있다.

private void DoElevate()
{
      // 관리자 권한이 있어야만 실행되는 코드....
}

protected void Button1_Click(object sender, EventArgs e)
{
     SPSecurity.CodeToRunElevated elevatedGetSitesAndGroups
        = new SPSecurity.CodeToRunElevated(DoElevate);
     SPSecurity.RunWithElevatedPrivileges(elevatedGetSitesAndGroups);
}

신고
Posted by 하인도
MOSS 2007로 개발을 한 뒤에 테스트를 하다가 보면, 아래와 같이 썰렁한
에러 메시지만 보여주고 끝내는 경우가 많다.

사용자 삽입 이미지

이렇게 나오면, 도데체가 무엇때문에 에러가 발생했는지 전혀 알 수 없기 때문에, 아무런 조치를 취할 수 없게 된다.
이를 처리하는 방법은 해당 사이트에 있는 Web.Config를 수정해야 한다.

만일 80 포트를 쓰는 평범한 웹사이트(?) 라면,
  C:\Inetpub\wwwroot\wss\VirtualDirectories\80
위치에 web.config를 볼 수 있을 것이다. 사용하는 Drive 나 포트에 따라 경로를 변경하도록해서 해당 web.config를 띄운다.
그리고 아래와 같은 위치의 내용을 각각 수정한다.

1. CallStack = "false" 로 적힌 내용을 CallStack ="True" 로 변경한다.
사용자 삽입 이미지

2. CustomErrors mode = "On" 또는 "RemoteOnly"로 된 것을 "Off" 로 변경한다.
사용자 삽입 이미지

다 변경했으면 저장한 뒤 해당 페이지를 Refresh 하고 동작하면 된다.

그러면 단순하게 한줄로 나왔던 오류도....
사용자 삽입 이미지
 장엄하면서 다양한 내용이 쭈욱 나오게 된다.



* 이 글의 원본 블로그가 있는데, 즐겨 찾기가 날아가는 바람에 해당 사이트를 찾지 못하고 있다.
신고
Posted by 하인도
MOSS 2007 개발을 할 때, 가상 디렉토리를 만들어 별도의 ASPX 페이지를 만들어
추가적인 기능을 꾸미려고 할 때가 있다.
그러나 임의대로 만들거나, 기본적으로 생성되는 대로 만들게 되면 MOSS 2007의 기능을
사용할 수 없거나 혹은, 아예 페이지 자체가 뜨지 않는 경우가 있다.
그래서 대부분의 개발자들은 _layouts 에 ASPX 페이지를 저장하는 경우가 많다.
그러나 자신만의 파일들을 별도로 구성해 관리하려면 역시 별도의
가상 디렉토리를 구성하는 것이 좋고, 그를 위한 방법을 정확히 파악하는 것이 좋다.

1. INETMGR - 인터넷 정보 서비스 관리자 실행을 한다.  그리고 난 뒤 가상 디렉토리 생성을 시작한다. 가상 디렉토리 만들려면 만들려는 사이트에서 오른쪽 버튼을 클릭한 뒤, 새로 만들기 -> 가상 디렉토리를 선택한다.
사용자 삽입 이미지


2. 가상 디렉토리 만들기 마법사가 실행되면 다음을 누르면 가상 디렉터리 이름을 넣는다. 이 부분은 사이트 경로 URL을 누를 떄 사용되는 이름이다.
사용자 삽입 이미지


3. 가상 디렉터리 상에서 보여줄 내용이 담긴 HDD상에 있는 경로를 넣는다. 직접 넣어도 되며, 찾아보기를 사용해서 경로를 넣어도 된다.
사용자 삽입 이미지
사용자 삽입 이미지

4. 다음을 클릭하면 디렉토리 액세스 권한을 설정하게 되는데, 여기서 읽기/스크립트 실행/실행 만 체크해주고 다음을 클릭한다.
사용자 삽입 이미지

5. 가상 디렉터리 만들기 마법사의 마지막이 나오고 마침을 클릭하면 가상 디렉터리가 만들어진다.

6. 만들어진 가상 디렉터리를 위에서 오른쪽 버튼을 클릭해서 속성을 클릭한다.
사용자 삽입 이미지


7. 속성 창이 뜨면 제일 먼저 자동으로 생성되어 있는 웹 응용 프로그램을 삭제해준다. 삭제하는 방법은 응용 프로그램 이름 옆에 있는 제거 버튼을 클릭하면 된다. 삭제한 후 적용 -> 확인하면 된다.
사용자 삽입 이미지
 


여기까지는 기본적으로 해주어야 되는 사항들이다.
그 이후에는 2가지 형태로 나뉘어 구성해야 하는데, 그 구분의 기준은 접근 권한이다.
1. 모든 사용자들이 접근 가능한 경우
2. 로그인한 사용자들이 접근 가능한 경우
3. 관리자 권한을 가진 사용자들이 접근 가능한 경우

이런 권한별로 구성하려면 접근 권한 셋팅이 달라지기 때문에, 이에 대한 설명은 다음 부분에서 다루려고 한다.
신고
Posted by 하인도
외국에서 제공하는 각종 이벤트 핸들러들을 쓰다가, 이래저래 피곤해서, 그냥 만들어보았다
물론 화려한 트리 UI 같은 것은 제공하지 않지만, 내 궁금증과 불편함을 해소해주는 수준의
프로그램이다. 추후 C# Windows APP UI가 익숙해지면 조금씩 개선할 생각도 있지만, 언제가 될지..

사용자 삽입 이미지

이 프로그램은 웹서비스를 이용해서 구성한 프로그램이 아니기 때문에, 실제 이벤트를 추가/삭제/편집할 사이트에서 직접 실행해야 한다.(터미널 서비스를 이용하던지, 콘솔로 직접 들어가든지) 일단 실행하면 위와 같이 나온다.

1. 해당 사이트 연결 및 GAC 로딩
사이트 URL 내에 자신의 사이트 Url을 넣는다.
사용자 삽입 이미지
이 URL을 접근할 때는 로그인한 계정을 기반으로 접근하기때문에, 해당 사이트에 접근 권한이 충분한(최소한 사이트 관리자 급) 계정으로 로그인해서 이 프로그램을 실행할 필요가 있다.
연결 버튼을 클릭하면 약 30초 정도 기다리면 프로그램이 전체적으로 로딩한다.
이 로딩 시간이 긴 이유가 GAC 내의 모든 Assembly를 로딩하는데 걸리는 시간이다.

2. 이벤트를 처리할 사이트 및 리스트 선택
사용자 삽입 이미지
왼편에 있는 웹사이트 및 리스트를 선택한다. 현재 이 이벤트 핸들러 도구는 Web, Field 단위의 기능은 없고, 오로지 List에 대한 설정만 가능하다. 그러므로 Web Site를 선택한 뒤에 List를 선택해준다. 이벤트가 있으면 최하단에 있는 목록도 업데이트 된다.

3. 이벤트 추가/수정/삭제
사용자 삽입 이미지
3.1 새 이벤트 만들기.
생성하려는 리스트를 선택해 주었으면 먼저 자신이 이벤트로 등록할 때 사용될 어셈블리는 선택한다. 이 때, 주의할 점은, 반드시 GAC에 등록되어 있어야 한다. 별도의 DLL을 사용해서 등록한다면, 다른 도구를 활용하는 것이 좋을 듯 싶다.
이벤트 핸들러가 있는 어셈블리를 선택하면, 그 안에 적절한 이벤트 핸들러 클래스가 있는 경우 이벤트 관련 클래스가 자동으로 업데이트 된다. 그 안에 적절한 이벤트 핸들러 클래스를 선택한다.
그리고 이벤트 이름을 넣고, 적절한 순번( 1~50000 사이), 동작 방법을 넣는다.
이벤트 이름은 이 이벤트를 대표하는 이름인데, 이 값을 넣어야 순번이 정상적으로 처리된다.
순번은 이벤트가 실행할 순서를 의미하는데, 1~50000 사이의 값을 넣으면 된다.
액션은 이벤트가 발생되는 조건을 의미하는데, Item Added 나 Item Updating 같은 것을 의미한다.

값이 정상적으로 들어 갔으면 새 이벤트를 클릭하면 위의 설정 대로 이벤트가 추가된다.

3.2 기존 이벤트 수정하기.
사용자 삽입 이미지
이벤트를 수정하려면 최 하단에 위치한 이벤트 목록에서 편집하려는 이벤트를 선택한다.
그리고 자신이 변경하고자 하는 형태의 값으로 변경하고 등록/변경을 클릭한다.
(주의! 절대 이 작업을 통해 어셈블리나 이벤트 핸들러 클래스 및 액션을 변경하면 안된다. 여기서는 동일한 이벤트라고 비교 하는 값이 이벤트 핸들러 클래스와 액션이기 때문이다!)

3.3 이벤트 삭제하기.
삭제하려는 이벤트를 하단의 목록에서 선택한 뒤에, 선택 삭제를 클릭한다.

3.4 이벤트 목록 Save/Load
현재 이벤트 목록을 Save하는 방법은 save 버튼을 클릭한 뒤에, 적절한 장소에, xml이라는 확장자로 저장해주면 된다.
그리고 Load 하고 싶은 적절한 리스트에서 load 버튼을 클릭한 뒤에, 해당 xml 을 읽어 주면 xml 내용대로 복구 된다.
xml 내에 필수적으로 들어가야 되는 속성이 없는 경우 해당 이벤트는 추가되지 않는다.
event class="" assembly="" seq="" type="" name=""
수작업시에 필수 속성 값이 잘못되지 않도록 주의하면서 편집한다.

신고
Posted by 하인도
원본 : http://blogs.msdn.com/fooshen/archive/2007/02/01/installing-moss-without-ad.aspx

여기저기에는 MOSS에 대한 폼인증(게다가 대부분은 SqlMembership Provider를 이용한 ASP.NET 방식)이 산재되어 있어 손쉽게 찾을 수 있다. 최소한 이 부분만 보더라도 SPS 2003보다 훨씬 발전된 형태를 볼 수 있다. 예전 MOSS의 배포를 시도하려는 고객을 도와준 적이 있는데, 폼인증 방식은 아니였지만, AD 도메인 구성원이 아닌 SQL 서버를 SharePoint Farm으로 구성시키려고 했었다.

처음 접했을 때는 이 작업자체가 전혀 불가능해 보였다. - SharePoint 제품 및 기술 구성 마법사로 처음 데이터베이스를 만들려고 할 때, 데이터베이스 서버를 연결 계정 자체를 도메인\계정이름 형식으로 넣도록 되어 있다. 최소한 이 도구를 이용해 설치하게 되면 SQL 인증 방식을 사용할 수 없다는 것을 알 수 있다.


자, 지금 부터는 SharePoint 설치 마법사에서 자동으로  SharePoint 제품 및 기술 구성 마법사로 시작하게 해주는 체크 버튼을 끄고 시작하도록 하자. ( 물론 SharePoint 제품 및 기술 구성 마법사가 실행했었다고 좌절하지 않아도 된다. 실행됬으면 그냥 종료 시키면 된다.)



SQL Management Studio(SQL 2K면 SQL Enterprise)를 먼저 실행시킨다. 먼저 Latin1_General_CI_AS_KS_WS(약어를 풀자면, C = 대/소문자, A=액센트, K=카나, W=길이 I/S=문맥형/단순형) 유형으로 데이터베이스로 만들게 된다. 먼저 MOSS에서 사용할 수 있을 만한 계정을 SQL 로그인에 구성하되 4개의 데이터베이스에 대해 dbo가 될 수 있도록 만들어준다. 그 4개의 데이터베이스란 SharePoint_Config", "SharePoint_AdminContent", "SharedServices_DB" 그리고 "SharedServicesSearch_DB" 이다.
DB 계정을 정상적으로 생성했다면 명령 프롬프트를 띄운다.
그리고 %programfiles%\Common Files\Microsoft Shared\web server extensions\12\BIN 로 이동한다. 그리고 난 뒤에 다음 명령 줄을 입력한다.

PSConfig -cmd -configdb -create -server 데이터베이스이름 -database SharePoint_Config -user 도메인/계정이름 -password 암호
-dbuser 데이터베이스계정 -dbpassword 데이터베이스용계정암호 -admincontentdatabase SharePoint_AdminContent

위의 값들에 대한 설명을 하자면 아래와 같다.
server - SQL 데이터베이스의 인스턴스 이름
database - SharePoint의 설정을 담게될 데이터베이스 이름(보통 SharePoint_Config를 사용)
user - 서버 팜의 관리자로 동작하는 윈도우 계정
dbuser - 데이터베이스를 접속할 때 사용될 SQL 로그인 계정
admincontentdatabase - SharePoint 중앙 관리 사이트에서 사용될 데이터베이스 이름(보통 SharePoint_AdminContent를 사용)

위의 명령을 실행하면 아래와 같이 진행될 것이다.


이제 다시 SharePoint 제품 및 기술 구성 마법사를 실행하도록 한다. (시작 -> 모든 프로그램 -> Microsoft Office Server -> SharePoint 제품 및 기술 구성 마법사 )
실행해보면 앞에서 이미 구성 데이터베이스를 생성했기 때문에, 이 내용을 자동으로 찾아내서 맨 처음 그림과 같은 형태가 아닌 아래와 같은 형태로 뜬다.

연결을 끊지 않고 다음(N)>을 클릭해서 설치를 진행해준다. 이 때 틀만 만들어지는 4개의 데이터베이스에 실제적으로 필요한 사항들을 설치해주게 된다. 이 부분은 일반적인 SharePoint 설치와 동일하게 진행된다.

전부 설치 한 뒤에, SharePoint 중앙 관리를 실행하도록 한다. 팜의 서비스에 대해서 설정할 때, 데이터베이스 관련된 설정이 나오게 되는데, 이 때 윈도우 인증 방식을 쓰지 말고 SQL 인증을 선택하여 명령 줄에 넣었던 계정으로 넣어주면 된다.
이젠 SSP를 설정할 때 DB위치를 잡는 것도 쉽게 되며 SQL 인증 만으로도 충분하게 동작한 것을 확인할 수 있을 것이다.

MOSS 배포할 떄 SQL 로그인을 이용한 SQL 접속이 생각보다 쉽다는 것을 알 수 있다.


신고
Posted by 하인도
사이트내의 사용자 프로퍼티를 가져오는 방법은 아래와 같다.

SPSite curSite = <현재 SPS 사이트를 SPSSite로 돌려주는 무언가 작성>

Microsoft.Office.Server.ServerContext serverContext =  
    Microsoft.Office.Server.ServerContext.GetContext(curSite);

Microsoft.Office.Server.UserProfiles.UserProfileManager mgr =
    new  Microsoft.Office.Server.UserProfiles.UserProfileManager(serverContext);

Microsoft.Office.Server.UserProfiles.UserProfile profile =
    mgr.GetUserProfile(<로그인 사용자 계정>);

// 프로필 내에 부서("Department") 값을 가져옴
string deptName = (string)profile["Department"].Value;

<현재 SPS 사이트를 SPSSite로 돌려주는 무언가 작성> 같은 경우 다양한 방방법으로 가져올 수 있다.   new SPSite("http://<site url>") 과 같은 방법으로 처리하거나 기타 해당하는 사이트의 값을 가져오는 방법을 통해 가져오면 된다.

<로그인 사용자 계정> 이란, 윈도우 인증을 사용하는 경우 <도메인 이름>\<사용자 ID> 가 될 것이고, Form 인증인 경우 <인증 프로바이더 이름>:<사용자 ID>가 된다.
이것은 인증 방법에 따라 달라지므로 알아서 넣는다.

마지막으로 프로필의 값은 프로필 콜랙션 중 [ ] 를 사용해서 가져오면 되는데, 이 때 가급적 Static 이름을 사용하는 것이 좋다. "Department" 같은 경우 Display Name은 "부서" 인데, "부서"로 하는 경우 종종 프로필 속성값을 변경하면 더 이상 찾지 못하는 경우가 발생할 수 있다.

해당 값은 object 타입이므로 적절한 Type으로 캐스팅 해야 한다.






신고
Posted by 하인도

MOSS 2007에서 사이트 내 마스터 페이지를 추가/삭제/편집 하는 페이지가 있다.

사용자 삽입 이미지
일반적인 설정으로 모든 권한을 Administrators 그룹에 속한 계정에게 주고,
그 계정으로 로그인 하면 모든 페이지를 접근 할 수 있으며, 지금 말하려는
마스터 페이지 및 페이지 레이아웃 안의 설정 페이지에도 들어갈 수 있다.

그러나 Form 인증과 같은 전혀 다른 Login을 하거나 Administrators 그룹내의 계정이 아니면,
저 안의 페이지에 접근 할 수 없다.
심지어 사이트의 소유자 권한을 가지고 있어도 불가하다.

이 안에 들어가려면, 사이트의 모음(Site Collection)의 관리자에 등록되어 있어야 한다.
여기에 등록하려면, 최소한 SharePoint 3.0 중앙관리에 들어가야 가능하다.
사용자 삽입 이미지

중앙관리에 들어가 응용 프로그램 관리SharePoint 사이트 관리 목록 중 사이트 모음 관리자를 선택하면 된다.























모음 관리자에서 자신이 원하는 계정을 하나 추가하면 된다.
보통 사이트를 처음에 만들때 정한 계정이 들어가 있는데, Form 인증으로 중간에 설정시에는 안들어가 있는 경우가 많다. 그러므로 여기서 추가해주는 것이다.
사용자 삽입 이미지
위의 그림에서 처름 보조 사이트 모음 관리자 같이 윈도우 인증 계정이 아니는 Form 인증과 같은 별도 인증 계정을 저런 식으로 등록해주어야 저 계정으로 완벽한 사이트 관리를 수행할 수 있다.

현재까지 사이트 관리에서 안되는 부분은 이 마스터 페이지 등록/삭제/편집 페이지 뿐인데,
가급적 저런식으로 등록하여 준비해 놓는 것이 좋다.

신고
Posted by 하인도

Move Move~

잡글 2007.03.27 07:45
한동안 종로 한복판의 SK에서 죽치면서 작업했었다.
아마도 작년 12월 말 즈음에서 기어 들어가 제대로 아는 것도
없이 이것 저것 하면서 혼자서 꿍짝 꿍짝 했던것 같은데,
벌써 3월에 접어 들었다.
그리고 이젠 이 SK내에서의 작업도 마무리되었다.

새로운 작업이 또 하나 떨어졌다.
이번에는 SKT.
무대는 종로에서 서울역인근으로 바뀌었다.
이번 작업도 사실 SPS 2007이긴 하지만, 이번에는 막판 끝나는 모드가 아닌
이제 막을 여는 곳으로 간다.
오늘 부터 시작이니깐.... 무엇을 어떻게 할지는 될지는 모르겠지만..
신고
Posted by 하인도


티스토리 툴바