顯示具有 windows SharePoint Service 標籤的文章。 顯示所有文章
顯示具有 windows SharePoint Service 標籤的文章。 顯示所有文章

2008年9月15日

Windows SharePoint Service 3.0 網站設定

經過了一番奮鬥,好不容易成功的執行了還原之後,一開始很高興的在intranet裡面連來連去,感覺一整個正常, 本來以為大概搞定了,沒想到晚上回家以後手癢試了一下, 很快的就發現從internet上是無法連線的!!!


到了這時候很明顯的是網站的設定出了問題, 但是之前負責架站的前輩已經離職了,
因此只好慢慢摸索,可憐的砍尼還一直被我騷擾幫忙測試,(嗯,你是好人~)
 
最後終於整理出以下的設定方式:
  • SharePoint 網站的設定方式:
    在還原好WSS網站後,在「目錄安全設定」中,預設會是「整合式Windows驗證」,在這樣的設定下,intranet access是沒有問題的,但是從internet連線的時候,會直接跳出「HTTP 401.2」的錯誤,而不會跳出輸入帳號密碼的驗證視窗。經過跟MIS的確認後,
    由於公司有使用proxy的關係,因此必須將「驗證的存取」部分設定為「基本驗證(使用純文字傳送密碼)」,如此在internet連線的時候就會正常跳出驗證視窗。

    另外要注意的是,「啟用匿名存取」一定要取消掉,否則上述的驗證視窗一樣不會跳出來,而且Search Engine的crawler不用經過身分驗證就可以進來爬資料,如此直接就造成(公司/個人)資料外洩,因此一定要取消,強迫所有的連線都要通過身分驗證的程序。

    WSS_Authentication_WithProxy_ForBlog

  • download網站(連到另一台file server提供檔案下載服務)的設定方式:
    • 不考慮proxy (無法提供Internet access,第一次restore之後的作法):
      此時SharePoint網站的「目錄安全性設定」勾選「整合式Windows驗證」。建立虛擬目錄,別名為「download」(大小寫沒差),路徑指向\\myFileServer/mtSharedFolder,而後點選在「網站目錄」右邊的「使用者名稱」按鈕,在此採用一個有效的AD Domain帳號。

      如此設定可以讓intranet透過AD驗證來存取網站的內容,但是整個portal本身從Internet上會變成無法存取。

      WSS_SetWebSite_ToRemoteFolder_NoProxy_ForBlog

    • 正確作法(考慮proxy):
      跟MIS確認之後,應將SharePoint網站的「目錄安全性設定」勾選
      基本驗證(使用純文字傳送密碼)」,如此從Internet上連線到http://MyServerName.com的時候,就會跳出驗證視窗。

      做了這樣的調整之後,變成原本的download網站無法存取,
      因此需做以下兩個調整:

      (1)將download網站的「目錄安全性設定」改為
         「基本驗證(使用純文字傳送密碼)」。
      (2)點選「網站目錄」右邊的「使用者名稱」按鈕,勾選「當要確認到網路目錄的存取時永遠使用已驗證過的使用者認證」。

      WSS_SetWebSite_ToRemoteFolder_WithProxy_ForBlog

  • 網站連結失效問題
    • 原本以為經過上述的步驟,應該所有的設定都大功告成了,
      但是透過一些掃描broken link的工具(e.g. FF LinkChecker)挑了幾個網頁來掃描之後,發現有些連結失效了!原來是在WSS中建立「上方連結列」(或其他連結)時,是不用輸入網站的根目錄的,直接輸入網址即可。

      在這樣的情況下,WSS會以http://server_name/作為根目錄,而不是「http://MyCompanyDomainName.com.tw」,如此當Server更名的時候可能就會造成連結失效。

      因此最好在每次建立新的頁面或連結之後,確認一下網站的根目錄應該一律調整為「http://MyCompanyDomainName.com.tw」,如此未來要還原到其他VM或者是Server更名都不會有影響。

