我的Dnn4.8.4的安装

 

软件配置

   

   

Web服务器

Windows 2003 Server + Microsoft Internet Information Server 6

微软.NET运行库

ASP.NET 2.0或者后续版本

数据库

Microsoft SQL Server 2005或以上版本

AJAX

AJAX1.0

2 安装步骤

l  下载软件并解压缩安装包。

l  SQL Server中创建数据库并新建个登录用户。

l  配置IIS(Internet信息服务器) 并设置文件权限。

l  配置web.config

l  执行安装。

1步:下载软件

DotNetNuke的官方网站(www.dotnetnuke.com)下载最新版本的DotNetNuke软件,只有注册用户才可以下载该软件。

选择适合自己的安装包。

● Install安装包(DotNetNuke_X.Y.Z_Install.zip):只包含运行应用程序所需的文件。如果不希望对核心文件做任何修改,就可以使用这个安装包。

● Source安装包(DotNetNuke_X.Y.Z_Source.zip):包含与核心DotNetNuke项目相关的所有文件,包括所有的Visual Basic源代码文件。如果希望修改核心文件或者希望查看相关源代码,则需要使用这个安装包。

zip文件中的全部内容解压缩到所选的安装目录。

2步:在SQL Server中创建数据库

创建包含DotNetNuke应用程序数据的数据库。

通过右击服务器下面的“Databases”节点,然后选择New Database来创建新的数据库。

 接着弹出一个对话框,询问数据库的名称。输入希望的数据库名称,然后单击OK按钮。在本例中,使用DNN484作为数据库的名称。

Data FilesTransaction Log对话框中只需接受默认值即可。关于这些选项的更多详细信息,请参见Enterprise Manager附带的帮助文件。

接下来是创建数据库登录。严格地讲,在创建访问数据库的用户账户时有两种选择。

● Windows Security:使用运行应用程序的Windows账户访问数据库。(这种方式具有更多的安全选项,但并不是所有的环境都支持这种方式,特别是共享宿主的情况。)

● SQL Server Security:使用用户名和密码组合的方式来访问数据库。

本文将使用Windows Security安全方式。

要在Enterprise Manager中为数据库创建一个用户账户,首先需要定位到位于所连接服务器顶层的Security节点。然后展开它并选择Logins节点。这时在右边的面板中就会显示目前可以访问数据库服务器的用户列表。

右击Logins节点,然后选择New Login命令

这时就会弹出一个对话框,提示输入账户的详细信息

在单击OK按钮之前,还有一步要做,选择db_owner特权的Permit复选框,因为用户必须能够创建和删除数据库对象。

3步:配置IIS(Internet信息服务器)

安装DNN的下一步就是创建一个指向安装文件的新网站。为了配置Web服务器,需要使用IIS管理控制台。

为了运行管理控制台,可以选择Start | Run,输入inetmgr命令,然后单击OK按钮。

另外,还可以通过WindowsControl Panel访问管理控制台,即在Control Panel中选择Administrative Tools | Internet Information Services

此时就会弹出IIS的管理控制台,显示一个含有本地计算机名称的节点。展开这个节点就会显示出本地计算机上的网站列表。展开Default Web Site节点。图2-8显示了IIS安装时自动配置的默认网站。

右击Default Web Site节点,然后选择New | Virtual Directory。此时弹出一个Virtual Directory Creation Wizard对话框,下一步。

在弹出的对话框中输入虚拟目录的名称(例如DNN484),如上图所示,然后单击Next按钮。

选择前面所选择的安装目录(例如D:\DNN484)

最后一步是指定虚拟目录的权限。保留默认的ReadRun Scripts权限,单击Next按钮,然后单击Finish按钮。图2-12显示了访问权限的正确设置。

3步:设置文件权限

ASP.NET的工作进程要求设置NTFS(文件)权限,以使DotNetNuke能为高级功能(例如文件管理器、多门户网站创建等)创建目录和文件。

另外,用户账户还需要根据所运行Windows的版本设置额外的权限。

