估計很多同學都還不知道WebsitePanel是什麼東東吧,WebsitePanel簡稱wsp是微軟旗下,開源免費的虛擬主機系統,我們機房用來做虛擬空間的的工具集,是個很強大的傢伙。
第一,我們來看看WebsitePanel(wsp)的工作原理吧
WSP包括三個部分:
WSP Portal:WSP的門戶網站
WSP Enterprise Server:WSP的企業服務器
WSP Server:WSP服務器
如圖所示:
很明顯,這是個大型架構,並且模塊化設計的,這和國內的一些收費的比起來不曉得要好多少,安全性,性能,等等方面都要好不少
我們來講一下這個架構
第一個是WSP Portal,也就是WSP門戶,這個是指針對用戶的界面,包括管理員和普通用戶,他們可以在這裏來配置他們的虛擬機,不同權限當然有不同的設置界面,說白了這只是個界面,是個UI而已,是用戶操作後臺的一個藉口,他不涉及邏輯業務方面。她要連接到WSP企業服務器上(例如通過http://192.168.1.1:9002這樣來連接),也就是用戶和WSP企業服務器之間的一個橋樑和“媒人”。他不需要直接操作數據庫,都是通過WSP企業服務器來操作的。
第二個是WSP Enterprise Server,也就是WSP企業服務器,這個就很重要了,他負責處理用戶端數據和WSP服務器的邏輯業務,屬於這裏的主幹,他保存用戶的數據到數據庫,並調用數據庫給用戶,同時保存WSP企業服務器的信息到數據庫。
第三個是WSP Server,也就是WSP服務器,這個就是我們要做虛擬空間的載體服務器,也就是這個纔是真正的虛擬空間的母機
當然,這三個可以同時放在同一個服務器上,也可以全部都分開,如果你是IDC,你的可客戶量足夠大,那麼可以分開來,構成一個分佈式架構
安裝部分
系統環境:Windows Server 2008 Datacenter R2 SP2 64位系統
第一步:安裝系統環境1,安裝Windows Server 2008 Datacenter R2 SP2 64位,這個就不多說了,這個目前沒有破解工具,可以去淘寶買個密鑰5塊錢,用來做做實驗還是不錯的。
2,安裝系統組件:IIS 7.5 和 .net框架
打開服務器管理器,角色---添加角色
選擇web服務器IIS按照嚮導安裝完畢
注意選擇組件的時候我選擇的是全部功能,大家可以根據自己需要自定義選擇。
打開服務器管理器,功能---添加功能
OK,安裝完之後可以重啓了
3,安裝.net 4.0
到官方網站去下載獨立安裝包
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0A391ABD-25C1-4FC0-919F-B21F31AB88B7
接着安裝即可
4,安裝SQL SERVER 2005
下載地址:
http://bbs.ywlm.net/thread-838-1-1.html
這個我就不多說了,注意安裝用混合模式安裝,密碼我這裏是123456.cc
第二步:安裝WebsitePanel三個組件
WebsitePanel官方下載地址:http://websitepanel.codeplex.com/releases/view/69982#DownloadId=258992
安裝原理:他是通過一個安裝工具來統一安裝,安裝設置和程序更新的,只需要下載這個工具即可,其他組件可以通過這個工具來自動下載和安裝的
第一種安裝方法:單獨安裝(推薦)
1,安裝WSP Enterprise Server 企業服務器,爲什麼先安裝這個呢,因爲安裝WSP Portal的時候需要先安裝這個,以便在安裝WSP的時候通過http://wsp.test.com:9002來連接WSP Enterprise Server
下載好之後先安裝“安裝工具:WebsitePanelInstaller12.msi”
雙機他開始安裝:
自定義安裝目錄,我這裏默認
安裝完成後在桌面上回生存個快捷方式:WebsitePanel Installer,雙擊它
得到一個操作界面,這要點擊“view available”,它會自動在網上搜索工具源
我們先選擇WSP Enterprise Server
看到了吧,點擊install之後會自動下載這個組件的
檢查環境
設置安裝目錄
設置連接端口,這裏是給WSP Portal準備的,注意,WSP enterprise server並不能直接對其操作配置,而是要通過WSP Portal來管理的,這裏要設置留給WSP Portal來連接的URL,默認端口是9002,我們就用這個吧
設置IIS允許用戶,因爲WSP enterprise server也是以站點的方式來允許的,這裏會生成個站點,這個站點需要用個獨立的來賓(匿名)用戶來允許
設置連接數據庫信息
安裝完成後,直接訪問http://domain:9002即可,注意,這裏不要用http://IP:9002,這樣會爆400錯誤的
2,安裝WSP Portal門戶
自動下載
自動檢測環境
設置安裝目錄
設置端口,域名和IP
設置IIS運行賬戶
輸入訪問WSP enterprise server的地址和端口,到這裏應該知道他們是怎麼工作的了吧
安裝完成
點擊桌面上的快捷方式即可登錄了
輸入剛剛設置的密碼吧
進來了
我們這裏可以添加服務器,也就是添加WSP Server即WSP服務器
看添加服務器也是通過HTTP來添加的,因此,我們可以吧真實的服務器安裝在其他服務器上,遠程連接即可
3,安裝WSP Server WSP服務器
這個具體安裝和上面一樣,可以和上面的安裝在同一個服務器上也可以在單獨的服務器安裝的,只需要在添加服務器的時候指定好URL路徑即可
注意:儘量用域名訪問,用IP訪問會出現400錯誤
##############################################################################
第二種方法安裝:通過 WebsitePanel Standalone Server Setup來安裝
這個安裝可以一次性都安裝完,但這個靈活性較差,極力不推薦,第一種方法搞懂了這個權且當做擴張,實際安裝一般不這樣做的
檢查環境成功
設置WSP Portal 門戶的訪問地址,域名,和端口
我這裏是9001
輸入數據庫信息,這裏簡歷WSP後臺數據庫,注意,這裏不是你給客戶用的,而是WSP虛擬機系統自己用的,用來保存用戶信息,WSP服務器配置信息等等
如圖:
依次輸入:
數據庫服務地址,這裏可以輸入IP地址(數據庫是遠程的話)也可以輸入計算機名(本地的話)
認證方式,用SQL自身的認證
輸入用戶名:SA
輸入密碼:123456.cc
數據庫名字,您隨意即可
下一步,如果連接錯誤,您看一下您的數據庫服務是否啓動了呢
輸入WSP Portal後臺管理員密碼
下一步:
安裝完成:
這裏提示有兩個用戶,serveradmin是最高權限
OK,你會發現,這三個組件同時安裝上了
測試安裝結果:
發現有訪問:http://wsp.test.com:9001報如下錯誤
Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) +314
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +95
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +97
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +58
[ConfigurationErrorsException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +766
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit, Boolean ignoreCase) +26
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit) +18
System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +59
System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +74
System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +301
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1372
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +152
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +405
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +368
[HttpException (0x80004005): Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +646
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.Proce***equestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +771
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
處理方法的:
這裏需要註冊一下ASP.NET 4.0
在命令窗口裏運行一下命令即可:
aspnet_regiis.exe /iru
如果'aspnet_regiis.exe' 不是內部或外部命令,也不是可運行的程序,那麼就用絕對路徑吧:
C:/Windows/Microsoft.NET/Framework/v4.0.30319/aspnet_regiis.exe -iru
在訪問試試呢,就能看到登陸界面啦,你輸入serveradmin用戶即可登陸你的虛擬空間管理系統進行設置管理了,在三樓我會相信介紹如何配置管理的
配置部分
首先我們要配置好WSP Server(WSP服務器)部分,例如我這裏要配置的虛擬空間要支持:PHP,MYSQL,ASP,ASP.NET,.NET2.0/3.0/4.0,那麼首先要在WSP Server上配置好這些環境,那麼怎麼配置呢,下面一一道來
我們先通過WSP Portal來看看服務器已經安裝了哪些服務:
我們可以看到,服務器已經安裝了
Windows Server 2008 Internet Information Services 7.0 Microsoft FTP Server 7.0 Microsoft SQL Server 2005
這些服務就是我們以後可以分配給用戶虛擬空間的服務器資源,那並沒有我們要的PHP+MySQL資源,那麼下面我們就來安裝唄
第一步,配置環境
我們還是按照老方法手動配置嗎,不用的,我們這裏用微軟提供的一個配置面板來配置:weplatform(Web 平臺安裝程序 3.0)
1,下載:
http://www.microsoft.com/web/gallery/install.aspx?appid=websitepanel
2,安裝:
安裝完之後出現下圖所示:
這個時候不要點擊安裝,先退出,然後在開始菜單裏面找到Microsoft Web Platform Installer,如圖:
打開後
3,安裝服務,這裏我要安裝一個WMP(mysql+php)環境
所以,這裏我就用weplatform來自動安裝這個環境
按圖添加PHP和PHPcache
按圖添加mysql,windows版
點擊安裝,並接受
輸入mysql的root密碼
點擊繼續,即可到安裝界面,這裏是邊下載邊安裝,效率還是很高的
稍等片刻即可安裝好
OK,安裝好了,我們來測試一下環境是否沒問題了
OK,PHP和MySQL都沒有問題了
第二步:添加服務器到服務器
環境雖然配置好了,但並沒有添加到WSP服務器上,這是還是不可分配給各個虛擬空間的資源,那麼這裏我們要通過WSP enterprise server和WSP Portal來添加這些資源
PHP不用添加了,因爲PHP只是IIS的一個框架,IIS已經添加了,那麼PHP自然就包括了
這裏主要講添加mysql
1,首先要安裝Connector/Net 6.5.4
官方下載地址:
http://dev.mysql.com/downloads/connector/net/