以上就是最後完全設定、修正完畢的過程,經過了這次修復WSS的慘痛SE經驗之後,
最後再整理一些結論:
  1. 平時一定要用stsadm tool做好備份檔,並且妥善保存,否則當server掛點的時候,保證很難還原的回來!這一點我再強調一百萬遍都不夠~
  2. 用Google找資料時,要小心WSS 3.0和MOSS 2007是完全不同的東西,另外用「WSS」當關鍵字,往往效果不如「Windows SharePoint Service」。
  3. WSS可以考慮run在VM上,這樣做的好處是萬一當實體機器掛了的話,可以先暫時把VM備份倒出來,移到另一台機器上run,可以更快的暫時恢復服務。缺點是VM並不一定會每日備份,因此資料的狀態很可能會回溯到一段時間以前,這時候在利用每日的stsadm備份檔將Portal完成還原之前,建議不要修改暫時復原的VM上的Portal的資料內容。
  4. 在WSS中建立「上方連結列」或其他連結時,要注意是否不用輸入網站的根目錄,直接輸入網址即可。

Windows SharePoint Service 3.0 備份 / 還原經驗談

在大略介紹完WSS的功能還有技術內涵之後,接下來就進入在血淚交織(?)中獲得的寶貴經驗 -- 如何執行 WSS 備份與還原,由於是因為 server 掛了才開始研究的,因此先從還原看起:
  • WSS使用的資料庫
    由於還原的過程中,牽涉到設定新的資料庫,或指定現有的資料庫,
    因此必須先了解一下到底WSS用到了那些資料庫:


    • SharePoint_Admin_Content_xxx (xxx是亂數編碼的結果):
      這個DB儲存WSS Admin網站的相關內容,包含目前的Server Farm下轄多少Server、網站等資訊。
    • SharePoint_Config:儲存WSS Server Farm中每個網佔有那些子網站、頁面、layout等等的資訊。
    • WSS_Content_xxx:儲存每個網站中的文件資料。這部份通常最佔空間。
    • WSS_Search_ServerName:每個網站啟動全文檢索服務的時候所使用的資料庫。

  • 還原
    • 想像中的作法:
      一開始我嘗試還原的時候,知道前輩有每日排程跑備份,只知道DB Server沒掛,資料庫都好好的,在「SharePoint 所有的資料其實都塞在DB裡」的印象之下,藉由無數次的Google,試圖先灌好基本的WSS Service以及Default Site,再透過「指定DB」的方式來做還原,事實證明這真的是難到爆了!!整個就是失敗的!

      首先在安裝WSS時,選擇的是「基本」,此時可以很順利的把 WSS Service還有Default Site裝起來,很高興的進入管理介面之後,發現可以順利把舊的「ContentDB」刪掉,指定到DB Server上活的好好的DB,這時候問題來了,要怎麼指定ConfigDB?

      雖然在安裝完畢,執行「產品設定精靈」的時候可以設定要使用哪一個ConfigDB,但是會遇上DB被舊的帳號密碼鎖住的狀況(cache),因此還要以stsadm tool執行「Updateaccountpassword」、「Updatefarmcredentials」等操作,但是搞了半天最後還是失敗了。

      因此結論就是,一定要透過 WSS 內建的 stsadm tool 來執行備份以及還原,其他方法都很複雜而且失敗率太高。

    • 實際試驗成功的作法:

      最後在努力的翻箱倒櫃以後,發現其實前輩有設定在每日排程中利用WSS內建的stsadm tool進行備份,而備份檔也存在另一台server上!有了由stsadm製作的備份檔以後,就可以比較順利的進行還原啦!

      • 如何安裝standalone的WSS
        • 用來還原的實體機器或VM必須要加入AD Domain中。
        • 第一部分的安裝畫面參考Angi’s Tech Trace(Part I),在Step2-3的部分,選擇「基本」即可,預設會裝好完整的Admin IIS Site和Default WSS Site。
        • 第二部分 「建立網站集合」的設定繼續參考Angi’s Tech Trace(Part II),從Step4-5開始來建立新的Web應用程式,特別注意在Step4-7的說明中提到的「主機標頭」,要設定為一個有效的DNS。請注意,在DNS設定生效之前(舊的cache update之後),即使已完成Site Collection Restore,但從intranet上還是連不到此網站。
        • 完成下述的Site Collection Restore之後,從Admin Site中將原本預設安裝好的Web應用程式刪除,網址如右:http://VM_MachineName/
      • Site Collection Restore(Ref)
        • 範例:stsadm -o restore -url http://myServerName.com.tw -filename C:\Site.bak –overwrite
        • 這是最後測試後可以正確work的方法,但缺點是會把所有的 DB (共四個)都還原到本機的Windows Internal Database(也就是SQL Server 2005 Embedded Edition),基本上千萬不要用Embedded/Express Edition(除非是在家裡架好玩的),因為會有實體DB Size的限制,萬一爾後真的超出限制的時候應該會寫不進去,到時候要調整一定會極度的痛苦
        • 在WSS所使用的DB中,主要是WSS_Content所佔的空間是最大的,所有的文件資料都塞在裡面,因此在完成restore之後,可以利用「SharePoint 3.0 管理中心」進入WSS管理介面,在「應用程式管理」-->「Web應用程式清單」中選擇還原好的網站後(會跳回應用程式管理畫面),再進入「內容資料庫」,將現有的ContentDB刪掉,而後新增一個資料庫,指到DB Server上完好如初的ContentDB就可以了。
      • Catastrophic Restore(Ref)
        • 範例:stsadm –o restore –directory \\myBackupServer\temp\Site.bak -percentage 1 -suppressprompt -username theName –password theWord -preservechangelog
        • 按理說,我遇到的狀況是應該採用災難復原的方式,但是在嘗試過後,用上述Site Collection Restore的方式可以讓stsadm tool正確辨認備份檔,但是stsadm工具對UNC path一直有意見,不管怎麼試就是會出現「找不到備份檔」的錯誤訊息,因此最後沒有採用這個方法來還原。
    • 在同一台機器上,若曾安裝過WSS,之後又進行移除,再來要重新安裝WSS的時候,會遇到這篇TechNet KB中提到的「Install and configure WSS 3.0 with Windows Internal Database」問題,找了一下資料,在這篇TechNet文章中有提到如何移除Windows Internal Database。
