估计很多同学都还不知道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,安装完之后可以重启了
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的地址和端口,到这里应该知道他们是怎么工作的了吧
安装完成
点击桌面上的快捷方式即可登录了
输入刚刚设置的密码吧
进来了
看添加服务器也是通过HTTP来添加的,因此,我们可以吧真实的服务器安装在其他服务器上,远程连接即可
3,安装WSP Server WSP服务器
这个具体安装和上面一样,可以和上面的安装在同一个服务器上也可以在单独的服务器安装的,只需要在添加服务器的时候指定好URL路径即可
##############################################################################
这个安装可以一次性都安装完,但这个灵活性较差,极力不推荐,第一种方法搞懂了这个权且当做扩张,实际安装一般不这样做的
检查环境成功
设置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.ProcessRequestNotificationPrivate(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用户即可登陆你的虚拟空间管理系统进行设置管理了
最后记得配置ASP PHP环境FTP等等
1. 下载中文包
中文包下载地址:点击下载
2.把原来的文件替换现有的 ,文件名【DesktopModules、App_GlobalResources】
把语言包放到WebsitePanel目录找到WebsitePanel下的Portal 文件里,把现有的俩个文件覆盖原来的俩个文件
3.修改选择语言文件:
找到安装的目录:WebsitePanel Portal\\App_Data\\SupportedLocales.config这个文件中添加这么一段
- <Locale name="Chinese" key="zh-CN" fallback="" />
复制代码
可以直接将之前英文的那段删除掉以下这段代码.
- <Locale name="English" key="en-US" fallback="" />
复制代码