Windows 2003(IIS6)NT AUTHORITY\NETWORK SERVICE用户账户。(Windows 2000/Windows XP Professional(IIS5){Server}\ASPNET用户账户。)

为了设置正确的文件权限,需要打开File Explorer,定位到安装的文件夹(例如D:\DNN484)。右击该文件夹,选择Properties命令,然后再选择Security选项卡。

也可以在iis中右键单击虚拟目录DNN484,选择“权限”

如果看不到Security选项卡,则需要取消Simple File Sharing选项。具体操作步骤如下所示。

●  选择Start | My Computer | Tools | Folder Options | View

●  滚动到高级设置列表的底部,取消Use Simple File Sharing (Recommended)项的选择。

●   单击OK按钮。

文件夹的最低权限要求如下所示。

● 根文件夹(及所有的子文件夹):读取和写入访问权限

● /DesktopModules文件夹:写入和修改访问权限

● /Portals(及所有的子文件夹):写入和修改访问权限

如果需要创建子门户网站或者安装额外的语言包,则需要设置另外一种权限。简单的安装就给整个根文件夹完全控制权限。

4步 配置web.config

所有的ASP.NET应用程序都需要一个称为web.config的核心配置文件。这个文件用来存储与应用程序相关的设置,例如数据库连接和加密字符串。默认情况下,DotNetNuke并没有提供这个配置文件。相反,却包含了release.configdevelopment.config两个文件,这两个文件针对不同的环境、产品或者开发分别进行了相应的优化。对于本例中的安装,可以使用release.config文件,即将它重命名为web.config即可。在重命名了这个文件之后,就可以在自己喜欢的文本编辑器中打开这个文件。web.config文件包含了许多设置,其中一些设置需要自己调整。web.config文件后面还定义了一段有关数据提供程序的设置。在默认的SQL Server提供程序中有两个选项可能需要定制。修改web.config中以下的内容:

     <connectionStrings>

         <!-- Connection String for SQL Server 2005 Express -->

         <add

           name="SiteSqlServer"

           connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"

           providerName="System.Data.SqlClient" />

         <!-- Connection String for SQL Server 2000/2005

    <add

      name="SiteSqlServer"

      connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;"

      providerName="System.Data.SqlClient" />

   -->

     </connectionStrings>

     <appSettings>

         <!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules   -->

         <add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/>

         <!-- Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules

    <add key="SiteSqlServer" value="Server=(local);Database=DotNetNuke;uid=;pwd=;"/>

    -->

         <add key="InstallTemplate" value="DotNetNuke.install.config" />

         <add key="AutoUpgrade" value="true" />

         <add key="UseInstallWizard" value="true"/>

         <add key="InstallMemberRole" value="true" />

         <add key="ShowMissingKeys" value="false" />

         <add key="EnableWebFarmSupport" value="false" />

         <add key="EnableCachePersistence" value="false"/>

         <add key="HostHeader" value="" />

         <!-- Host Header to remove from URL so "www.mydomain.com/johndoe/Default.aspx" is treated as "www.mydomain.com/Default.aspx" -->

         <add key="RemoveAngleBrackets" value="false" />

         <!--optionally strip angle brackets on public login and registration screens-->

         <add key="PersistentCookieTimeout" value="0" />

         <!--use as persistent cookie expiration. Value is in minutes, and only active if a non-zero figure-->

         <!-- set UsePortNumber to true to preserve the port number if you're using a port number other than 80 (the standard)

    <add key="UsePortNumber" value="true" /> -->

     </appSettings>

改为:

     <connectionStrings>

         <add name="SiteSqlServer" connectionString="Data Source=(local);Initial Catalog=DNN484;Integrated Security=True" providerName="System.Data.SqlClient"/>

     </connectionStrings>

     <appSettings>

         <add key="SiteSqlServer" value="Data Source=(local);Initial Catalog=DNN484;Integrated Security=True"/>

         <add key="InstallTemplate" value="DotNetNuke.install.config"/>

         <add key="AutoUpgrade" value="false"/>

.

也可以改为:

<connectionStrings>

  <add name="SiteSqlServer" connectionString="Data Source=(local);Initial Catalog=DNN484;User ID=sa;Password=DNN484"  providerName="System.Data.SqlClient" />

 </connectionStrings>

     <appSettings>

         <add key="SiteSqlServer" value="Data Source=(local);Initial Catalog=DNN484;User ID=sa;Password=DNN484"/>

         <add key="InstallTemplate" value="DotNetNuke.install.config"/>

         <add key="AutoUpgrade" value="false"/>

两种配置的区别在上面已做解释。

另外,解释一下web.config种的几个设置:

● objectQualifier:该设置可以为数据库中所创建的任何对象设置一个前缀。举例来讲,如果将对象的限定符指定为dnn_,那么users表将被创建成dnn_users。如果多个应用程序可能需要使用同一个数据库,那么建议大家指定这一设置。

● databaseOwner:该设置指定哪个数据库用户拥有DotNetNuke在数据库中创建的对象。默认情况下,这个用户被设置为数据库的拥有者(dbo),并且在大多数情况下应该保留这个设置。

但在一些情况下,数据库的所有者可能并不将数据库的所有者(db_owner)权利授予我们(例如第三方宿主)。在这些情况下,可以将databaseOwner属性设为自己用户账户的标识。如果这个用户账户不是数据库所有者,那么这个用户必须至少拥有下述权限。

● db_datareader(DotNetNuke必需的)

● db_datawriter(DotNetNuke必需的)

● db_ddladmin(MemberRoles必需的)

● db_securityadmin(MemberRoles安装过程中必需的)

5步:执行安装

在进行安装之前首先验证已经完成了上述所有步骤。

如果已经完成了所有上述步骤,就可以打开Web浏览器,对于本地安装可以浏览http://localhost/DNN484/页面,而对于远程安装可以浏览http://www.mydomain.com/页面。

AutoUpgrade功能用于检测数据库是否为空。如果AutoUpgrade被设置为false,那么浏览网站时就会出现一个Site Unavailable页面,提示网站不可用。然后管理员可以使用下述URL之一来激活安装。

本地安装

 http://localhost/DNN484/Install/Install.aspx?mode=Install

● 远程安装

 http://www.mydomain.com/Install/Install.aspx?mode=Install

如果AutoUpgrade选项被设置为true,那么安装过程将自动执行。

选择Auto,过程会简单些,此处我们选择Custom,点击Next

随便装几个模块

登录后把多余到默认模块删除,如果安装后不希望有这些无用的模块,而不是安装后再删除,请参见dnnsun的文章。删除后如下:

安装完后把web.conifg中的一些设置修改一下,具体含义请参见dnn的官方文档。

    <authentication mode="Forms">

      <forms name=".DOTNETNUKE" protection="All" timeout="60" cookieless="UseCookies" />

    </authentication>

改为:    <authentication mode="Forms">

      <forms name=".DOTNETNUKE" protection="All" timeout="15" cookieless="UseCookies" />

    </authentication>

 

    <membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15">

      <providers>

        <clear />

        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SiteSqlServer" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" requiresUniqueEmail="false" passwordFormat="Encrypted" applicationName="DotNetNuke" description="Stores and retrieves membership data from the local Microsoft SQL Server database" />

      </providers>

    </membership>

改为:

    <membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15">

      <providers>

        <clear />

        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SiteSqlServer" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="1" requiresUniqueEmail="false" passwordFormat="Encrypted" applicationName="DotNetNuke" description="Stores and retrieves membership data from the local Microsoft SQL Server database" />

      </providers>

    </membership>

此处修改请注意,如果按照以上修改,需要hostadmin两个用户名含特殊字符,且长度至少为8,我们安装时候的用户名是不符合此要求的。此处的修改建议只是从安全上给出的建议。可以不作修改。

    <add key="AutoUpgrade" value="true" />

改为:    <add key="AutoUpgrade" value="false" />

     

修改为:

 

posted @ 2008-08-21 09:27  chb  阅读(490)  评论(0)    收藏  举报