在成功進行還原之後,下一步就是趕快設定好備份的程序,不然哪一天萬一機器又掛了,或者Windows Server 2003瘋了,那我就只好跟著瘋了>< ...
 
以下是備份的作法:
  • 備份
    • 作法:利用WSS內建的stsadm tool每日執行排程來進行備份。備份的時候採用「overwrite」參數來覆蓋前一日的檔案。由於根據最後測試的結果也無法採用Catastrophic Restore,因此後來備份時也僅採用Site Collection Backup。

      這部份作法的正確性(以及設定每日排程的作法)尚待確認,由於最近幾週可能都沒時間處理這個問題,因此要晚一點再另寫一篇文章補完了 ...
    • 範例 Command (Ref):stsadm –o backup –url http://myServerName.com.tw –filename Site.bak -overwrite
其實在重複的做了幾次的實驗以後,發現 stsadm 這個工具也不算難用,
問題是官方還是缺少一個比較完整說明如何執行還原的標準程序
大家都是靠網路上無數的苦聖先賢的辛苦和分享,
加上自己的嘗試,才慢慢進入狀況,可見清楚的說明文件有多麼重要。

最後再次強調,you MUST use the stsadm tool to run the backup procedure,
and you better keep the backup file safe, or you will be TOTALLY SCREWED if WSS server went down!
參考資料:
  1. Stsadm command line tool reference
  2. Psconfig command line tool reference
  3. Install and Configure Windows SharePoint Service 3.0

2008年9月8日

Windows SharePoint Service 3.0 簡介

由於最近負責管理的Server因不明原因掛點了,因此很榮幸的從8/12下午 MIS 把機器灌好以後,就開始試圖restore最重要的一項服務:用Windows SharePoint Service 3.0架設的portal。

