DotNetNuke 安裝指南(更新PDF下載)
Charles Nurse
本文檔中的信息,包括 URL 和其他 Internet Web 站點參考,如有變更,恕不另行通知。使用此文檔的所有風險和使用此文檔造成的一切後果,由使用者本人承擔。
DotNetNuke. 和DotNetNuke logo 均系Perpetual Motion Interactive Systems 在美國及/或其他國家(或地區)的註冊商標。
² 將現有的安裝升級到DotNetNuke3.x
² 安裝DotNetNuke4.x
² 升級一個現有的3.x或4.x安裝
² 安裝/創建一個新的Portals
² 安裝資源
Ø 皮膚/容器
Ø 模塊
Ø 語言包
² 自動升級-自動檢測是否需要安裝/升級,並自動安裝或升級
² 安裝模板-可以通過一個基於XML的模板來控制安裝,包括主機設置,模塊和Portals。
² DNNConfig文件-這個文件保存當前數據庫的版本,這樣可能避免每次App_Start時訪問數據庫
² 安裝日期-指定是否爲一次“新”的安裝自動生成“新”鍵
² 新安裝頁面(Install.aspx)-這個頁面在安裝/升級過程中顯示回饋信息
² 安裝文件夾-此文件夾通過批量FTP來管理在文件系統中新資源的定位,並且通過安裝包,批量安裝這些資源。
DotNetNuke3.x中修改了這一過程,全新安裝不必執行34個版本的腳本(如3.0.12),只需要執行2個腳本 DotNetNuke.Schema和DotNetNuke.Data。升級仍然執行剩餘腳本。
1. 解壓打包文件
² DotNetNuke_X.Y.Z_Install.zip-安裝包-這個包裏包含ascx,aspx文件,同時包含其它內容文件和編譯後的程序集(dlls),但是,包裏不包含VisaualBasic代碼文件。如果你不想修改核心文件,請使用這個安裝包。
² DotNetNuke_X.Y.Z_Source.zip-源碼包-裏面包含了核心DotNetNuke工程的所有相關文件,包括Visual Basic源文件。
雖然IIS(Internet Information Server)站點的默認位置是在 C:/Inetpub/wwwroot/...,但是如果在本地intranet上配置,你可以將站點放在任何位置(如:C:/DotNetNuke)。
2. 配置IIS
在企業管理器(SQL Server2000)中,你可以通過在“數據庫”上右擊,並選擇“新建數據庫…”來創建一個新數據庫。 這一過程在SQL Server Managerment Studio(SQL Server 2005)中更加簡單。右擊Databases並選擇“New Database”。 ² 在 Windows2000/IIS5中的帳戶是(Server)/ASPNET帳戶, ² 在Windows2003/IIS5中的帳戶是NT AUTHORITY/NETWORK SERVICE帳戶 Ø DesktopModules目錄-寫入,修改權限(允許文件管理器訪問皮膚/容器) Ø 如果你還想安裝語言包,那麼你必須對根目錄下的所有子文件夾有寫入和修改權限 Ø Configuring web.config for Installation <add key="SiteSqlServer" value="Server=(local);Database=DotNetNuke;uid=;pwd=;" /> <add key="MachineValidationKey" value="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" /> <add key="MachineDecryptionKey" value="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" /> <add key="MachineValidationMode" value="SHA1" /> <add key="InstallTemplate" value="DotNetNuke.install.resources" /> <add key=”AutoUpgrade" value="true" /> <add key="UseDnnConfig" value="true"/> <add key=”InstallMemberRole” value=”true” /> <!-- Show missing translation keys (for development use) --> <add key="ShowMissingKeys" value="false" /> <add key="EnableWebFarmSupport" value="false" /> <add key="EnableCachePersistence" value="false" /> 第一個設置(“SiteSqlServer”)定義程序使用的數據庫(例如:<add key="SiteSqlServer" value="Server=(local); Database=DotNetNuke; uid=;pwd=;" />)。使用你所用的數據庫的相應的值來替換Server,Databse,uid和password的值。如果是共享主機,主機提供者會提供這些值。在本機上安裝,你一般不需要修改Server的值。然而,在某些情況下,你可能需要把Server的值改成你的本地計算機名。 第三個設置(”Auto Upgrade”)指示是否自動執行安裝/升級過程。默認值爲true。不管怎麼設置DotNetNuke都將檢測當前的數據庫和程序集版本,如果版本不同,則重定向到安裝頁面。如果這一項設置爲true,那麼將自動執行安裝或升級處理。如果設置爲false,安裝頁面將報告版本差異,然後停止。 第五個設置(“InstallMemeberRole”)隨意安裝MemberRols provider腳本。由於這些腳本需要設置更高一級的工SQL Server權限,可能一些主機提供者不允許運行這些腳本。如果他們不提供這種權限,那麼,在你安裝DotNetNuke這前,你要先要求主機提供者執行這些腳本。而且,如果和你其它使用MemberRole provider的程序(例如:Community Server)使用共享數據庫,那麼,如果其它程序已經安裝了,你就不必再重新運行這些腳本了。 <data defaultProvider="SqlDataProvider"> type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" objectQualifier="" databaseOwner="dbo" /> Ø db_datareader(dotnetnuke必須) Ø db_datawriter(dotnetnuke必須) Ø db_ddladmin(MemberRoles必須) Ø db_securityadimin(MemberRoles安裝過程需要) 以上兩個設置僅與默認的MS SQL Server Data Provider相關。如果你使用其它data provider,你必須參照這個provider的文檔來作相應的配置。 Navigation Provider設置 <navigationControl defaultProvider="SolpartMenuNavigationProvider"> <add name="SolpartMenuNavigationProvider" <add name="DNNMenuNavigationProvider" <add name="DNNTreeNavigationProvider" <add name="DNNDropDownNavigationProvider" </navigationControl> <membership userIsOnlineTimeWindow="15"> <add name="DNNSQLMembershipProvider" enablePasswordRetrieval="true" enablePasswordReset="true" description="Stores and retrieves membership data from the local Microsoft SQL Server database" /> cacheRolesInCookie="true" cookieName=".ASPXROLES" cookieTimeout="30" createPersistentCookie="false" cookieProtection="All"> <add name="DNNSQLRoleProvider" type="DotNetNuke.Security.Role.DNNSQLRoleProvider, DNNSQLRoleProvider" description="Stores and retrieves roles data from the local Microsoft SQLServer database" /> </roleManager> <profile enabled="true"> <add name="AspNetSqlProvider" description="Stores and retrieves profile data from the local Microsoft SQL Server database" /> <add name="FirstName" type="string" allowAnonymous="true" /> <add name="LastName" type="string" allowAnonymous="true" /> <add name="Unit" type="string" allowAnonymous="true" /> <add name="Street" type="string" allowAnonymous="true" /> <add name="City" type="string" allowAnonymous="true" /> <add name="Region" type="string" allowAnonymous="true" /> <add name="PostalCode" type="string" allowAnonymous="true" /> <add name="Country" type="string" allowAnonymous="true" /> <add name="Telephone" type="string" allowAnonymous="true" /> <add name="Fax" type="string" allowAnonymous="true" /> <add name="Cell" type="string" allowAnonymous="true" /> <add name="Website" type="string" allowAnonymous="true" /> <add name="IM" type="string" allowAnonymous="true" /> <add name="TimeZone" type="integer" allowAnonymous="true" /> <add name="PreferredLocale" type="string" allowAnonymous="true" /> enabled="true" cookieName=".ASPXANONYMOUS" cookieTimeout="100000" cookieProtection="None" domain="" /> </memberrolesprototype> minRequiredPasswordLength-控制密碼的最小長度。Web.config中的默認配置是4,這是因爲一直一來默認的超級用戶使用host/host作爲用戶名和密碼。要增加默認值,需要修改安裝模板中位於<superuser>和<administrator>節點的的passwords provider。 如果DotNetNuke3.2以Medium Trust運行於.NET2.0,你需要在web.config的所有配置節中添加一個屬性設置,如下所示。如果在.NET1.1環境下運行,則不需要設置這個屬性(實際上會造成錯誤) <configSections> <sectionGroup name="dotnetnuke"> <section name="data" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="logging" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="scheduling" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="htmlEditor" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="navigationControl" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="searchIndex" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="searchDataStore" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="friendlyUrl" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="caching" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> <section name="authentication" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke"/> </sectionGroup> <sectionGroup name="memberrolesprototype"> type="Microsoft.ScalableHosting.Configuration.MembershipConfigHandler, MemberRole,Version=1.0.0.0, Culture=neutral, PublicKeyToken=b7c773fb104e7562" /> <section name="roleManager" requirePermission="false" type="Microsoft.ScalableHosting.Configuration.RolesConfigHandler, MemberRole,Version=1.0.0.0, Culture=neutral, PublicKeyToken=b7c773fb104e7562" /> type="Microsoft.ScalableHosting.Configuration.ProfileConfigHandler, MemberRole,Version=1.0.0.0, Culture=neutral, PublicKeyToken=b7c773fb104e7562" /> <section name="anonymousIdentification" requirePermission="false" type="Microsoft.ScalableHosting.Configuration.AnonymousIdConfigHandler, MemberRole,Version=1.0.0.0, Culture=neutral, PublicKeyToken=b7c773fb104e7562" /> </configSections>
² 安裝程序報告正被安裝的的模板的版本,同時一個所需的額外腳本修正一些約束的默認名字。 ² 安裝程序報告已被執行的安裝腳本。(被執行的用於新版本的新增腳本) ² 安裝報告已執行MemberRole Provider所需的腳本, ² 然後解析安裝模板的部分 u 主機設置 u 超級用戶 ² 然後模塊被安裝 ² Portal被創建 ² 可選資源被安裝,例如:附加皮膚,容器
<add key="MachineValidationKey" value="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" />
<add key="MachineDecryptionKey" value="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" />
<add key="MachineValidationMode" value="SHA1" />
² 備份你現有的web.config文件(例如:web.backup.resources)。對於備份的重要性,我們已經強調的不能再強調了。如果你丟失了你的MackineKeys的初始,那麼你所有的用戶將都不能登陸。
² 在確認你已經安全的備份了你的web.config文件之後,將release.config重命名爲web.config
² 把新的web.config中的下列鍵值替換成你的備份文件中的值
² 修改web.config中的其它內容,使之支持附加的providers等。
|
引入版本
|
從下列版本(或更早版本)升級
|
Navigation Provider 節
|
3.2.0
|
3.1.1
|
Caching Provider Section節
|
3.1.0
|
3.0.13
|
DBLoggingProvider節
|
3.1.0
|
3.0.13
|
² 安裝程序報告將被安裝的新的DotNetNuke版本(這裏是:3.2.1)
² 安裝程序報告當前的版本(這裏是:3.1.1)
² 安裝程序報告一系列被執行的增加腳本
² 安裝程序報告主升級正被執行。
² 在這例子裏沒有的是,如果安裝文件夾中包括任何可選資源(模塊,皮膚,容器),它們將在升級的後期被安裝。
DotNetNuke4.0是DotNetNuke第一個基於ASP.NET2.0的版本。雖然3.2版本可以運行於ASP.NET2,但是開發需要Visual Studio 2003和.NET1.1。
如同在許多ASP.NET相關的社區中討論的,.NET2.0(和Visual Studio 2005)爲開發和運行網站引入了一個不同的範例。我們的主要問題在於,在.NET2.0/Visual Studio2005中,地址不再是一個web工程。.NET2把一個網站的虛擬目錄下的所有文件作爲網站的一部分。
另外,Visual Studio 2005(VS2005)提供了更先進的工程和項目模板系統,在Express產品系列中也支持,也就是Visual Web Developer Express(VWD)。這一特徵允許我們開發一個DotNetNuke Starter Kit,它能簡化DotNetNuke的站點的創建。
² DotNetNuke_X.Y.Z_Install.zip-安裝包-它包含了ascx,aspx等文件,也包含了已編譯的程序集(dll文件),但不包含provider和httpModules的VisualBasic代碼文件。
² DotNetNuke_X.Y.Z_Source.zip-源碼包-它包含了所有的DotNetNuke工程的所有核心文件和Visual Basic源碼文件。
² DotNetNuke_X.Y.Z_StarterKit.vsi-Vistual Studio 2005安裝包-它包含一個工程模板(基於安裝包),一個模塊項目模板(包括Visual Basic.NET的C#),和一個皮膚項目模板。支持類庫,providers和HttpModules以預編譯形式提供(dll)
要決定使用哪個包,你應該首先確定你的開發環境。因爲Visual Web Developer Express(VWD)不支持除網站工程這外的其它工程類型。因此,如果你希望在VWD而不是Visual Studio2005(VS2005)中工作,那麼你將不能使用源碼包。
1. 安裝Starter Kit
要想使用Starter Kit,首先要安裝它。如果你已經安裝了VS2005或VWD,你才能安裝它。
要安裝Starter Kit,在Windows資源管理器中雙擊這個文件。Visual Studio 內容安裝將啓動,如下圖:
2. 從工程模板創建一個DotNetNuke站點
一旦你安裝了模板,你就可以創建一個新的DotNetNuke工程了。在VS2005或VWD中從文件菜單中選擇New Website…
選擇DotNetNuke模板,在Location中選擇File System或HTTP,然後在文本框中輸入名字。上面的例子中,我們選擇File System選項,這樣將使用VS2005/VWD在基於WebServer的文件系統中創建,命名站點-”DotNetNuke Website 1”
1. 解壓包
² 創建一個應用程序運行的目錄(例如: C:/DotNetNuke_2)
² 如果你使用安裝包
i. 創建一個名爲Website的子目錄
ii. 把安裝包解壓解壓到你剛創建的子目錄。
2. 配置IIS(Internet信息服務器)
在本地intranet配置,在IIS中創創建一個名爲DotNetNuke_2r 虛擬目錄,指向上面提到的相應的物理目錄
因此,這裏我們只專注於3.x和4.x版本這間的差別內容。對於DotNetNuke中特殊的web.config設置,請參考“安裝DotNetNuke 3.x版本”一章。
1. 除了要有3.x版本在<appSettings>中的connectionString設置這外,在DotNetNuke4.x中還需要在<connectionString>節設置相同的連接字符串。
<!-- Connection String for SQL Server 2005 Express -->
connectionString="Data Source=./SQLExpress;Integrated Security=True;UserInstance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName="System.Data.SqlClient" />
</connectionStrings>
2. 以前在<appSettings>配置節中的machine key設置―MachineValidationKey,MachineDecryptionKey和MachineValidationMode―現在位於<system.web>中的<machineKey>中。
3. 成員權限設置本身沒有變化,但是它的位置從原來的<memberolesprototype>移動到<system.web>節點。如果想更多修改這一設置,請閱讀“安裝DotNetNuke3.x”一章中的詳細介紹。
validation="SHA1"/>
1. 解壓Install.zip包覆蓋你現有的版本。
² 備份原來的web.config文件(例如:web.backup.resources)。備份的重要性已經強調的不能在強調了。如果你丟失了原始聽MachineKeys,那麼,你所有的用戶將不能登陸。
² 在你確認安全的備份了你的web.config文件之後,把release.config改名爲web.config
² 使用備份中的內容替換新的web.config文件中的下列鍵:
² 把舊的web.config中的的<connectionStrings>內容拷貝過來。
connectionString="???????"
providerName="System.Data.SqlClient" />
² 設置以前在appSettings節點的的machineKey元素的值:
validation="SHA1"/>
² 繼續配置web.config,以支持其它的provider
象語言包,皮膚,保護性程序集這樣的可選資源,也可以在在安裝過程中被自動安裝。在/Install文件夾下面有六個文件夾:Container, Language, Module, Portal, Skin 和 Template。不同的資源的zip包(後面將詳細描述)被放置在相應的文件夾,安裝程序將自動安裝它們。
<portalname>DotNetNuke Personal Site</portalname>
<administrator>
</administrator>
<description>Default Personal Site</description>
<keywords>Default, DotNetNuke, CMS, Web, Future</keywords>
<templatefile>Personal Site.template</templatefile>
<portalname>DotNetNuke Club Site</portalname>
<administrator>
</administrator>
<description>Default DotNetnuke Club Site</description>
<keywords>Default, DotNetNuke, CMS, Web, Future</keywords>
<templatefile>Club or Organization Site.template</templatefile>
</dotnetnuke>
1. 使用”Install Resources”這個scheduled事件。
2. 使用下面的Url手動瀏覽安裝頁面“Install/Install.aspx?mode=AddPortal”
² 通過程序Host/Module Definitions用戶界面,從Action菜單或控件的鏈接按鈕中,選擇“Upload New Module”
² 通過安裝程序把zip文件放到/Install/Module
² 模塊的開發和打包在“DotNetNuke Module開發指南中”敘述
² 在Host或Admin菜單中的Skins菜單項,打開程序界面,選擇“Upload Container”或“Upload Skin”
² 通過安裝程序把zip文件放入/Install/Skin或/Install/Container目錄
² 皮膚/容器的開發和打包的說明在“DotNetNuke 皮膚”文檔中
² 通過Host/Languages打開程序界面,選擇“Upload Language Pack”
² 使用安裝程序把zip文件放入/Install/Language目錄
² <description>子節點
² <scripts>子節點
² <version>子節點
² <superuser>子節點
關於superuser(host 帳戶)的信息,後面再討論
² <settings>子節點
² <desktopmodules>子節點
要安裝的desktop modules-稍後討論
² <portals>子節點
² <script name=”xxx”>子節點
² <firstname>子節點
超級用戶的名(first name)
² <lastname>子節點
超級用戶的姓(last name)
² <username>子節點
² <password>子節點
² <email>子節點
² <locale>子節點
² <timezone>子節點
<portals> 節點
² <portalname>子節點
² <administrator>子節點
² <description>子節點
² <keywords>子節點
² <templatefile>子節點
² <homedirectory>子節點
² <portalaliases><portalalias>子節點
² <ischild>子節點
<description>This is the default DotNetNuke Host Installation Template</description>
<script name="Setup">DotNetNuke.SetUp.SqlDataProvider</script>
<script name="Schema">DotNetNuke.Schema.SqlDataProvider</script>
<script name="Data">DotNetNuke.Data.SqlDataProvider</script>
<timezone>0</timezone>
<DisableUsersOnline>Y</DisableUsersOnline>
<EncryptionKey Secure="True"></EncryptionKey>
<PerformanceSetting>3</PerformanceSetting>
<ProcessorPassword Secure="True"></ProcessorPassword>
<ProcessorUserId Secure="True"></ProcessorUserId>
<ProxyPassword Secure="True"></ProxyPassword>
<ProxyServer></ProxyServer>
<ProxyUsername Secure="True"></ProxyUsername>
<SMTPAuthentication></SMTPAuthentication>
<SMTPUsername Secure="True"></SMTPUsername>
<SMTPPassword Secure="True"></SMTPPassword>
<portalname>DotNetNuke Default Portal</portalname>
<administrator>
</administrator>
<description>Default DotNetnuke Portal</description>
<keywords>Default, DotNetNuke, CMS, Web, Future</keywords>
</dotnetnuke>
版本
|
最新更新
|
作者
|
修改
|
1.0.0
|
2005年3月
|
Charles Nurse
|
最初的3.0安裝指南
|
1.0.1
|
2005年6月
|
Charles Nurse
|
更新到3.1.0版本
|
1.0.2
|
2005年8月16日
|
Shaun Walker
|
使用新模板
|
1.0.3
|
2005年11月22日
|
Charles Nurse
|
更新到 3.2/4.0版本
|