最後一直到了今天早上,總算修復了絕大多數的功能,從完全搞不懂SharePoint到底在幹嘛,
到歷經約15~20次的重灌、調整設定、刪除、再重灌的洗禮後,總算掌握到一些要領,雖然還沒有很深入了解所有的細節,不過也足以作為如何backup/restore,還有設定網站的參考了!

由於內容太多了,因此文章預計分成三到四篇,先從簡介開始。

由於產品名稱中都有「SharePoint」,因此以下先從Windows SharePoint Service(WSS)與Microsoft Office SharePoint Server (MOSS) 的差異開始看起。以下是簡單的對照表:

WSS MOSS Note
最新版本 3.0 SP1 2007 SP1
如何取得 Built In Win 2003 Part of Office System 2007
授權費 FREE Office 2007 Professional以上
底層平台 .NET Framework 2.0 .NET Framework 2.0
Workflow Engine Workflow Foundation Workflow Foundation Require .NET Framework 3.0
功能 基本 進階 MOSS is build on WSS technology
AD 整合 YES YES
LDAP整合 NO YES

詳細的差異請看參考資料2。MOSS 到底在Office什麼版本以上才有提供,
因為MS的網站實在寫的不清不楚的,花了十分鐘沒找到一個確切的結果就不想找了...
深入一點說,WSS是MOSS的基礎,是Windows Server的一部分,
本身不另外收費,所以沒事在家也可以架來用。
 
雖然說是免費的,但是已經可以做到蠻豐富的應用:
  1. Team Site
    「小組網站」,是Site Template中最常用的,基本上當portal用,
    也可用來作Project Management
    (整合MS Project Server、Outlook、Word、Excel、PowerPoint等工具)。
  2. Content Management System (CMS)
  3. Blog --> 可以用word寫好上傳
  4. Wiki
  5. RSS Feed
從技術面來講,WSS應用到以下幾項技術:
  1. ASP.NET 2.0 --> Basic functionalities & WebPart
  2. MS Office Integration
  3. MS Active Directory Integration
  4. .NET Framework 3.0 --> Workflow Foundation
所以WebPart起碼MS自己的產品內部是應用的蠻兇的,
利用SharePoint Designer 2007 來調整WebPart也還算蠻好用的。
不過WSS有以下關於DB的問題:
  1. 內建使用Windows Internal Database,有實體DB Size的限制,
    要審慎評估DB的使用狀況,必要的時候需要對DB進行升級,
    但升級基本上應該是跟還原一樣困難。
  2. 不支援 SQL Server 的 binary sort order
    這是公司資深的 ASE 前輩特別點出來的,沒時間仔細查,
    砍尼,交給你了,一定要回喔 XDD
而在WSS的基礎上近一步擴充的MOSS,則提供了以下的進階應用:
  1. Bisuness Intelligence --> KPI、Dashboard
  2. Enterprise Portal --> 應該是 scalibility 比 WSS 更強
  3. Enterprise Search
  4. Enterprise Content Management
  5. Business Process & Forms
    (基本上 WSS 也都做的到,但通常在MOSS的介紹中更強調這塊)
  6. LDAP Integration
  7. Microsoft Office Service
在技術上,把Office元件經過再包裝做出來的一套service是比較新推的東西,
看來是MS Software Plus Service 策略的一部分(e.g. SQL Server Service),
如果哪天進了真正的MS Partner公司再慢慢研究好了。

MOSS主要著重在Enterprise這一塊,因此scalibility還有security的考量會比WSS更周延,
另外在BI的部份,也和SQL Server有很好的整合,如果整套都用MS的產品的話,應該是可以很快建置初一個企業的portal來。

以上是簡介的部分,接下來由於我負責管理的是 WSS,因此第二篇預計說明如何進行備份/還原,最後一篇記錄IIS的網站設定,還有總結心得感想~

參考資料:
  1. Difference between WSS3.0 and MOSS 2007
  2. Official difference comparison table download

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D