2011年12月10日星期六

使用U盘引导安装CentOS6.1操作系统

一、制作Linux引导盘

1、格式化U盘为fat32格式

2、把CentOS的ISO文件拷贝到U盘里。

3、利用winrar软件把ISO里德isolinux目录解压到U盘根目录里,并把目录里面的文件都拷贝到U盘的根目录下。

4、把isolinux.bin和isolinux.cfg分别改名为syslinux.bin和syslinux.cfg。

5、下载syslinux for windows版本的压缩包。

6、解压syslinux-3.86.zip压缩包,在cmd界面下进入解压后里面的win64目录,运行syslinux64.exe -s -m X:(X: 代表U盘的盘符)例如:D:\syslinux-3.86\win64>syslinux64.exe -s -m X:

7、用editplus等文本编辑器打开syslinux.cfg,将root=live:CDLABEL=CENTOS(CENTOS就是我U盘名字。将CentOS-6.0-x86_64-LiveCD改成你的U盘的卷标。)

以上七步做完以后CentOS的引导安装盘就做好了。

二、U盘引导安装

1、选择U盘启动

2、进入Centos的启动界面后按回车

3、选择语言

4、如果上一步选择了中文简体或其他语言,会出现提示语言不支持文版安装模式,这里不用理会,直接点回车到下一步。

5、选择键盘(一般选择默认的美式键盘即可)

6、选择安装方法为“Hard drivc”

7、选择ISO镜像所在的分区,也就是选择U盘盘符(一般U盘在linux的操作系统中会以/dev/sdxn 如sdb1 出现),只要ISO镜像在U盘的根目录下就不需要输入具体的地址。

8、进入熟悉的图形安装界面了,注意分区时不要把U盘的空间也一起分掉了。最好分一个/boot空间

9、分好区后进入grub设置,这一步非常重要,使用U盘引导安装默 认会把grub引导程序写入U盘的mbr扇区,一旦拔掉U盘就无法启动硬盘中的操作系统了。更改grub安装位置的方法是:选中“配置高级引导装载选 项”,点击下一步,选择改变驱动器顺序就能改变写入的位置。这里一定要注意,如果是多系统的话要小心选择,不然很容易以前的系统都用不了。

2011年9月18日星期日

sharepoint2007 form认证(sqlexpress数据库)

一. 准备注册程序和sqlexpress数据库

1.用visual studio 建立一个.NET Framework2.0版本的网站(因为sharepoint是运行在.net 2.0基础上的)。

2.建立login.aspx和reg.aspx页面,并分别拖入Login控件和CreateUserWizard控件。

3.点visual studio菜单 调试-开始执行。

4.测试并在在reg.aspx页面注册一个用户名,记号密码,后面会将此用户作为管理员。(此时系统在自建网站的App_Data目录建立数据库)

5.点visual studio菜单 项目-ASP.NET配置。进入配置页面 选择身份验证类型 选择通过 Internet

建立一个新角色为了后面可以用户注册自动加入相应组和权限。例如角色名:member

二. 配置sharepoing2007 form认证

1,将自建网站的 App_Data目录(里面是数据库文件)拷贝到需要form认证的网站根目录。

在IIS管理器找到相应网站,右键点浏览可以直接在资源管理器找到网站文件。

2,进入SharePoint 3.0 管理中心 点应用程序管理->验证提供程序 在web应用程序选择要实现form认证的网站,我的是sharepoint-80

3.点默认进入编辑验证页面 验证类型选表单 ,成员身份提供程序名称: AspNetSqlMembershipProvider 角色管理器名称:AspNetSqlRoleProvider 是否启用客户端集成?选是。保存

4.如果现在打开你的网站,点登陆 应该可以用第一步注册的用户登陆了,但登陆后会提示无权访问。需要将此用户作为网站的管理员,以后通过此管理员添加用户权限。

5.进入SharePoint 3.0 管理中心 点应用程序管理->网站集管理员 选择你需要更改的网站,将网站集注管理员更改成前面通过reg.aspx注册的用户名。点确定如果系统提示找不到完全匹配的项目,需要添加连接字符串到 管理中心网站的web.config文件里。如下:
<connectionStrings>
<remove name="LocalSqlServer" />
  <add name="LocalSqlServer"
       connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
       providerName="System.Data.SqlClient" />
</connectionStrings>

三.用户通过reg.aspx后自动加入相应sharepoing组

1. 用visual studio打开自建的网站 reg.aspx,添加建立用户事件,例如下面 一行命令添加用户到角色,这个member是前面建立的角色名

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
    System.Web.Security.Roles.AddUserToRole(CreateUserWizard1.UserName, "member");
}

2. 在form认证的网站下添加应用程序,应用程序池:SharePoint – 80 物理路径选自建网站的目录。这样使用户可以访问reg.aspx。

3.如果用户注册出现权限错误需要修改form认证网站的web.config文件里面的应用程序信任级别

<trust level="Full" originUrl="" />
   <!--
  修改应用程序信任级别由 WSS_Minimal 改为 Full
       -->

4.将角色加入sharepoint用户组
用自建的管理员登陆网站,在网站设置 人员和组里面新建-添加用户  添加前面建立的角色 并授予权限。

如果找不到那个角色  是由于web.config里面少了 applicationName="/"

修改此form认证网站的web.config如下

<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
               connectionStringName="LocalSqlServer"
               applicationName="/"
               type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>

<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
               applicationName="/"
               connectionStringName="LocalSqlServer"
               minRequiredPasswordLength="6"
               minRequiredNonalphanumericCharacters="0"
               type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>

四.其他问题

1.绑定域名访问  出现文件无法找到错误
进入管理中心 备用映射访问

2011年8月5日星期五

sharepoint 2010 在线浏览word文件出错

系统环境: win2008r2 + sql2008R2 + sharepoint 2010 + office web apps

由于出现意外错误,Word Web App 无法打开此 文档 进行查看。 要查看此 文档,请在 Microsoft Word 中打开它。

officewebapps

只有当sharepoint 2010安装在域控制器上才会出在线查看word文件出错.

第一步:需要从开始菜单进入 SharePoint 2010 Management Shell 在命令窗口执行如下命令:

$e = Get-SPServiceApplication | where {$_.TypeName.Equals("Word Viewing Service 应用程序")}
$e.WordServerIsSandboxed = $false
$e.WordServerIsSandboxed
$p = Get-SPServiceApplication | where {$_.TypeName.Equals("PowerPoint Service Application")}
$p.EnableSandboxedViewing = $false
$p.EnableSandboxedEditing = $false
$p.EnableSandboxedViewing
$p.EnableSandboxedEditing
#(Please use the below script for PowerPointServiceApplication - You need to enter "Y" for the answer of each cmd)
Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedViewing $false
Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedEditing $false

或者新建一个记事本文件,将以上内容拷贝,保存后更改文件后缀为 .ps1 例如 temp.ps1

然后从开始菜单进入 SharePoint 2010 Management Shell 在命令窗口输入 e:\temp.ps1

第二步:用记事本打开 c:\windows\system32\inetsrv\config\applicationHost.config 文件

在</dynamicTypes>的前面 加入 <add mimeType="application/zip" enabled="false" />

保存

注意事项:

1. 在管理中心网站上的“应用程序管理”部分,单击“管理服务应用程序”右侧可以看到类型名

例如英文版的类型名是 "Word Viewing Service Application" 中文版是

"Word Viewing Service 应用程序" 请对照修改命令。

2.如果要使系统支持powerpoint 对于所有提问请回答 Y 是

3.以前上传的word文件需要重新上传,才能使用

4.office web apps 不支持 excel97-2003 格式文件在线浏览编辑

2011年8月3日星期三

sharepoint2010新建excel,powerpoint文件

在为任何指定的文档库创建新文档时,默认的可用文档模板类型是 Microsoft Word 文档。

问题:如果要在文档库中快速添加 Microsoft Excel 工作表、Microsoft OneNote 文档或 Microsoft PowerPoint 演示文稿,该怎么办?

另外,如果希望每个文档类型都符合特定的模板以便某种特定类型的所有文档都保持一致,该怎么办?

本文分为两个必需步骤介绍创建并添加要用作文档库内各种文件类型的模板的内容类型。

1

注释    如果贵组织使用 SharePoint Online/Microsoft Office 365,而您使用 Microsoft Office Web Applications(而非 Microsoft Office 客户端程序),则必须按照本文中的步骤执行,才能允许用户通过浏览器在文档库中创建多个 Microsoft Office 文档类型。

一。为文档模板创建内容类型


注释    只有网站集所有者才能成功完成此过程。

请转到网站集的顶级,然后从“网站操作”菜单中选择“网站设置”。
在“网站设置”页面的“库”部分下,单击“网站内容类型”。
注释    请注意,默认情况下,“新建 Word”内容类型存在于“组工作内容类型”部分下面。在任何文档库中添加新文档时,它通常是可用的选项。

在“网站内容类型设置”页面的顶部,单击“创建”。
在“新建网站内容类型”页面中,执行下列操作:
在“名称”字段中,键入“PowerPoint”。
在“说明”字段中,键入“在此库中新建演示文稿”。
在“从以下列表中选择父内容类型”下拉列表中,选择“文档内容类型”。
在“父内容类型”下拉列表中,选择“文档”。
单击“确定”。
在“网站内容类型”>“PowerPoint”页面的“设置”下,单击“高级设置”。
在“文档模板”部分中,选择“上载新文档模板”,单击“浏览”,然后双击要使用的 PowerPoint 幻灯片或模板。
注释    必须安装有 Microsoft Office 才能创建 Office 生成的文档。

单击“确定”。
注释    通过对每种文件类型重复上述步骤,还可以添加新的 Excel、OneNote 或 Word 模板。

注释    针对同一种文件类型,可以创建多个且不同的模板。

二。将新模板显示为新建文档时的选项


在为 PowerPoint、OneNote 和 Excel 模板创建了内容类型之后,您需要将这些内容类型添加到文档库中。本步骤可确保它们显示为功能区的“新建文档”命令中的选项。

导航到要与新内容类型关联的库。
在功能区的“库”选项卡上,单击“库设置”。如果要使用列表,请单击“列表设置”。
在“常规设置”下,单击“高级设置”。
在“内容类型”部分中的“是否允许管理内容类型”下,单击“是”,然后单击“确定”。
在“库设置”页面的“内容类型”下,单击“从现有网站内容类型添加”。
在“添加内容类型”页面的“从以下列表中选择网站内容类型”下,选择“所有组”。
在“可用网站内容类型”下,查找并选择要与此库关联的新内容类型,然后单击“添加”。
注释    通过在按住 <Ctrl> 键的同时在列表中单击多个内容类型,可以多重选择内容类型。

当下次在要将项目添加到的库的功能区上单击“新建”时,新模板内容类型将显示为下拉列表中的选项。

三。将自定义库另存为模板


在为 PowerPoint、OneNote 和 Excel 模板创建了内容类型并将它们添加到文档库之后,就可以将此库另存为模板了。通过这种方法,当其他文档库需要类似的内容时,就不必重复上述步骤了。

注释    必须具有“设计者”权限才能完成此任务。

请转到要保存为模板的文档库。
在功能区的“库工具”下,单击“库”选项卡。
在功能区的“设置”组中,单击“库设置”。
在“权限和管理”下,单击“将文档库保存为模板”。
在提供的字段中键入文件名、模板名和模板说明。
如果希望从此新文档库模板创建的文档库包含该文档库中的已有项目,请选中“包含内容”复选框。

2011年8月2日星期二

sharepoint2010+SQL2008r2+win2008R2+域控制器安装

注意安装顺序

一:安装windows2008 r2

二:安装域控制器

      点开始 - 运行 输入 dcpromo 回车,开始安装域控制器,

     注意,需要设置为固定IP地址,DNS可以留空。ipconfig 查看IP地址。三:安装MSSQL2008 R2 完全安装

     注意,安装时关闭所有IE内核的浏览器。

四:安装sharepoint 2010

      首先点击安装必备软件,在大陆可能有部分无法自动安装,请使用代理服务器手工下载。

       注意,要输入域帐号, 例如:域名\Administrator

五:安装office web apps

2011年7月31日星期日

在 SharePoint 2010上部署 Office Web Apps

本文讨论了如何部署 Microsoft Office Web Apps。Office Web Apps 是 Office Word、Excel、PowerPoint 和 OneNote 应用程序的联机助理,它使用户可以从任何位置访问文档。用户可以跨个人计算机、移动电话和 Web,与他人一起联机查看、共享和处理文档。Office Web Apps 可通过 Windows Live 提供给用户使用,并通过 Microsoft Office 2010 批量许可和基于 Microsoft SharePoint 2010 产品 的文档管理解决方案提供给商业客户使用。

注意:

适当的设备、Internet 连接和受支持的 Internet Explorer、Firefox 或 Safari 浏览器是必备条件。一些移动功能需要 Office Mobile 2010,该产品未包含在 Office 2010 应用程序、套件或 Office Web Apps 中。Office Web Apps、Office Mobile 2010 和 Office 2010 应用程序的功能之间存在一些差异。

本文提供的信息面向计划在组织中的 SharePoint 2010 产品 内部部署上部署 Office Web Apps 的 IT 专业人员。除非另有说明,否则本文中的 SharePoint 2010 产品 指的是 Microsoft SharePoint Server 2010 和 Microsoft SharePoint Foundation 2010。本文不提供有关部署 SharePoint 2010 产品 的指导或说明。新内容和更新内容将定期发布。

在组织中部署 Office Web Apps 之前,建议您先阅读 Microsoft TechNet 上的Understanding Office Web Apps (Installed on SharePoint 2010 Products)和Planning Office Web Apps (Installed on SharePoint 2010 Products)。

注意:

预发布产品密钥   对于此预发布版本(Office Web Apps 测试版本),在运行 WCSetup.exe 时,请键入下面的产品密钥:BQDC3-93DMP-HGJB2-MFFV8-622QJ。

本文内容:

解 Office Web Apps 部署

 

对于独立 SharePoint 服务器和 SharePoint 服务器场,部署 Office Web Apps 涉及三个主要阶段:

运行安装程序和 PSConfig   具体任务包括在独立 SharePoint 服务器或 SharePoint 服务器场中的每台服务器上运行 Setup.exe 以及 SharePoint 产品和技术安装后配置向导 (PSConfig)。运行 Setup.exe 将在服务器上安装 Office Web Apps 文件和组件。Office Web Apps 安装过程中需要运行 PSConfig,以便注册 Office Web Apps 服务、根据 SharePoint 安装类型启动服务实例、创建服务应用程序和服务应用程序代理以及激活 Office Web Apps 功能。

激活 Office Web Apps 服务   包括启动服务实例以及创建服务应用程序和服务应用程序代理。是否需要激活服务取决于 SharePoint 的状态,以及先前是否运行过 PSconfig 和 SharePoint 场配置向导。

激活 Office Web Apps 功能   包括在应该提供 Office Web Apps 的所有现有 SharePoint 网站集上激活 Office Web Apps 功能。如果在安装 Office Web Apps 之前运行过 PSconfig 或 SharePoint 场配置向导,将至少存在一个网站集。安装 Office Web Apps 后创建的新网站集将自动激活该功能。

注意:

本文中的一些过程需要使用 Windows PowerShell 或 SharePoint 2010 Management Shell 以运行 cmdlet。若要在 Windows PowerShell 中运行 SharePoint 2010 cmdlet,您必须通过使用 Add-PSSnapin cmdlet 添加 Microsoft.SharePoint.PowerShell 管理单元,或者可以通过使用 SharePoint 2010 Management Shell 来运行 SharePoint 2010 cmdlet。默认情况下,Microsoft.SharePoint.PowerShell 管理单元已经注册,并且已添加到 SharePoint 2010 Management Shell 中。若要运行 SharePoint 2010 cmdlet,您必须是配置数据库上 SharePoint_Shell_Access 角色的成员并且是安装 SharePoint 2010 产品 的计算机上 WSS_ADMIN_WPG 本地组的成员。若要在 Windows PowerShell 或 SharePoint 2010 Management Shell 中运行脚本,您必须使用 set-executionpolicy cmdlet 和 unrestricted 参数设置执行策略。有关 Add-PSSnapin cmdlet 的详细信息,请参阅 Add-PSSnapin。有关在 SharePoint 2010 产品 中使用 Windows PowerShell 的详细信息,请参阅借助 Windows PowerShell 的 SharePoint 2010 产品管理。


在现有的独立 SharePoint 服务器上安装和配置 Office Web Apps

 

本节仅适用于以下情况:您要在现有的 SharePoint 服务器上安装 Office Web Apps,并且先前已在 SharePoint 安装过程中运行 PSConfig。

警告:

运行 Setup.exe 时,Office Web Apps 安装程序会将启用浏览器的文档在 SharePoint 中的默认打开行为配置为在浏览器中打开文档。如果 Office Web Apps 安装程序已经运行,但是尚未激活 Office Web Apps 服务和功能,则用户在浏览器中打开文档时可能收到断开的链接。在活动生产服务器场中部署 Office Web Apps 时,为了防止运行安装程序后完成其他部署任务时指向文档的链接断开,建议在运行安装程序之前在现有网站集上启用 OpenInClient 功能。有关详细信息,请参阅其他配置(可选)。
运行 Office Web Apps 安装程序

完成此任务,以在服务器上安装 Office Web Apps 组件和文件。


运行 Office Web Apps 安装程序

从根文件夹运行“Setup.exe”。

在“输入您的产品密钥”页上,输入您的产品密钥,然后单击“继续”。

在“选择文件位置”页上,单击“立即安装”以安装到默认位置。若要安装到另一个位置,请指定要安装的位置,然后单击“立即安装”。

安装完成后,会出现一个对话框,提示您完成服务器的配置。请确保选中“立即运行 SharePoint 产品和技术配置向导”复选框,然后单击“关闭”以启动 PSConfig。

运行 PSConfig 以注册服务

完成此任务,以在 SharePoint 服务器上注册 Office Web Apps 服务。
运行 PSConfig 以注册服务

如果在上一步中保留“立即运行 SharePoint 产品和技术配置向导”复选框处于选中状态,则在 PSconfig“欢迎使用 SharePoint 产品”页上,单击“下一步”。

在通知您有些服务可能需要在配置过程中重新启动或重置的对话框中,单击“是”。

在“配置成功”页上,单击“完成”。此时将打开您的新 SharePoint 网站。

启动服务实例

服务实例为服务应用程序提供物理位置。在创建服务应用程序和服务应用程序代理之前,您必须启动服务实例。可以使用 SharePoint 管理中心或使用 Windows PowerShell 启动服务实例。

此任务中的过程将在指定的服务器上启动服务实例。
使用管理中心启动服务实例

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在 SharePoint 管理中心主页的“系统设置”中,单击“管理服务器上的服务”。

在“服务器上的服务: <服务器名称>”页中,启动“Excel Calculation Services”、“Word Viewing Service”和“PowerPoint Service”。OneNote Web App 不使用 SharePoint 服务。

使用 Windows PowerShell 启动服务实例

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。


$machinesToActivate = @("contosoapp1"
$serviceInstanceNames = @("Word Viewing Service", "PowerPoint Service", "Excel Calculation Services")
foreach ($machine in $machinesToActivate)
{
  foreach ($serviceInstance in $serviceInstanceNames)
  {
     $serviceID = $(Get-SPServiceInstance | where {$_.TypeName -match $serviceInstance} | where {$_.Server -match "SPServer Name="+$machine}).ID
     Start-SPServiceInstance -Identity $serviceID
  }
}
指定以下参数:

参数

$machinesToActivate

服务器名称

使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 命令提示符(即 PS C:\>)处,键入以下命令并按 Enter:

C:\<path>\<filename>.ps1

创建服务应用程序和服务应用程序代理

在启动了服务实例之后,必须创建服务应用程序以及将 SharePoint Web 前端连接到服务应用程序的服务应用程序代理。可以使用管理中心或使用 Windows PowerShell 为 Word、PowerPoint 和 Excel Web App 创建服务应用程序和服务应用程序代理。OneNote Web App 不需要服务应用程序。创建后,服务应用程序将自动在启动的服务实例上运行。

此任务中的过程将为 Word、PowerPoint 和 Excel Web App 创建 Office Web Apps 服务应用程序和服务应用程序代理。此任务只能在启动服务实例后完成。

使用管理中心创建服务应用程序和服务应用程序代理

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在 SharePoint 管理中心主页的“应用程序管理”中,单击“管理服务应用程序”。

在“服务应用程序”页上,单击“新建”,然后单击“Word Viewing Service”。

在“Word Viewing Service 应用程序”对话框的“名称”中,键入 Word Viewing Service Application。在“应用程序池”中,选择“使用现有应用程序池”,然后在列表框中选择“SharePoint Web Services 默认值”。在“添加到默认代理列表”中,确认已选择“将此服务应用程序的代理添加到服务器场的默认代理列表”(默认设置),然后单击“确定”。

在“服务应用程序”页上,单击“新建”,然后单击“PowerPoint Service Application”。

在“PowerPoint Service Application”对话框的“名称”中,键入 PowerPoint Service Application。在“应用程序池”中,选择“使用现有应用程序池”,然后在列表框中选择“SharePoint Web Services 默认值”。在“添加到默认代理列表”中,确认已选择“将此服务应用程序的代理添加到服务器场的默认代理列表”(默认设置),然后单击“确定”。

在“服务应用程序”页上,单击“新建”,然后单击“Excel Services 应用程序”。

在“Excel Services 应用程序”对话框的“名称”中,键入 Excel Services Application。在“应用程序池”中,选择“使用现有应用程序池”,然后在列表框中选择“SharePoint Web Services 默认值”。在“添加到默认代理列表”中,确认已选择“将此服务应用程序的代理添加到服务器场的默认代理列表”(默认设置),然后单击“确定”。

注意:

您可以选择创建一个新应用程序池,以与服务应用程序一起使用。在创建新应用程序池时,您可以将应用程序池使用的安全帐户指定为预定义的 Network Service 帐户,也可以指定一个管理帐户。该帐户必须对 SPContent 数据库和 SPConfig 数据库具有读/写权限。

使用 Windows PowerShell 创建服务应用程序和服务应用程序代理

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。


$appPool = Get-SPServiceApplicationPool -Name "SharePoint Web Services Default"
New-SPWordViewingServiceApplication -Name "WdView" -ApplicationPool $appPool | New-SPWordViewingServiceApplicationProxy -Name "WdProxy"
New-SPPowerPointServiceApplication -Name "PPT" -ApplicationPool $appPool | New-SPPowerPointServiceApplicationProxy -Name "PPTProxy"
New-SPExcelServiceApplication -Name "Excel" -ApplicationPool $appPool
使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 命令提示符(即 PS C:\>)处,键入以下命令并按 Enter:

C:\<path>\<filename>.ps1

激活 Office Web Apps 功能

启动服务实例并创建服务应用程序和服务应用程序代理后,要使用 Office Web Apps,需要在现有网站集上激活 Office Web Apps 功能。可以使用管理中心或使用 Windows PowerShell 在网站集上激活该功能。如果网站集很多,则可以使用 Windows PowerShell 在所有网站集上激活该功能。

此任务中的过程将在一个或多个网站集上激活 Office Web Apps 功能。此任务只能在创建服务应用程序和服务应用程序代理后完成。

注意:

对于激活该功能后创建的新网站集,不需要执行此任务。

使用管理中心在一个网站集上激活 Office Web Apps 功能

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在“SharePoint 管理中心”主页上,单击“网站操作”,然后单击“网站设置”。

在“网站设置”页上的“网站集管理”中,单击“网站集功能”。

在“功能”页上,对“Office Web Apps”单击“激活”。

使用 Windows PowerShell 在一个网站集上激活 Office Web Apps 功能

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。


$webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).Id
$singleSiteCollection = Get-SPSite -Identity http://<site_name>
Enable-SPFeature $webAppsFeatureId
指定以下参数:

参数

–Identity

URL

使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 控制台的命令提示符(即 PS C:\>)处,键入以下命令,然后按 Enter:

C:\<path>\<filename>.ps1

使用 Windows PowerShell 在所有网站集上激活 Office Web Apps 功能

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。

$webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).Id
Get-SPSite -limit ALL |foreach{Enable-SPFeature $webAppsFeatureId -url $_.URL } 
使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 命令提示符(即 PS C:\>)处,键入以下命令并按 Enter:

C:\<path>\<filename>.ps1


在新的独立 SharePoint 服务器上安装和配置 Office Web Apps

 

本节仅适用于以下情况:要在新 SharePoint 安装上安装 Office Web Apps,并且以前未在 SharePoint 安装过程中运行 PSConfig。

运行 Office Web Apps 安装程序

完成此任务,以在服务器上安装 Office Web Apps 组件和文件。

运行 Office Web Apps 安装程序

从根文件夹运行“Setup.exe”。

在“输入您的产品密钥”页上,输入您的产品密钥,然后单击“继续”。

在“选择文件位置”页上,单击“立即安装”以安装到默认位置。若要安装到另一个位置,请指定要安装的位置,然后单击“立即安装”。

安装完成后,会出现一个对话框,提示您完成服务器的配置。请确保选中“立即运行 SharePoint 产品和技术配置向导”复选框,然后单击“关闭”以启动 PSConfig。

运行 PSConfig 以注册服务、启动服务实例、创建服务应用程序和代理并激活 Office Web Apps 功能

完成此任务以注册服务、启动服务实例、创建服务应用程序和服务应用程序代理并激活 Office Web Apps 功能。

运行 PSConfig 以注册服务、启动服务实例、创建服务应用程序和代理并激活 Office Web Apps 功能

如果在上一任务中保留“立即运行 SharePoint 产品和技术配置向导”复选框处于选中状态,则在 PSconfig“欢迎使用 SharePoint 产品”页上,单击“下一步”。

在通知您有些服务可能需要在配置过程中重新启动或重置的对话框中,单击“是”。

在“配置成功”页上,单击“完成”。此时将打开您的新 SharePoint 网站。


在现有的 SharePoint 服务器场中安装和配置 Office Web Apps

 

请仅在满足以下条件时执行本节中的任务:要在现有 SharePoint 服务器场中安装 Office Web Apps,并且以前在该服务器场中运行过场配置向导。

警告:

运行 Setup.exe 时,Office Web Apps 安装程序会将启用浏览器的文档在 SharePoint 中的默认打开行为配置为在浏览器中打开文档。如果 Office Web Apps 安装程序已经运行,但是尚未激活 Office Web Apps 服务和功能,则用户在浏览器中打开文档时可能收到断开的链接。在活动生产服务器场中部署 Office Web Apps 时,为了防止运行安装程序后完成其他部署任务时指向文档的链接断开,建议在运行安装程序之前在现有网站集上启用 OpenInClient 功能。有关详细信息,请参阅其他配置(可选)。

运行 Office Web Apps 安装程序

完成此任务,以在单个 SharePoint 服务器上安装 Office Web Apps。必须在服务器场中的每台服务器上执行此任务。

运行 Office Web Apps 安装程序

从根文件夹运行“Setup.exe”。

在“输入您的产品密钥”页上,输入您的产品密钥,然后单击“继续”。

在“选择文件位置”页上,单击“立即安装”以安装到默认位置。若要安装到另一个位置,请指定要安装的位置,然后单击“立即安装”。

安装完成后,会出现一个对话框,提示您完成服务器的配置。请确保选中“立即运行 SharePoint 产品和技术配置向导”复选框。

单击“关闭”以启动配置向导。

运行 PSConfig 以注册服务

完成此任务,以在单个 SharePoint 服务器上注册 Office Web Apps 服务。必须在服务器场中的每台服务器上执行此任务。

运行 PSConfig 以注册服务

在“欢迎使用 SharePoint 产品”页上,单击“下一步”。

在通知您有些服务可能需要在配置过程中重新启动或重置的对话框中,单击“是”。

在“修改服务器场设置”页上,选择“不断开与此服务器场的连接”,然后单击“下一步”。

在“配置成功”页上,单击“完成”。此时将打开您的新 SharePoint 网站。


启动服务实例

服务实例为服务应用程序提供物理位置。对于要运行 Office Web Apps 服务应用程序的每台服务器,您必须启动服务实例。可以使用 SharePoint 管理中心或使用 Windows PowerShell 启动服务实例。

此任务中的过程将在指定的服务器上启动服务实例。必须在服务器场中的每台服务器上运行 WCSetup 和 PSConfig 之后完成此任务。

使用管理中心启动服务实例

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在 SharePoint 管理中心主页的“系统设置”中,单击“管理服务器上的服务”。

在“服务器上的服务:<服务器名称>”页的“服务器”中,选择一台服务器,然后启动“Excel Calculation Services”、“Word Viewing Service”和“PowerPoint Service”。在服务器场中要运行 Office Web Apps 服务的每台服务器上重复此步骤。OneNote Web App 不使用 SharePoint 服务。

使用 Windows PowerShell 启动服务实例

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。


$machinesToActivate = @("contosoapp1", "contosoapp2")
$serviceInstanceNames = @("Word Viewing Service", "PowerPoint Service","Excel Calculation Services")
foreach ($machine in $machinesToActivate)
{
  foreach ($serviceInstance in $serviceInstanceNames)
  {
     $serviceID = $(Get-SPServiceInstance | where {$_.TypeName -match $serviceInstance} | where {$_.Server -match "SPServer Name="+$machine}).ID
     Start-SPServiceInstance -Identity $serviceID
  }
}
指定以下参数:

参数

$machinesToActivate

服务器名称

使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 命令提示符(即 PS C:\>)处,键入以下命令并按 Enter:

C:\<path>\<filename>.ps1

创建服务应用程序和服务应用程序代理

在启动了服务实例之后,必须创建服务应用程序以及将 SharePoint Web 前端连接到服务应用程序的服务应用程序代理。可以使用管理中心或使用 Windows PowerShell 为 Word、PowerPoint 和 Excel Web App 创建服务应用程序和服务应用程序代理。OneNote Web App 不需要服务应用程序。创建后,服务应用程序将自动在启动的服务实例上运行。

在此任务中,您将为 Word、PowerPoint 和 Excel Web App 创建 Office Web Apps 服务应用程序和服务应用程序代理。此任务只能在启动服务实例后完成。

使用管理中心创建服务应用程序和服务应用程序代理

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在 SharePoint 管理中心主页的“应用程序管理”中,单击“管理服务应用程序”。

在“服务应用程序”页上,单击“新建”,然后单击“Word Viewing Service”。

在“Word Viewing Service 应用程序”对话框的“名称”中,键入 Word Viewing Service Application。在“应用程序池”中,选择“使用现有应用程序池”,然后在列表框中选择“SharePoint Web Services 默认值”。在“添加到默认代理列表”中,确认已选择“将此服务应用程序的代理添加到服务器场的默认代理列表”(默认设置),然后单击“确定”。

在“服务应用程序”页上,单击“新建”,然后单击“PowerPoint Service Application”。

在“PowerPoint Service Application”对话框的“名称”中,键入 PowerPoint Service Application。在“应用程序池”中,选择“使用现有应用程序池”,然后在列表框中选择“SharePoint Web Services 默认值”。在“添加到默认代理列表”中,确认已选择“将此服务应用程序的代理添加到服务器场的默认代理列表”(默认设置),然后单击“确定”。

在“服务应用程序”页上,单击“新建”,然后单击“Excel Services 应用程序”。

在“Excel Services 应用程序”对话框的“名称”中,键入 Excel Services Application。在“应用程序池”中,选择“使用现有应用程序池”,然后在列表框中选择“SharePoint Web Services 默认值”。在“添加到默认代理列表”中,确认已选择“将此服务应用程序的代理添加到服务器场的默认代理列表”(默认设置),然后单击“确定”。

注意:

您可以选择创建一个新应用程序池,以与服务应用程序一起使用。在创建新应用程序池时,您可以将应用程序池使用的安全帐户指定为预定义的 Network Service 帐户,也可以指定一个管理帐户。该帐户必须对 SPContent 数据库和 SPConfig 数据库具有读/写权限。

使用 Windows PowerShell 创建服务应用程序和服务应用程序代理

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。

$appPool = Get-SPServiceApplicationPool -Name "SharePoint Web Services Default"
New-SPWordViewingServiceApplication -Name "WdView" -ApplicationPool $appPool | New-SPWordViewingServiceApplicationProxy -Name "WdProxy"
New-SPPowerPointServiceApplication -Name "PPT" -ApplicationPool $appPool | New-SPPowerPointServiceApplicationProxy -Name "PPTProxy"
New-SPExcelServiceApplication -Name "Excel" -ApplicationPool $appPool
使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 命令提示符(即 PS C:\>)处,键入以下命令并按 Enter:

C:\<path>\<filename>.ps1


激活 Office Web Apps 功能

启动服务实例并创建服务应用程序和服务应用程序代理后,Office Web Apps 要求在将提供 Web 应用程序的现有网站集上激活 Office Web Apps 功能。可以使用管理中心或使用 Windows PowerShell 在网站集上激活该功能。如果网站集很多,则可以使用 Windows PowerShell 在所有网站集上激活该功能。

此任务中的过程将在一个或多个网站集上激活 Office Web Apps 功能。必须在创建服务应用程序和服务应用程序代理后完成此任务。

注意:

对于激活该功能后创建的新网站集,不需要执行此任务。

使用管理中心在一个网站集上激活 Office Web Apps 功能

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在 SharePoint 管理中心主页上,单击“网站操作”,然后单击“网站设置”。

在“网站设置”页上的“网站集管理”中,单击“网站集功能”。

在“功能”页上,对“Office Web Apps”单击“激活”。

使用 Windows PowerShell 在一个网站集上激活 Office Web Apps 功能

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。

$webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).Id
$singleSiteCollection = Get-SPSite -Identity http://<site_name>
Enable-SPFeature $webAppsFeatureId
指定以下参数:

参数

–Identity

URL

使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 控制台的命令提示符(即 PS C:\>)处,键入以下命令,然后按 Enter:

C:\<path>\<filename>.ps1

使用 Windows PowerShell 在所有网站集上激活 Office Web Apps 功能

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。


$webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).Id
Get-SPSite -limit ALL |foreach{Enable-SPFeature $webAppsFeatureId -url $_.URL } 
使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 命令提示符(即 PS C:\>)处,键入以下命令并按 Enter:

C:\<path>\<filename>.ps1


在新的 SharePoint 服务器场中安装和配置 Office Web Apps

 

请仅在满足以下条件时执行本节中的任务:要在新的 SharePoint 服务器场中安装 Office Web Apps,并且以前未在该服务器场中运行过场配置向导。

运行 Office Web Apps 安装程序

在此任务中,您将在新服务器场中的单个 SharePoint 服务器上安装 Office Web Apps 文件和组件,并且以前未在该服务器场中运行过场配置向导。必须在服务器场中的每台服务器上完成此任务。

运行 Office Web Apps 安装程序

从根文件夹运行“Setup.exe”。

在“输入您的产品密钥”页上,输入您的产品密钥,然后单击“继续”。

在“选择文件位置”页上,单击“立即安装”以安装到默认位置。若要安装到另一个位置,请指定要安装的位置,然后单击“立即安装”。

安装完成后,会出现一个对话框,提示您完成服务器的配置。请确保选中“立即运行 SharePoint 产品和技术配置向导”复选框。

单击“关闭”以启动场配置向导。

运行 PSConfig 以注册服务

在此任务中,您将在单个 SharePoint 服务器上注册 Office Web Apps 服务。必须在服务器场中的每台服务器上完成此任务。

运行 PSConfig 以注册服务

在“欢迎使用 SharePoint 产品”页上,单击“下一步”。

在通知您有些服务可能需要在配置过程中重新启动或重置的对话框中,单击“是”。

在“修改服务器场设置”页上,选择“不断开与此服务器场的连接”,然后单击“下一步”。

在“配置成功”页上,单击“完成”。此时将打开您的新 SharePoint 网站。

运行 SharePoint 场配置向导以启动服务实例、创建服务应用程序和代理并激活 Office Web Apps 功能

在此任务中,您将在服务器场中的所有服务器上启动服务实例、创建服务应用程序和服务应用程序代理并在所有现有网站集上激活 Office Web Apps 功能。必须在服务器场中的每台服务器上都已运行 Setup.exe 和 PSConfig 之后完成此任务。

运行 SharePoint 场配置向导以启动服务实例、创建服务应用程序和代理并激活 Office Web Apps 功能

单击“开始”,依次指向“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

在“SharePoint 管理中心”主页上,单击“配置向导”。

在“配置向导”页上,单击“启动服务器场配置向导”。

在“场配置向导”欢迎页面上,选择“使用此向导引导我了解设置”,然后单击“下一步”。

在“配置 SharePoint 场”页上的“服务帐户”中,为服务器场管理员帐户键入名称。

在“服务”中,选择要激活的 Office Web Apps 服务,然后单击“下一步”。

可以选择创建新的首要网站。在“创建网站集”页上,按照向导步骤创建新的首要网站。

在“配置 SharePoint 场”页上,单击“完成”。

 

其他配置(可选)本节讨论其他可选配置。


为启用浏览器的文档配置 SharePoint 默认打开行为

在 SharePoint 中,您可以配置启用浏览器的文档是在客户端应用程序中还是在浏览器中打开。默认情况下,安装 Office Web Apps 后,Office 文档将在浏览器中打开。您可以使用 SharePoint OpenInClient 功能重写此设置。可以在管理中心中或使用 Windows PowerShell 中的 SPFeature cmdlet 配置 OpenInClient 功能。

文档在 SharePoint 中的打开方式取决于是否存在 OpenInClient 功能以及已启用还是已禁用该功能:

如果 OpenInClient 功能不存在,并且未安装 Office Web Apps,则文档将在客户端应用程序(默认为 SharePoint)中打开。
如果 OpenInClient 功能不存在,但是安装了 Office Web Apps 并激活了 Office Web Apps 服务应用程序,则文档将在浏览器(默认为 Office Web Apps)中打开。
如果 OpenInClient 功能存在并已启用,并且激活了 Office Web Apps 服务应用程序,则将在客户端应用程序中打开文档。
如果 OpenInClient 功能存在但是已禁用,并且已激活 Office Web Apps 服务应用程序,则文档将在浏览器中打开。
警告:

运行 Setup.exe 以安装 Office Web Apps 时,安装程序将控制在 SharePoint 中的默认打开行为,以将 Word、PowerPoint、Excel 和 OneNote 文档注册为在关联的 Web 应用程序中打开。在运行 Setup.exe 后、激活 Office Web Apps 服务和功能之前,如果用户在 SharePoint 中单击文档,则用户可能会在浏览器中收到断开的链接。在活动生产环境中安装 Office Web Apps 时,强烈建议您在运行 Office Web Apps 安装程序之前启用 OpenInClient 功能。

使用管理中心设置网站集的默认打开行为

在 SharePoint 管理中心中,单击“网站操作”,然后单击“网站设置”。

在“网站设置”页上的“网站集管理”下,单击“网站集功能”。

在“功能”页上,对“默认情况下,在客户端应用程序中打开文档”功能,单击“激活”(启用 OpenInClient 功能)以在客户端应用程序中打开文档。单击“停用”(禁用 OpenInClient 功能)将在浏览器中打开文档。


使用 Windows PowerShell 将启用浏览器的文档在 SharePoint 中的默认打开行为设置为在浏览器中打开

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。

以下示例禁用在 SharePoint 中的默认打开行为。


$defaultOpenBehaviorFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OpenInClient"}).Id
Get-SPSite -limit ALL |foreach{ Disable-SPFeature $defaultOpenBehaviorFeatureId -url $_.URL }
使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 控制台的命令提示符(即 PS C:\>)处,键入以下命令,然后按 Enter:

C:\<path>\<filename>.ps1


使用 Windows PowerShell 将启用浏览器的文档在 SharePoint 中的默认打开行为设置为在客户端应用程序中打开

使用记事本打开一个新文本文件,然后将以下脚本复制并粘贴到该文件中。

以下示例将所有网站中所有文档的默认打开行为设置为在客户端应用程序(如果可用)中打开。


$defaultOpenBehaviorFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OpenInClient"}).Id
Get-SPSite -limit ALL |foreach{ Enable-SPFeature $defaultOpenBehaviorFeatureId -url $_.URL }
使用 .ps1 文件扩展名将该文件保存到运行脚本的文件夹(通常是 C:\scripts)中。

在 Windows PowerShell 控制台的命令提示符(即 PS C:\>)处,键入以下命令,然后按 Enter:

C:\<path>\<filename>.ps1


疑难解答

问题   Office Web Apps 已安装,但是文档不能在浏览器中通过相关联的 Web 应用程序打开。

解决方案   确认已为文档所在的网站集激活 Office Web Apps 功能。有关详细信息,请参阅激活 Office Web Apps 功能。

解决方案   确认已启动服务实例。有关详细信息,请参阅启动服务实例。

解决方案   确认已创建服务应用程序和代理。在 SharePoint 管理中心的“应用程序管理”中,单击“管理服务应用程序”。确认 Word Viewing Service 应用程序、PowerPoint Service 应用程序和 Excel Services 应用程序已启动。如果尚未启动它们,请确认已启动服务实例。

解决方案   确认未启用 SharePoint OpenInClient 功能。有关详细信息,请参阅其他配置(可选)。

问题   Office Web Apps 在查看模式下可以正常打开,但是当用户单击工具栏上的“用 Word 编辑”、“用 PowerPoint 编辑”或“用 Excel 编辑”按钮时,会显示错误。

解决方案   确认已激活 Office Web Apps 功能,并且 Word Viewing Service、PowerPoint Service 和 Excel Calculation Services 已启动。

问题   运行安装程序时,产品密钥无法进行验证。

解决方案   确认要安装的 Office Web Apps 版本与 SharePoint 2010 产品 的版本兼容。Office Web Apps 试用版不能安装在具有授权的 SharePoint 2010 产品的服务器上。

解决方案   确认您具有有效的 Microsoft Office 2010 批量许可证。

sharepoint不能上载多个文件,控件被禁用

解决方案:

Internet Explorer的安全性设定也可能会影响到这个控件。

如果"对标记为可安全执行脚本的ActiveX控件执行脚本"选项(

位于Internet Explorer的"工具"→"Internet Explorer选项"→"安全"→"自定义级别")被设置为"禁用",那么SharePoint就会从文档库的"上载"菜单中删除"上载多个文档"菜单项,因为这个操作所用到的树型视图控件不能被正确地加载到页面上。

这个ActiveX控件的缺点之一,就是它不能处理SharePoint文档库的自定义列表栏,也不会在上载过程中提示用户输入这些列表栏的值。

2011年7月28日星期四

更改sharepoint2010使用旧的2007界面风格的两种方法

原理:sharepoint2010内部UI版本号为4,sharepoint2007内部UI版本号为3 。

方法1:

使用SharePoint Designer 2010打开需要更改风格模板的网站,点左侧的 母板页

右侧选中default.master,点击上面工具条 “设为默认值” 按钮,所选母版页界面版本为3的网站。此网站的用户界面当前被设置为4。是否要将其更改为版本3?

点击是更改成功。

方法2:

Now in order to revert UI look and feel to the Sharepoint 2007 style we need to run the following program:

   1: using (var site = new SPSite("http://bunsen.cn"))
   2: {
   3:     site.RootWeb.UIVersion = 3;
   4:     site.RootWeb.Update();
   5: }
After that the same site will look like this:

 

No ribbons, no new style – we are back to Sharepoint 2007 now. After playing with old UI lets return back to the modern version:

   1: using (var site = new SPSite("http://bunsen.cn"))
   2: {
   3:     site.RootWeb.UIVersion = 4;
   4:     site.RootWeb.Update();
   5: }
And our site again has new UI version with ribbons.

2011年7月26日星期二

SharePoint 2010独立安装使用SQL2008实例

SharePoint 2010的安裝向导,只有有限的定制功能,里面有两种模式:

 “独立”模式,会安装SQL Server 2008 Express做为数据库服务。
不具有任何定制选项;

  “服务器场”模式
可以定制安装目录,里面的“独立”项和“独立”模式一样;“完整”模式不安装SQL Server Express,可以在安装完成后的配置向导中配置数据库服务器。

问题:
现在准备使用本机的默认SQL Server2008 R2做为SharePoint的数据库服务器。
使用“独立”模式的话,由于不可配置,所以无法达到目的。
使用“服务器场”—“完整”模式的话,则可以在配置向导中配置SQL Server服务器,似乎解决了问题。但是在配置中发现,登录SQL Server必须使用域帐号作为身份验证,如果未加入到域,或者是不想使用域帐号,那么这种模式也变成不可能的了。


解决方法:
通过测试,使用“独立”模式安装,在配置之前,通过侯注册表可以解决这个问题。大致的步骤如下:
1.      使用“独立”模式安装SharePoint;
2.      安装完成后,先不启动配置向导(默认会自动启动,需要先关闭);
3.      修改注册表下述位置中的“ServiceName”,将值改为“MSSQLServer”
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Shared Tools/Web Server Extensions/14.0/EvaluatorProvisioning/DatabaseEngine
4.      在SQL Server配置管理器中,展开“SQL Native Client 10.0”—“别名”中新建一个别名“计算机名/Sharepoint”,其中的“服务器”设置为“LocalHost”。注意别名中的计算机名改成实际的计算机名;(SharePoint是64位的,所以要注意不要在32位下面建立别名)
5.      如果有需要,你可以卸载SQL Server 2008那个SharePoint实例(如果你和我一样是装的2008R2,那么可以把SQL Server 2008的那项全部卸载)
6.      启动SharePoint 2010 产品配置向导完成SharePoint配置即可。
 

注:
在改注册表的那个位置,里面有个“InstanceName”,如果要使用SQL Server是命名实例,可以直接在这里设置

2011年7月25日星期一

sharepoint2010 搜索错误 内部服务器错误异常

大家都知道SharePointServer2010可以安装“独立”或“完整”两种版本,“独立版本”的安装模式将自行安装并使用SQL2008EXPRESS版本的数据库,并允许用户使用“本地账户”担任管理员,这对于小数据量的服务还是十分有效的,但为了长期使用,以承担大数据量的存储使用,还是要使用SQLServer2008企业版担任管理员,这对于小数据量的服务还是十分有效的,但为了长期使用,以承担大数据量的存储使用,还是要使用SQLServer2008SP1企业版。

于是我参照

http://bunsen.cn/sharepoint-2010-installation-prompt-solution-to-the-domain-account/

在一台电脑上完整安装Share point 2010, 系统是win2008 r2 + SQL2008 + sharepoint 2010

在任意栏目搜索时出错 提示:”错误,内部服务器错误异常:”。

进入 管理中心 -  应用程序管理 - 管理服务应用程序 查看 Search Service Application    Search Service 应用程序 状态显示为"错误"

貌似由 安全性-服务账户 引起,

然而,注册新的服务账户时提示:指定的用户 Administrator 是本地帐户。本地帐户应只能在独立模式中使用。

看来完整安装需要使用域账户,目前仍然不知道如何两全其美,www.bunsen.cn

2011年7月18日星期一

SharePoint 2010 文档 "用资源管理器打开”几点技巧

问题1:错误:“客户端不支持用Windows资源管理器打开列表

解决:启用 WebDAV Client Service
用Windows资源管理打开”这个功能是通过WebDAV协议实现的,所以它依托于WebDAV客户端服务。默认情况下,这个服务并不安装在Windows2008/R2上


需要安装“桌面体验”功能,服务管理器->功能->添加功能->桌面体验(需要重启)。然后,确保网络客户端服务是运行的。你可以设置启动类型为自动启动。
如果问题没有解决,继续这一步:打开IIS管理器,定位到你的Web应用程序->网站->模块(双击)-> 找到“WebDAVModule”将其删除。

问题2:谷歌浏览器中打开sharepoint 文档“用资源管理器打开”按钮灰色不可用。

解决:用IE浏览器

问题3:在Win 7使用资源管理器开启SharePoint文件库慢

解决:在IE-->Internet选项—>连接-->局域网设定 中,去掉“自动检测设定”选项即可

问题4:如何将SharePoint文档库映射成网络磁盘 

解决:

1. 在Windows资源管理器中,点击ALT来显示菜单。
2. 点击工具->映射到网络磁盘
3. 选择磁盘盘符,

对于文件夹,照这样的格式输入:http://[hostname]:[port]/[sitename]/[libraryname],

参数解释为:

hostname: 主机名字
port: Web应用程序的端口
sitename: 可选择的
libraryname: 文档库的名字
现在,你把文档库的内容映射到网络磁盘了。

2011年7月7日星期四

SharePoint2010基于表单验证方法总结

系统环境: win2008r2+ sql2008r2 +Visual Studio2010+sharepoint 2010

A.如果已经建立了web application  例如名字为: http://luoku.cn/

需要进入SharePoint 2010 Management Shell,执行下列命令:

$w = Get-SPWebApplication "http://luoku.cn/"
$w.UseClaimsAuthentication = 1
$w.Update()
$w.ProvisionGlobally()

然后  在SharePoint中打开管理中心-应用程序管理-管理Web 应用程序,选择上方菜单上的身份验证提供程序 启用基于窗体的身份验证(FBA)

B.如果是新建web application,那么在新建时直接选择启用基于窗体的身份验证(FBA) 如下所示

一、配置ASP.NET应用程序服务信息的SQL Server数据库
1. 打开命令提示符。在运行中输入“cmd”,打开Windows的命令提示符。
2. 进入到.Net Framework的安装目录。输入“cd c:/windows/Microsoft .NET/Framework/v2.0.50727”。
3. 输入命令aspnet_regsql。该命令弹出“ASP.NET SQL Server 安装向导”,如下图 1所示。

:或者在开始菜单进入 Visual Studio 命令提示(2010) 直接输入aspnet_regsql 回车后效果一样

ASP.NET SQL Server 安装向导
图 1

4. 在图 1中点击“下一步”按钮。向导进入“选择安装选项”页,如下图 2所示。

选择安装选项
图 2

5. 在图 2中,选择“为应用程序服务配置SQL Server”,点击“下一步”。向导进入“选择服务器和数据库”页,如下图 3所示。

选择服务器和数据库
图 3

6. 在图 3中,输入“服务器”中输入数据库服务器的名称,选择“Windows身份验证”,在数据库中,选择“<默认>”,或者输入“aspnetdb”。点击“下一步”,进入“请确认您的设置”页。如下图 4所示。

Windows身份验证
图 4

7. 在图 4中,确认向导显示的内容和自己输入的内容是否一致,如果不一致,请返回上一步做相应调整。没问题请点“下一步”,向导将创建或修改aspnetdb数据库。顺利完成后,向导将显示“数据库已被创建或修改”,如下图 5所示。如果这一步报错,多半是因为数据库链接或者数据库权限不足导致。

数据库已被创建或修改
图 5

8. 当向导出现图 5页时,说明“配置ASP.NET应用程序服务信息的SQL Server数据库”已经顺利完成。

二、创建SharePoint应用程序
1. 打开SharePoint 2010管理中心,如下图 6所示。

SharePoint 2010 管理中心
图 6

2. 点击“管理Web应用程序”链接,进入“Web应用程序管理”页面,在该页面中,点击功能区中的“新建”按钮,页面弹出“新建Web应用程序”对话框。如下图 7所示。

Web应用程序管理
图 7

3. 在“验证”中,务必选择“基于声明的身份验证”,因为只有基于声明的身份验证才支持ASP.NET 表单验证方式。
4. 在IIS网站中,选择“新建IIS网站”,名称栏保持系统默认即可。端口中默认为80。用80端口的好处是在输入网站URL时不需要再输入端口号,因为HTTP协议默认端口号就是80。路径可以保持默认。设置结果如上图 7所示。

安全性配置
图 8

5. 在“安全性配置”中,默认即可。如上图 8所示。

声明身份验证类型
图 9

6. 在“声明身份验证类型”中,如果采用混合身份验证,即既启用Windows验证,又启用表单验证,则可以保持“启用Windows验证”勾选。
7. 选中“启用基于窗体的身份验证(FBA)”,在“ASP.NET成员身份提供程序名称”输入“FBAMembershipProvider”;在“ASP.NET 角色管理器名称”输入“FBARoleProvider”。这两个提供程序名称需要和后面修改Web.config文件的成员身份验证提供程序名称相同。如上图 9所示。

共用URL
图 10

8. 在“共用URL”中,保持默认即可,如上图 10所示。
9. 在“应用程序池”中,选择“新建应用程序池”,在“应用程序池名称”中输入“SharePoint - 80”。建议选择“可配置帐户”,应用程序池进程将在此帐户下运行。如上图 10所示。

数据库名称和验证
图 11

10. 在“数据库名称和验证”中,输入“数据库服务器”名称,和“数据库名称”,建议数据库名称加方便区分其他数据库的前缀,比如“SharePoint_”,这样,您在安装多个SharePoint服务器共用同一数据库服务器时,方便区分数据库用途。如上图 11所示。
11. “故障转移服务器”和“搜索服务器”可暂时不配置。

服务应用程序连接
图 12

12. 在“服务应用程序连接”中,选择默认即可。如上图 12所示。
13. 在“客户体验改善计划”中,根据自己喜好选择即可。
14. 建议再次检查一遍该对话框中所有设置内容,然后点击“确认”。SharePoint会自动创建Web应用程序,创建完毕后,会显示如下图 13所示对话框。

SharePoint会自动创建Web应用程序
图 13

15. 建议先不要着急创建网站集,等配置好Web.config后再创建网站集。

三、将SharePoint 2010管理中心站点配置为使用SQL Membership提供程序

SharePoint站点默认的都是采用基于AD的身份验证,或许在这里你要问为什么要将SharePoint管理中心配置为表单验证,一般情况下当我们要访问管理中心时并不需要使用表单验证的登录方式啊。确实如此,不需要使用表单验证的方式登录管理中心,但是假如我们需要将某些存储在数据库中的用户设为网站集管理员或其它这一类的操作时,将管理中心配置为使用SQL Membership提供程序就是必不可少的了。

打开IIS管理器,选择“SharePoint Central Administration v4”,此时可以看到在中间的主页上有很多的选项,在这里我们要使用的则是“连接字符串”与“提供程序”。

image

首先打开“连接字符串”,在画面右边的操作菜单中点击“添加”以创建一个新的用于连接到我们在上一步中新建的用于存储用户凭据的数据库的连接字符串,并将其命名为FBADB。

image

接着返回SharePoint Central Administration v4 主页,打开提供程序页,在此我们将为管理中心站点添加角色提供程序与用户提供程序。在“功能”下拉框中选择“.NET角色”,然后点击操作面板内的“添加”新建一个角色提供程序,将其类型设为“SqlRoleProvider”,然后将“ConnectionStringName”这一项设置为上一步中创建的那个连接字符串的名称。

image

最后还需设置成员身份提供程序,还是在“功能“下拉框中,选择“.NET用户”,然后添加一个用户提供程序,其类型为“SqlMembershipProvider”,并且同样将连接字符串设置为我们刚刚新建的那条。

image

现在管理中心的有关配置已经完成了,我们可以打开管理中心的web.config文件来检查下所修改的内容。修改后的web.config中将多出以下内容。

<roleManager>
<providers>
<add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web,

Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />
</providers>
</roleManager>
<membership>
<providers>
<add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider,

System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/"

connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="false" passwordFormat="Clear"

requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
</providers>
</membership>





将Security Store Service配置为使用SQL Membership提供程序



还是在IIS管理器中,在左侧的连接面板中选择“SharePoint Web Services”应用程序下的“SecurityTokenServiceAppliaation”,接下来的操作过程与刚刚配置管理中心站点的过程完全相同,这里就不再重复了。



image



配置完成后可在其web.config文件中看到新加入了如下内容。



<system.web>
<roleManager>
<providers>
<add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider,

System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />
</providers>
</roleManager>
<membership>
<providers>
<add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider,

System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/"

connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="false" passwordFormat="Clear"

requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
</providers>
</membership>
</system.web>





四、登录


1. 经过上面三个步骤的设置,您现在可以创建网站集了,凡是在新建的Web应用程序下面的网站,均支持表单验证。


2. 在打开网站时,会显示登录页面,如下图 17所示,在下拉框中可以选择Windows验证或表单验证。



登录



图 17



3. 当选择表单验证时,会显示如下图 18所示,输入用户名、密码,点击登录,即可登陆到SharePoint。如果需要使用客户端工具,比如Word、Excel需要访问网站内容时,在登录时需要选中“自动登录”。



输入用户名、密码


图 18



4. 登录系统后,看到如下图 19所示网站主页。在页面的右上角会显示当前登录用户。如要切换当前用户,可以点击用户名,弹出菜单中选择“以其他用户身份登录”,页面会回到登录页面。



以其他用户身份登录

2011年7月6日星期三

SharePoint2010修改密码引起HTTP Error 503错误解决

win2008 r2 sharepoint 2010 修改Administrator账户密码后Sharepoint页面出现


HTTP Error 503. The service is unavailable. 


解决办法:


 


1是更改应用程序池标识密码,进入IIS,应用程序池,高级设置,修改标识,然后启动应用程序池.


2是修改SharePoint服务(Timer、Search)启动账户密码。点 开始- 管理工具- 服务 找到 SharePoint 2010 Timer 修改登录身份,


同样更改SharePoint Server Search 14的服务登录密码


然后执行IISReset.


SharePoint 2010 出错! HTTP Error 503. The service is unavailable - fly - fly

安装SharePoint 2010提示输入域账户解决办法

服务器上安装了WIN2008R2 + SQLserver2008 r2,准备安装SharePointServer2010“完整”版本。

大家都知道SharePointServer2010可以安装“独立”或“完整”两种版本,“独立版本”的安装模式将自行安装并使用SQL2008EXPRESS版本的数据库,并允许用户使用“本地账户”担任管理员,这对于小数据量的服务还是十分有效的,但为了长期使用,以承担大数据量的存储使用,还是要使用SQLServer2008SP1企业版。问题是“完整”安装模式是需要提供“域用户”用于配置SharePoint服务的,如果我们不需要域,使用“本地账户”该怎么办呢?

当我们选择了“完整”模式安装SharePointServer2010,当安装完成后,不要着急运行“配置向导”,让我们打开“SharePoint 2010 Management Shell”

输入“New-SPConfigurationDatabase”(不要带引号)

接下来你要提供要建立的配置数据库名称(DatabaseName),数据库服务器(DatabaseServer),然后会弹出一个窗口要你输入你的“本地账户”用户名和密码

(用户名要用:完整计算机名\用户名),

密码不得少于8位,并且包含大小写和特殊字符,并且要和你本地账户的密码一致,可先进入计算机管理-用户管理 修改密码 。

最后要你输入输入配置数据场安全密码,这是创建新场及以后新服务器加入场时所必需的密码(Passphrase),此时程序开始着手建立数据库以及相关配置工作,

耐心再耐心的等待……

直至出现“PS C:\Users\你的账号名>”,说明已经配置完成。

如果你此时打开SQLserver可以看到多出了两个数据库,一个就是你刚才输入的配置数据库的名字(此例中为SharePoint_2010_ConfigDB),另一个我估计是关于“本地账户”的信息数据库。

现在我们可以运行“配置向导”了。选择“不断开与此服务器场的连接”。

点击下一步,一切都和正常配置一致了,我们慢慢等待程序配置完成。

大功告成

2011年6月21日星期二

Windows 2008 R2 打开CHM文件无内容的解决技巧

Windows 2008 R2 打开CHM文件无内容的解决技巧这篇文章的内容如下:

CHM格式以其小巧方便易携带很受欢迎,以前经常遇到下载下来的CHM格式的资料文件打不开,还一直以为是文件问题,觉得这个可能是在制作过程中可能由于文件编写和工具以及打开平台问题造成的,没去多想。
今天才猛然发现应该右键->属性“解除锁定”然后就可以打开,问题迎刃而解..
这个问题应该还是安全性问题引起的,CHM里实质上就是内嵌的网页。

在网上搜索了下对于CHM文件无法显示的解决办法:
1) 关联系统的hh.exe文件
2)安装了微软的安全更新 896358 或 890175 补丁,对chm的itss协议做了限制,所以需要接触锁定才能打开。

关于itss协议:
Microsoft Internet Explorer 中的一个跨站脚本漏洞 使攻击者在用户运行IE时执行任意代码。攻击者也可以在其他域的网站上读取并操作数据

SharePoint2010 匿名访问网站

设置网站的匿名访问一般有三种情况:
一是从 已开始创建Web应用程序的时候进行匿名访问设置;二是对于已经建立的网站修改为匿名访问;三是对同一个网站分别设置验证访问和匿名访问。


1.1新建一个匿名访问网站
进入“SharePoint 2010管理中心”,在“管理 Web 应用程序”中,点击“新建”。
创建一个端口为“7000”的Web应用程序,并在“安全性配置”的“允许匿名访问”下面选中“是”,其他选项默认。
创建好Web应用程序后,在“管理中心”中”创建网站集”,选择选择 “更改Web 应用程序”为我们刚刚创建的端口号为7000的web应用程序。
这里我们选择模板为“工作组网站”,名称为:7000匿名工作组。
创建“网站集”成功后,点击网站集链接,系统打开IE。这时会发现网站并不能匿名访问,还需要验证才能登录。这是因为虽然在“Web应用程序”中设置了允 许匿名访问,但是创建的网站默认还是需要验证的,要让网站可以匿名访问,还需要进入网站进行设置。
在弹出验证对话框,输入管理员的用户名和密码后,点击“确定”。
在网站左上角“网站操作”菜单下,点击“网站设置”——“网站权限”,单击上部的“匿名访问”按钮配置匿名访问,选中允许匿名访问的范围,这里点选“整个网站”。
再登录网站就会发现访问网站已经不再需要用户名和密码,可以匿名访问了。


1.2将已经创建好的网站修改为允许匿名访问
除了在开始创建Web应用程序的时候就允许匿名访问外,还可以将已经创建好的网站修改为允许匿名访问。
我们先创建一个不允许匿名访问的网站。
在“管理中心”新建一个“7100”端口的“Web应用程序”,“安全性配置”按照默认设置为不允许匿名访问。
用管理员身份登录后,进入“网站设置”的“网站权限”页面,发现“权限编辑”菜单并没有“匿名访问”的选项。
这是因为在“Web应用程序”中我们设置的是不允许匿名访问,网站集是继承其设置的。因此需要在“web应用程序”中打开匿名访问的设置。
进入“SharePoint 2010管理中心”,点击“安全性”下面的“指定身份验证提供程序”,确认右边的“Web应用程序”选择的是我们要修改的(这里是7100端口的Web应用程序),单击区域中的“默认”,在“编辑验证”页面中,勾选“启用匿名访问”。
确认后,根据第一小节的步骤,进入顶级网站,在“网站设置”的“网站权限”中,开启“匿名访问”的设置。
这时登录网站就可以看到已经允许匿名访问了。


1.3设置同一个网站支持两种访问方式
除了前面的两种访问方式,我们还可以设置一个网站支持两种不同的访问方式,即验证和匿名访问。我们以上面第二小节的网站来 举例说明。
进入“SharePoint 2010管理中心”,点击“管理Web应用程序”。
点击“SharePoint-7100”,单击上方快捷栏中的“扩展”按钮。
弹出“将web应用程序扩展到其他IIS站点,新建IIS站点后输入新端口号7200。
在“安全性配置”中,允许匿名访问。
使用“7200”端口访问网站,可以看到使用的是匿名访问方式。
使用原来的“7100”端口访问,使用的是验证方式。

2011年5月22日星期日

常用网络命令用法tracert等

1.最基本,最常用的,测试物理网络的
ping 192.168.0.8 -t ,参数-t是等待用户去中断测试

2.查看DNS、IP、Mac等
A.Win98:winipcfg
B.Win2000以上:Ipconfig/all

C.NSLOOKUP:如查看河北的DNS
C:\>nslookup
Default Server: ns.hesjptt.net.cn
Address: 202.99.160.68
>server 202.99.41.2 则将DNS改为了41.2
> pop.pcpop.com
Server: ns.hesjptt.net.cn
Address: 202.99.160.68

Non-authoritative answer:
Name: pop.pcpop.com
Address: 202.99.160.212

3.网络信使 (经常有人问的~)
Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段
net stop messenger 停止信使服务,也可以在面板-服务修改
net start messenger 开始信使服务

4.探测对方对方计算机名,所在的组、域及当前用户名 (追捕的工作原理)
ping -a IP -t ,只显示NetBios名
nbtstat -a 192.168.10.146 比较全的

5.netstat -a 显示出你的计算机当前所开放的所有端口
netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等

6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
arp -a

7.在代理服务器端 捆绑IP和MAC地址,解决局域网内盗用IP!:
ARP -s 192.168.10.59 00 -50-ff-6c-08-75
解除网卡的IP与MAC地址的绑定:
arp -d 网卡IP

8.在网络邻居上隐藏你的计算机 (让人家看不见你!)
net config server /hidden:yes
net config server /hidden:no 则为开启


9.几个net命令
A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
比如:查看这个IP上的共享资源,就可以
C:\>net view 192.168.10.8
在 192.168.10.8 的共享资源
资源共享名 类型 用途 注释
--------------------------------------
网站服务 Disk
命令成功完成。

B.查看计算机上的用户帐号列表 net user
C.查看网络链接 net use
例如:net use z: \\192.168.10.8\movie 将这个IP的movie共享目录映射为本地的Z盘

D.记录链接 net session
例如:
C:\>net session
计算机 用户名 客户类型 打开空闲时间
-------------------------------------------------------------------------------
\\192.168.10.110 ROME Windows 2000 2195 0 00:03:12

\\192.168.10.51 ROME Windows 2000 2195 0 00:00:39
命令成功完成。

10.路由跟踪命令
A.tracert pop.pcpop.com
B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%

11.关于共享安全的几个命令
A.查看你机器的共享资源 net share
B.手工删除共享(可以编个bat文件,开机自运行,把共享都删了!)
net share c$ /d
net share d$ /d
net share ipc$ /d
net share admin$ /d
注意$后有空格。
C.增加一个共享:
c:\net share mymovie=e:\downloads\movie /users:1
mymovie 共享成功。
同时限制链接用户数为1人。

12.在DOS行下设置静态IP
A.设置静态IP
CMD
netsh
netsh>int
interface>ip
interface ip>set add "本地链接" static IP地址 mask gateway
B.查看IP设置
interface ip>show address

2011年5月11日星期三

升级到Discuz! X2 后自建的DIY页面无法保存

原先的网站是Discuz! x1.5 升级到2.0后自建的页面点DIY设置好后点保存,没有任何效果。

原来是x2新增加了DIY页面缓存。例子:www.luoku.cn

解决办法:在 include template('diy:QQ/Q_detail');//Q_detail'为模板文件名,不需要加.htm扩展名

前面加上一行:loadcache('diytemplatename');

完整Q_detail.php 例子:

<?php
require './source/class/class_core.php';//引入系统核心文件
require './source/function/function_home.php';
$discuz = & discuz_core::instance();//以下代码为创建及初始化对象
$discuz->cachelist = $cachelist;
$discuz->init();

//……

//$navtitle =www.luoku.cn; 设置页面标题title
//$metakeywords = ; 关键字
//$metadescription = ;页面描述

//……..

loadcache('diytemplatename');
include template('diy:QQ/Q_detail');
?>

完整\template\default\QQ\Q_detail.htm 模板例子:

<!--{subtemplate common/header}—>

//…..自己的html代码

//在要添加的可拖拽区域位置加入如下代码
<!--[diy=diyid1]--><div id="diyid1" class="area"></div><!--[/diy]—>

<!--[diy=diyid2]--><div id="diyid2" class="area"></div><!--[/diy]-->

//…….

<!--{subtemplate common/footer}—>

 

备注:

一:loadcache('diytemplatename');//加载DIY页面缓存,X2中的改进,此缓存必需要加载,目的是为了减少磁盘的IO操作

二:template('diy:home/testtpl');//加载为模板文件,其中 “diy:”表示支持页面DIY操作,不加diy:则此页不可diy

三:模板文件代码
<style id="diy_style" type="text/css"></style><!--在模板文件中添加存放CSS代码的标签—>


四:DIY使用的tag标签为div,指定的class为area
<!--[diy=diyid]-->和<!--[/diy]-->是一对完整的DIY可拖拽区域闭合标识
[diy=diyid]中的diyid要与后面的DIV的id相同,同时要确保其在页面中唯一,即不能与页面已有元素ID相同。

五:loadcache('diytemplatename')X2中的改进,此缓存最好是在网站根目录的应用入口文件中加载,如下...
$cachelist = array('yourcache', 'diytemplatename');
$discuz->cachelist = $cachelist;
$discuz->init();
......

2011年5月6日星期五

print_r() 和 var_dump() 函数可以打印输出整个数组内容及结构

print_r() 和 var_dump() 函数可以打印输出整个数组内容及结构。

print_r()

利用 print_r() 函数可以打印输出整个数组内容及结构,按照一定格式显示键和元素。注意 print_r() 函数不仅是只用于打印,实际它是用于打印关于变量的易于理解的信息。

语法:

bool print_r( mixed expression )


例子:



<?php
$arr_age = array(18, 20, 25);
print_r($arr_age);
?>


运行该例子输出:



Array ( [0] => 18 [1] => 20 [2] => 25 ) 


提示


查看输出结果的网页源代码,可以看到更易读的格式:



Array
(
[0] => 18
[1] => 20
[2] => 25
)


var_dump()



同 print_r() 函数一样,var_dump() 函数也可以用于打印数组的数据及结构。不过 var_dump() 函数功能比 print_r() 更强大,可以同时打印多个变量且给出变量的类型信息。



例子:



<?php
$arr_age = array(18, 20, 25);
var_dump($arr_age);
?>


运行该例子输出:



array(3) {
[0]=>
int(18)
[1]=>
int(20)
[2]=>
int(25)
}


print_r() 和 var_dump() 函数一般是用于调试程序使用,更多情况是使用 echo 来输出具体的数组单元值

2011年5月1日星期日

Discuz! X1.5自己修改头部模板实例1

自己修改头部背景,菜单,演示效果见: www.tefee.net

一.首先上传网站标志 logo.png   头部背景图片 header-bg.gif   菜单背景图片 menu-tab.gif  菜单鼠标盘旋背景图片 menu-tabHover.gif 到目录

* 网站标志logo.png要求高度为200px 宽度可适当自定

二.直接修改/template/default/common/common.css文件,不去后台再设置了。

1.打开/template/default/common/common.css文件

2.修改头部背景,找到302行 #hd { margin-bottom: 10px; border-bottom: {HEADERBORDER} solid {SPECIALBORDER}; {HEADERBGCODE} }

把{HEADERBGCODE}替换成自己的背景代码如:BACKGROUND: url({IMGDIR}/header-bg.gif) #84c2f2 repeat-x center top;

3.修改菜单,找到328行

#nv li { float: left; padding-right: 1px; height: 33px; line-height: 33px; background: url({IMGDIR}/nv_a.png) no-repeat 100% 0; font-weight: 700; font-size: 14px; }

替换成自己的菜单背景如:

#nv li {float: left; padding-right: 1px; height: 33px; line-height: 33px; BACKGROUND: url({IMGDIR}/menu-tab.gif) #83b9e4 no-repeat left -15px;  font-weight: 700; font-size: 14px; }   

然后在此行后面增加新内容使鼠标移过菜单变色:

#nv li :hover{float: left; padding-right: 1px; height: 33px; line-height: 33px; BACKGROUND: url({IMGDIR}/menu-tabHover.gif) #83b9e4 no-repeat left -15px;  font-weight: 700; font-size: 14px; }   

4.修改菜单文字在333行 #nv a { color: {MENUTEXT}; } 后面增加

#nv a :hover{ color:#303030; }

三,进入后台管理,界面-风格管理-编辑 清空所有关于菜单栏目的值,

最好,在后台管理 工具 更新缓存 演示:tefee.net

2011年4月30日星期六

更改discuz x1.5个人空间的默认风格主题

站长可以修改discuz1.5空间的默认主题。
第一步:
打开:template/default/home/space_header.htm
第二步:找到第三行
<link id="style_css" rel="stylesheet" type="text/css" href="{STATICURL}space/{if $space[theme]}$space[theme]{else}t1{/if}/style.css?{VERHASH}">
第三步:更改t1为你需要的默认风格,比如 t2,t3,t4,t5 ....

个人空间风格模板文件存放位置在.\static\space\ 目录下面

2011年4月29日星期五

php echo出多行比较复杂的HTML代码的解决办法

<?php
echo <<<EOF
中间是html代码,如果出现了php变量,就写成如:{ $php_var }这样的情况
EOF;
?>
不过要注意一点,最后面的EOF;必须在单独的一行,而且前面不能有空格,后面不能有任何东西

下拉菜单被 Google 广告Adsense遮挡的解决办法

修改下拉菜单的ul值即可


#top ul {
float: right;
position: relative;
z-index: 20;
}
原因是下面的谷歌代码是相对定位的。你把下拉菜单的UL设置为相对并设置层叠顺序就OK~

2011年4月27日星期三

discuz x1.5帖子行距太小修改

iscuz x1.5 帖子行距修改 DZ的默认行距太小了,iscuz x1.5 帖子行距怎么修改

修改方法 在474行

x1.5修改的是这里(打开default/common/module.css文件):
.t_f, .t_f td { font-size: {MSGFONTSIZE}; }
修改成
.t_f, .t_f td { font-size: {MSGFONTSIZE}; line-height:1.8 } .t_f td p {line-height:1.8 }

修改后记得进入后台管理 - 工具 - 更新缓存

2011年4月25日星期一

Discuz! X1.5 二次开发-源代码分析(class_core.php)

class discuz_core:首先是声明一些属性,比如配置,session,DB资源等。

&instance,首先是static $object,if(empty($object)),使其在整个脚本中只实例化一个discuz_core。在实际脚本中只要直接调用类中的这个方法就可以实例化了,比如$discuz = &discuz_core::instance();

discuz_core(),构造函数,调用四个方法,完成对环境,配置,输入输出的初始化。

init(),如果没有完成初始化,则调用一些方法,完成对数据库,缓存,用户,session,配置,计划任务等的初始化。

_init_env(), 完成魔法引用,常用常用常量,时区,引入函数库,把GLOBALS中的GET,POST等在属性中不被允许的值从GLOBALS中注销,调用机器人阻止, 初始化$_G数据,这个变量里放入了这个脚本中几乎所有的配置,常用量等各种信息,有兴趣大家去print_r($_G),并把$_G赋值给属性var。

_init_input(),伪静态参数传入,去反斜杠,把POST,GET数组合并并传入var,其中标记为gp_$k为键名_init_config(),配置文件中传值给$_G_init_output(),地址栏数据过滤,各种缓存,是否强制输出某字符集编码格式reject_robot(),阻击机器人

_get_client_ip(),获取客户端ip_init_db(),实例化数据库并连接返回资源给db_init_session(), 实例化,赋值给$session,利用用户的sid,ip,uid创建一个类似SESSIONID的随机码送到数据库session表,并赋值给var。 discuz中是不用session的,而是利用数据库保存登陆信息,这样据说对于高流量网站是很有利的。然后检测cookie中的值是否匹配,不对的话 就注销,设置了一个isnew属性强制更新。如果此次登陆比上次超过十分钟,则把此次事件当做上次最后登陆时间。更新用户状态表。

_init_user(),对登陆用户进行处理,从cookie中获取信息判断用户是否正确,正确的话,给用户赋值一些常量。否则调用游客配置方法,赋值为游客信息。把这些信息写入全局变量里。

_init_guest() ,给游客赋值。

_init_cron() ,计划任务运行。

_init_misc(),处理表单提交的FORMHASH,风格,各模块的用户权限判断,论坛关闭,tpp话题每页数目,PPP帖子每页数目等

_init_setting(),配置信息赋值给cachelist数据等。

_init_memory(),各种缓存方法。

timezone_set($timeoffset = 0),时区

error($msg, $halt = true),错误时默认中断,写入log

error_log($message),把错误信息写入文件。

class db_mysql,这是数据库类,放到这个文件,不能不说是一个好方法呀。。。

db_mysql($config = array()),构造函数,配置。

set_config($config) 配置赋值。 connect($serverid = 1),还是赋值,这里可以选择多个数据库中的某一个,并区分

_dbconnect($dbhost, $dbuser, $dbpw, $dbcharset, $dbname, $pconnect) ,链接,返回链接句柄。

table_name($tablename),根据某个确定的数据库返回表和表前缀。

select_db($dbname),选择数据库。里面的方法大多和mysql函数相同,还多了fetch_first($sql),返回第一个数组,result_first($sql)返回第一个值,这样的方法。

halt($message = '', $sql = ''),中断数据库操作并退出脚本执行,返回错误信息。

class DB,这个类和上面的类相比很重复哈,这个类是可以直接方便执行语句的。

&object(),这里实例化上面类,一个页面只实例化一个。返回链接句柄。一般用的多。

table($table),这里主要是调用上面类的那个方法,给表赋予前缀,返回表名。其实有一个重大作用,$a = & DB::object();在这里实例化了,所以在这个类下面的几乎所有方法中都使用了这个方法,不仅返回表名而且实例化可以直接用了。

delete($table, $condition, $limit = 0, $unbuffered = true),简洁化操作这个delete,操作时,直接调用DB中这个方法就可以执行删除了,比如DB::delete(),类似的还有 insert,update,这里的insert操作使用的也是set "" = ""的句式,原因和下面这个方法有关。

implode_field_value($array, $glue = ','),这个传入数组,输出语句,就是某某等于某某的语句,可以直接用的。下面的方法和上面一个类大同小异,这样处理的目的就是为了可以在页面直接调 用,无论什么时候,直接调用DB中某个方法。其实这些方法又都是调用上个类中的方法,但是上面的类没有把每个方法单独封装,所以不能直接用。

class discuz_session ,这个类基本是传入sid,ip,uid,然后经过处理保存到session表中,因为加入了ip的信息,所以比session的办法要安全多了,这样ADSL断了一下,后台就需要重新的登陆了哈。。。。这个里面有一个方法,

onlinecount($type = 0),用来统计在线人数,很方便吧。。。

class discuz_cron,计划任务,打开一个页面执行一个操作,数据库里建立有列表的。

class discuz_process,对过程处理,比如在计划任务中,两人同时打开页面,会锁定某一个执行进程,不会出错。

class discuz_memory,各种缓存方式

Discuz!X 二次开发-使用函数getglobal()

函数原型:
./source/function/function_core.php 第55行开始:

  1. function setglobal($key , $value, $group = null) {
  2. global $_G;
  3. $k = explode('/', $group === null ? $key : $group.'/'.$key);
  4. switch (count($k)) {
  5. case 1: $_G[$k[0]] = $value; break;
  6. case 2: $_G[$k[0]][$k[1]] = $value; break;
  7. case 3: $_G[$k[0]][$k[1]][$k[2]] = $value; break;
  8. case 4: $_G[$k[0]][$k[1]][$k[2]][$k[3]] = $value; break;
  9. case 5: $_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]] =$value; break;
  10. }
  11. return true;
  12. }
  13. function getglobal($key, $group = null) {
  14. global $_G;
  15. $k = explode('/', $group === null ? $key : $group.'/'.$key);
  16. switch (count($k)) {
  17. case 1: return isset($_G[$k[0]]) ? $_G[$k[0]] : null; break;
  18. case 2: return isset($_G[$k[0]][$k[1]]) ? $_G[$k[0]][$k[1]] : null; break;
  19. case 3: return isset($_G[$k[0]][$k[1]][$k[2]]) ? $_G[$k[0]][$k[1]][$k[2]] : null; break;
  20. case 4: return isset($_G[$k[0]][$k[1]][$k[2]][$k[3]]) ? $_G[$k[0]][$k[1]][$k[2]][$k[3]] : null; break;
  21. case 5: return isset($_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]]) ? $_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]] : null; break;
  22. }
  23. return null;
  24. }

上面的两个函数,第一个是设置 全局变量$_G,第二个是获取全局变量中$_G层级内的变量。
使用方法非常简单:   如获取$_G['member']['uid'] (用户的uid) ,可以这样书写:$uid = getglobal('uid', 'member');
这在X里面是个非常贴心的设计,相比做过uchome开发的人一定对这个会产生共鸣的,uchome中,大家都习惯使用$_SGLOBAL['member']['uid'],但是$_SGLOBAL这个全局变量很庞大,使用起来可能会写非常长的数组来获取自己想要得到的东西。代码写的多了以后会发现,有大量的数组堆叠。不适合与二次开发以后的二次修改。
上面的贴心设计基本上解决了这个。呵呵。

discuz!x1.5 二次开发-模版结构说明

| — template — default   系统内置风格模板(默认风格)
| — template — default  – discuz_style_default.xml  风格安装文件,可用风格导出功能创建
| — template — default  – preview.jpg  预览图
| — template — default  – common 风格中的公共包含文件,内含css、htm模板文件
| — template — default  – common  –  block_forumtree.htm  树形论坛版块分支js文件
| — template — default  – common  –  block_thread.htm  特殊主题的风格模块文件
| — template — default  – common  –  block_userinfo.htm  用户资料的风格模块,用于显示
| — template — default  – common  –  common.css  公共CSS文件。
| — template — default  – common  –  css_diy.htm  DIY面板的样式文件
| — template — default  – common  –  editor.css  编辑器样式
| — template — default  – common  –  editor.htm  编辑器模板文件
| — template — default  – common  –  editor_menu.htm 编辑器菜单文件
| — template — default  – common  –  faq.htm  帮助模板文件
| — template — default  – common  –  footer.htm  系统总底部模板
| — template — default  – common  –  footer_ajax.htm  ajax模式是使用到的系统总底部模板,ajax模式大部分为浮动框登录、注册、发帖等。
| — template — default  – common  –  forum_calendar.css  广场社区使用到的日历日期样式
| — template — default  – common  –  forum_moderator.css  版主管理面板样式
| — template — default  – common  –  header.htm  系统总头部文件
| — template — default  – common  –  header_ajax.htm  ajax模式时使用到的系统总头部文件
| — template — default  – common  –  header_diy.htm  DIY面板模板文件
| — template — default  – common  –  invite.htm  邀请好友模板文件
| — template — default  – common  –  module.css  重要的样式文件,用于模块的拆分并生成相应的CSS样式。可以根据实际情况的需要,在module.css中写入只针对某个
| — template — default  – common  –  preview.htm  预览的模版文件
| — template — default  – common  –  report.htm  举报模板文件
| — template — default  – common  –  rss.css  用于rss的样式文件
| — template — default  – common  –  search.css  搜索样式文件
| — template — default  – common  –  seccheck.htm  验证码验证模板文件
| — template — default  – common  –  seditor.htm  空间的编辑器模板文件
| — template — default  – common  –  sendmail.htm  发送email内容模板文件
| — template — default  – common  –  showmessage.htm  系统提示信息模板文件
| — template — default  – common  –  userabout.htm  我的中心面板模板文件
| — template — default  – common  –  wysiwyg.css  所见即所得模式的css样式文件 

| — template — default  – forum 广场(社区)使用到的模板
| — template — default  – forum  –  activity_applylist.htm  活动列表模板文件
| — template — default  – forum  –  activity_export.htm  活动资料内容模板文件
| — template — default  – forum  –  ajax_albumlist.htm  ajax获取相册列表模板文件
| — template — default  – forum  –  ajax_attachlist.htm  ajax获取附件列表模板文件
| — template — default  – forum  –  ajax_imagelist.htm  ajax获取图片列表模板文件
| — template — default  – forum  –  ajax_magiclist.htm  ajax获取魔法道具列表模板文件
| — template — default  – forum  –  ajax_secondgroup.htm
| — template — default  – forum  –  announcement.htm  广场公告模板文件
| — template — default  – forum  –  attachpay.htm  附件金币积分支付模板文件
| — template — default  – forum  –  attachpay_view.htm  附件金币积分支付查看模板文件
| — template — default  – forum  –  comment.htm  评论模板文件
| — template — default  – forum  –  comment_more.htm  更多评论模板文件
| — template — default  – forum  –  debate_umpire.htm  辩论模板文件
| — template — default  – forum  –  discuz.htm  广场社区首页模板文件
| — template — default  – forum  –  discuzcode.htm  discuz编辑器处理的模板文件
| — template — default  – forum  –  editor_menu_forum.htm 广场中编辑器菜单模板文件
| — template — default  – forum  –  forumdisplay.htm  广场版块模板文件
| — template — default  – forum  –  forumdisplay_list.htm  广场版块主题列表模板文件
| — template — default  – forum  –  forumdisplay_passwd.htm  需要密码访问的版块模板文件
| — template — default  – forum  –  forumdisplay_subforum.htm  子版块列表模板文件
| — template — default  – forum  –  index_navbar.htm  广场首页导航栏模板文件
| — template — default  – forum  –  invite_index.htm  邀请模板文件
| — template — default  – forum  –  invite_send.htm  邀请发送模板文件
| — template — default  – forum  –  modcp.htm  管理面板模板文件
| — template — default  – forum  –  modcp_announcement.htm  管理面板公告管理页面模板文件
| — template — default  – forum  –  modcp_forum.htm  管理面板广场管理页面模板文件
| — template — default  – forum  –  modcp_forumaccess.htm  管理面板用户权限管理页面模板文件
| — template — default  – forum  –  modcp_home.htm  管理面板内部留言管理页面模板文件
| — template — default  – forum  –  modcp_log.htm  管理面板管理日志页面模板文件
| — template — default  – forum  –  modcp_login.htm  管理面板登录页面
| — template — default  – forum  –  modcp_member.htm  管理面板用户管理页面模板文件
| — template — default  – forum  –  modcp_moderate.htm  管理面板审核页面模板文件
| — template — default  – forum  –  modcp_moderate_float.htm  管理面板审核页面模板文件
| — template — default  – forum  –  modcp_post.htm  管理面板发帖管理模板文件
| — template — default  – forum  –  modcp_recyclebin.htm  管理面板回收站模板文件
| — template — default  – forum  –  modcp_report.htm  管理面板举报页面模板文件
| — template — default  – forum  –  modcp_thread.htm  管理面板主题管理模板文件
| — template — default  – forum  –  pay.htm  支付页面模板文件
| — template — default  – forum  –  pay_view.htm  支付结果查看模板文件
| — template — default  – forum  –  post.htm  发帖模板总文件
| — template — default  – forum  –  post_activity.htm  活动发布页面模板文件
| — template — default  – forum  –  post_debate.htm  辩论发布模板文件
| — template — default  – forum  –  post_forumselect.htm  版块选择模板文件
| — template — default  – forum  –  post_infloat.htm  ajax发布主题模板文件
| — template — default  – forum  –  post_poll.htm  投票贴发布模板文件
| — template — default  – forum  –  post_reward.htm  悬赏帖发布模板文件
| — template — default  – forum  –  post_sortoption.htm  主题分类选择模板文件
| — template — default  – forum  –  post_trade.htm  交易帖发布模板文件
| — template — default  – forum  –  rate.htm  主题评分模板文件
| — template — default  – forum  –  rate_view.htm  主题评分查看模板文件
| — template — default  – forum  –  recommend.htm  主题推荐模板文件
| — template — default  – forum  –  search_sortoption.htm  主题分类选项搜索模板文件
| — template — default  – forum  –  showmessage.htm  广场提示信息模板文件
| — template — default  – forum  –  stats_team.htm  管理团队统计模板文件
| — template — default  – forum  –  stats_trade.htm  交易统计模板文件
| — template — default  – forum  –  tag.htm  tag标签模板文件
| — template — default  – forum  –  tag_thread.htm  主题tag模板文件
| — template — default  – forum  –  topicadmin.htm  话题管理页面模板文件
| — template — default  – forum  –  topicadmin_action.htm  话题管理动作页面模板文件
| — template — default  – forum  –  topicadmin_getip.htm  话题管理页面获取IP模板文件
| — template — default  – forum  –  topicadmin_modlayer.htm  管理管理推送群组操作模板文件
| — template — default  – forum  –  trade.htm  商品交易主题模板文件
| — template — default  – forum  –  trade_displayorder.htm  商品排序模板文件
| — template — default  – forum  –  trade_info.htm  商品交易详细资料模板文件
| — template — default  – forum  –  trade_view.htm  商品交易浏览页面模板文件
| — template — default  – forum  –  upload.htm  上传模板文件
| — template — default  – forum  –  viewpro_data.htm 查看社区主题内用户资料模板文件
| — template — default  – forum  –  viewthread.htm  看帖页面模板文件
| — template — default  – forum  –  viewthread_activity.htm   查看活动页面模板文件
| — template — default  – forum  –  viewthread_debate.htm  查看辩论页面模板文件
| — template — default  – forum  –  viewthread_fastpost.htm  快速回复模板文件
| — template — default  – forum  –  viewthread_from_node.htm  特殊主题回复模板文件
| — template — default  – forum  –  viewthread_home.htm  个人空间模式查看主题模板文件
| — template — default  – forum  – viewthread_mod.htm  主题操作记录模板文件
| — template — default  – forum  – viewthread_node.htm  新回复节点模板文件
| — template — default  – forum  – viewthread_node_body.htm  主题回复节点模板文件
| — template — default  – forum  – viewthread_pay.htm  主题支付模板文件
| — template — default  – forum  – viewthread_poll.htm  投票主题查看模板文件
| — template — default  – forum  – viewthread_poll_voter.htm  投票主题参与者查看模板文件
| — template — default  – forum  – viewthread_portal.htm 门户模式主题查看页模板文件
| — template — default  – forum  – viewthread_printable.htm  打印主题模式模板文件
| — template — default  – forum  – viewthread_relatedthread.htm  相关主题模板文件
| — template — default  – forum  – viewthread_reward.htm  悬赏主题查看模板文件
| — template — default  – forum  – viewthread_trade.htm  查看交易主题模板文件
| — template — default  – forum  – warn_view.htm  错误报告页面,无需其他报错模板即可执行

| — template — default  – group  群组模板
| — template — default  – group  – group.htm 浏览群组时的模板文件
| — template — default  – group  –  group_create.htm 群组创建时使用到的模板文件
| — template — default  – group  –  group_index.htm  群组首页模板文件
| — template — default  – group  –  group_invite.htm  邀请参与群组的模板文件
| — template — default  – group  –  group_list.htm  群组列表文件
| — template — default  – group  –  group_manage.htm  管理群组的模板文件
| — template — default  – group  –  group_memberlist.htm  群组中参与用户的列表文件
| — template — default  – group  –  group_right.htm  群组右侧边栏

| — template — default  – home 空间模板
| — template — default  – home  –  invite.htm  空间邀请页面
| — template — default  – home  –  magic_call.htm  通知好友魔法道具模板文件
| — template — default  – home  –  magic_doodle.htm  涂鸦魔法道具模板文件
| — template — default  – home  –  magic_downdateline.htm  修改时间的魔法道具模板文件
| — template — default  – home  –  magic_visit.htm  访问卡魔法道具模板文件
| — template — default  – home  –  misc_ajax.htm  杂项ajax操作模板文件
| — template — default  – home  –  misc_inputpwd.htm  密码输入模板文件
| — template — default  – home  –  misc_login.htm  杂项登录操作模板文件
| — template — default  – home  –  misc_lostpasswd.htm  忘记密码操作模板文件
| — template — default  – home  –  misc_register.htm  杂项注册操作模板文件
| — template — default  – home  –  misc_stat.htm  杂项统计页面模板文件
| — template — default  – home  –  misc_swfupload.htm  FLASH上传模板文件
| — template — default  – home  –  network.css  随便看看页CSS样式文件
| — template — default  – home  –  sendmail.htm  发系统email的模板文件
| — template — default  – home  –  space_activity.htm  空间活动页面模板文件
| — template — default  – home  –  space_album_list.htm  空间相册列表页面模板文件
| — template — default  – home  –  space_album_pic.htm  空间相册图片模板文件
| — template — default  – home  –  space_album_view.htm  空间相册浏览模板文件
| — template — default  – home  –  space_blog_list.htm 空间日志列表模板文件
| — template — default  – home  –  space_blog_view.htm 空间日志浏览模板文件
| — template — default  – home  –  space_click.htm  表态模板文件
| — template — default  – home  –  space_comment_li.htm  评论模板文件
| — template — default  – home  –  space_debate.htm  辩论模板文件
| — template — default  – home  –  space_diy.htm  空间DIY模板文件
| — template — default  – home  –  space_doing.htm  心情记录模板文件
| — template — default  – home  –  space_doing_form.htm  心情记录发送的模板文件
| — template — default  – home  –  space_doing_li.htm  心情记录的列表模板文件
| — template — default  – home  –  space_favorite.htm  空间收藏模板文件
| — template — default  – home  –  space_feed_li.htm  feed事件列表模板文件
| — template — default  – home  –  space_footer.htm  空间底部模板文件
| — template — default  – home  –  space_friend.htm  空间好友模板文件
| — template — default  – home  –  space_group.htm  空间群组模板文件
| — template — default  – home  –  space_header.htm  空间头部模板文件
| — template — default  – home  –  space_home.htm  空间home页模板文件
| — template — default  – home  –  space_index.css  个人空间首页CSS样式文件
| — template — default  – home  –  space_index.htm  个人空间首页模板文件
| — template — default  – home  –  space_list.htm  空间列表页模板文件
| — template — default  – home  –  space_magic.htm  空间魔法道具模板文件
| — template — default  – home  –  space_magic_log.htm  魔法道具使用记录模板文件
| — template — default  – home  –  space_magic_mybox.htm  本人所拥有的魔法道具模板文件
| — template — default  – home  –  space_magic_mybox_opreation.htm  魔法道具操作动作的模板文件
| — template — default  – home  –  space_magic_shop.htm  魔法道具商城模板文件
| — template — default  – home  –  space_magic_shop_opreation.htm  魔法道具操作动作的模板文件
| — template — default  – home  –  space_medal.htm  空间勋章
| — template — default  – home  –  space_menu.htm  空间菜单项模板文件
| — template — default  – home  –  space_notice.htm  空间公告模板文件
| — template — default  – home  –  space_pm.htm  空间短消息模板文件
| — template — default  – home  –  space_poll.htm  空间投票模板文件
| — template — default  – home  –  space_privacy.htm  空间隐私模板文件
| — template — default  – home  –  space_profile.htm 空间用户资料页模板文件
| — template — default  – home  –  space_reward.htm  空间悬赏模板文件
| — template — default  – home  –  space_rss.htm  空间rss订阅模板文件
| — template — default  – home  –  space_share_form.htm  空间分享来源模板文件
| — template — default  – home  –  space_share_li.htm  空间分享模板文件
| — template — default  – home  –  space_share_list.htm  空间分享列表模板文件
| — template — default  – home  –  space_share_view.htm  空间查看模板文件
| — template — default  – home  –  space_status.htm  空间状态模板文件
| — template — default  – home  –  space_task.htm  任务模板文件
| — template — default  – home  –  space_task_detail.htm  小任务模板文件
| — template — default  – home  –  space_task_list.htm  任务列表模板文件
| — template — default  – home  –  space_task_parter.htm  参与任务模板文件
| — template — default  – home  –  space_thread.htm  空间的主题帖模板文件
| — template — default  – home  –  space_top.htm  空间头部模板文件
| — template — default  – home  –  space_trade.htm  空间商品交易主题模板文件
| — template — default  – home  –  space_userabout.htm  空间用户面板模板文件
| — template — default  – home  –  space_videophoto.htm  视频相册模板文件
| — template — default  – home  –  space_wall.htm  个人空间留言板
| — template — default  – home  –  spacecp_album.htm  空间管理面板相册页模板文件
| — template — default  – home  –  spacecp_avatar.htm  空间管理面板修改头像页模板文件
| — template — default  – home  –  spacecp_blog.htm  空间管理面板日志页模板文件
| — template — default  – home  –  spacecp_class.htm  空间管理面板分类页模板文件
| — template — default  – home  –  spacecp_click.htm   空间表态页模板文件
| — template — default  – home  –  spacecp_comment.htm  空间管理面板评论页模板文件
| — template — default  – home  –  spacecp_credit_action.htm  空间积分动作页模板文件
| — template — default  – home  –  spacecp_credit_base.htm  空间基本积分页、兑换等模板文件
| — template — default  – home  –  spacecp_credit_header.htm  空间管理面板积分头部模板文件
| — template — default  – home  –  spacecp_credit_log.htm  空间管理面板积分操作记录模板文件
| — template — default  – home  –  spacecp_credit_usergroup.htm  空间管理面板积分与组别关系模板页面
| — template — default  – home  –  spacecp_doing.htm  空间管理面板心情记录模板文件
| — template — default  – home  –  spacecp_domain.htm  空间域名设置模板文件
| — template — default  – home  –  spacecp_ec_explain.htm  我要解释页模板文件
| — template — default  – home  –  spacecp_ec_list.htm 我的解释列表页模板文件
| — template — default  – home  –  spacecp_favorite.htm  空间管理面板收藏页模板文件
| — template — default  – home  –  spacecp_feed.htm  空间管理面板feed事件页模板文件
| — template — default  – home  –  spacecp_friend.htm  空间管理面板好友页模板文件
| — template — default  – home  –  spacecp_header.htm  空间管理面板头部
| — template — default  – home  –  spacecp_index.htm  空间管理面板首页
| — template — default  – home  –  spacecp_invite.htm  空间管理面板邀请页模板文件
| — template — default  – home  –  spacecp_magic.htm  空间管理面板魔法道具页模板文件
| — template — default  – home  –  spacecp_password.htm  空间管理面板修改密码页模板文件
| — template — default  – home  –  spacecp_plugin.htm  空间管理面板插件页模板文件
| — template — default  – home  –  spacecp_pm.htm  空间管理面板短消息页模板文件
| — template — default  – home  –  spacecp_poke.htm  空间管理面板打招呼页模板文件!
| — template — default  – home  –  spacecp_privacy.htm  隐私筛选页模板文件
| — template — default  – home  –  spacecp_profile.htm  空间个人资料编辑页模板文件
| — template — default  – home  –  spacecp_profile_nav.htm  空间个人资料编辑页导航条
| — template — default  – home  –  spacecp_search.htm  空间搜索页模板文件
| — template — default  – home  –  spacecp_sendmail.htm  空间邮件发送页模板文件
| — template — default  – home  –  spacecp_share.htm   空间分享管理页模板文件
| — template — default  – home  –  spacecp_space.htm  空间管理页模板文件
| — template — default  – home  –  spacecp_upload.htm  空间上传页模板文件
| — template — default  – home  –  spacecp_userapp.htm  用户应用页模板文件
| — template — default  – home  –  spacecp_videophoto.htm  视频相册页模板文件

| — template — default  – member  用户相关模板
| — template — default  – member –  getpasswd.htm 找回密码模板文件
| — template — default  – member –  groupexpiry.htm 用户组期限模板文件
| — template — default  – member –  login.htm  用户登录模板文件
| — template — default  – member –  register.htm  用户注册模板文件

| — template — default  – portal  门户首页
| — template — default  – portal  –  comment.htm  评论页面模板文件
| — template — default  – portal  –  comment_li.htm 评论操作模板文件
| — template — default  – portal  –  index.htm  门户首页模板文件
| — template — default  – portal  –  list.htm  门户新闻列表页面!
| — template — default  – portal  –  portal_topic_content.htm  门户专题页面模板,如果添加新专题请创建portal_topic_xxxxx.htm的页面,即可在专题创建时自动的看到。
| — template — default  – portal  –  portalcp_article.htm  门户文章管理页面
| — template — default  – portal  –  portalcp_block.htm  门户模块页面
| — template — default  – portal  –  portalcp_category.htm  门户分类页面
| — template — default  – portal  –  portalcp_comment.htm 门户管理评论操作模板文件
| — template — default  – portal  –  portalcp_diy.htm  门户DIY模板文件
| — template — default  – portal  –  portalcp_index.htm  门户管理首页模板文件
| — template — default  – portal  –  portalcp_portalblock.htm  门户管理模块模板文件
| — template — default  – portal  –  portalcp_portalblock_data.htm  门户管理模块数据模板文件
| — template — default  – portal  –  portalcp_topic.htm  门户管理话题模板文件
| — template — default  – portal  –  portalcp_topic_content.htm 门户管理话题内容页模板文件
| — template — default  – portal  –  topic_footer.htm  话题底部模板
| — template — default  – portal  –  topic_head.htm 话题顶部模板
| — template — default  – portal  –  view.htm 查看页面

| — template — default  – search  搜索页面模板文件
| — template — default  – search  –  album.htm  搜索相册结果
| — template — default  – search  –  album_list.htm  搜索相册列表结果
| — template — default  – search  –  blog.htm  搜索日志结果
| — template — default  – search  –  blog_list.htm  搜索日志列表结果
| — template — default  – search  –  footer.htm 页面底部
| — template — default  – search  –  forum.htm  广场搜索页
| — template — default  – search  –  group.htm  群组搜索结果页面
| — template — default  – search  –  group_list.htm  群组搜索结果列表页面
| — template — default  – search  –  header.htm  页面头部
| — template — default  – search  –  portal.htm  门户搜索结果
| — template — default  – search  –  portal_list.htm 门户搜索结果列表页面
| — template — default  – search  –  pubsearch.htm  公共搜索页面
| — template — default  – search  –  sort_list.htm  分类信息列表页面
| — template — default  – search  –  sortoption.htm  分类信息页面
| — template — default  – search  –  thread_list.htm  主题列表页面
| — template — default  – search  –  trade.htm  商品页面

| — template — default  – userapp  应用频道模板
| — template — default  – userapp  –  userapp_app.htm  用户应用
| — template — default  – userapp  –  userapp_index.htm  应用频道首页
| — template — default  – userapp  –  userapp_manage.htm  应用管理
| — template — default  – userapp  –  userapp_menu_list.htm  应用菜单列表

2011年4月20日星期三

Discuz! X1.5 /2.0增加新页面包含模板头部和尾部

一.简单的基本页面的建立


新建的页面需要 php文件和该单页的模板(.htm)文件,比如:bunsen.php、bunsen.htm

第一步在根目录下建立bunsen.php文件

单页的php文件内容如下:

<?php
require './source/class/class_core.php';//引入系统核心文件
$discuz = & discuz_core::instance();//以下代码为创建及初始化对象
$discuz->cachelist = $cachelist;
$discuz->init();

//这里放置自己的代码,变量
include template(my/bunsen);//调用单页模版文件,my为文件夹名,bunsen为模板文件名
?>
这里需要注意的是,bunsen为模板文件名,不需要加.htm扩展名,在这里模板文件存放于自己当前风格目录下的my目录;

第二步创建模版文件

在 template\default 建立文件夹my 并在my目录下建立bunsen.htm文件

例如: http://tefee.cn/template/default/my/bunsen.htm

基本代码如下:

{subtemplate common/header}
这里是自己正文区域的代码
{subtemplate common/footer}

其中: subtemplate common/header}、{subtemplate common/footer}分别为调用页头、页尾模板,使得单页风格与论坛保持一致;

至此,基本型单页创建完毕。演示见:http://tefee.cn/

二 . 建立可以DIY的单页教程


自己制作的单页中,如何又能使用DX的DIY功能呢?

只需要稍加改造,即可完成,如下:将单页php文件调用模板的那行代码改成:

include template('diy:my/bunsen');

这样就可以加载DIY模块,然后在单页模版中,添加DIY区域,如下:

<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
这就是一个DIY区域,如果要多个区域,则:

<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
<!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->
<!--[diy=diy3]--><div id="diy3" class="area"></div><!--[/diy]-->

这样就可以实现单页DIY功能了,需要说明的是,模版中要在什么地方加DIY区域,根据自己需要,并不是固定死的,自己设计在哪,就在哪里加入。

三.自建模板中常用的代码


下面开始讲一下模板中常用的标签及变量输出。
一、模板中使用自定义变量:
如我们在PHP文件中定义了一个变量并赋值了,如:
$siteUrl="http://tefee.cn/";

$siteName="祝君成功网站建设";

那么如何在模板中输出呢?其实这个很简单:

站点地址:$siteUrl
站点名称:$siteName

就可以输出结果:

二、条件判断和循环语句,在模板中直接使用php简单代码

模板中一般含有以下标签
if标签,else标签,loop标签 ,eval标签

1、if标签和 else标签主要是判断标签,格式如下

<!—{if 条件}–>

//Your code here…

<!—{/if}–>



<!—{if 条件}–>

//Your code here…

<!—{else}–>

//Your code here…

<!—{/if}–>

以上的条件可以是变量及合法的PHP函数及自定义函数。

2、 loop标签
loop标签是循环输出数组的,如果你不懂数组,那么请自行参考相关资料。
格式一:

<!–{loop $s $key $value}–>

$value

<!–{/loop}–>
相当于PHP代码中

foreach($s as $key=>$value){

echo $value

}

格式二:
<!–{loop $s  $value}–>

$value

<!–{/loop}–>

相当于PHP代码中

//住$s必须是二维数组。

foreach($s as  $value){

echo $value
}

3、eval标签
eval标签主要是用来在模板中执行php语法,在eval后必须紧跟合法的PHP语法,如:
<!–{eval echo ‘这是PHP语法’;}–>

基本上UCHOME模板中的标签就这么几个,也是最常用的几个了

四.技巧和注意事项


1.自建页面的浏览器标题在哪里设置,答案是在 .php页面中 给$navtitle 变量赋值即可

2..htm模板中不能包含任何类似<?php 代码,否则页面显示为空白

3. 如有其它问题请到 http://tefee.cn/home.php 交流学习

2011年4月17日星期日

PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe 是什么意思?如何选 择

最近在 PHP 官网上看到又有新版的 PHP 下载了,于是上去找找 For Windows 的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。

一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。

二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本

先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

windows2008下使用IIS建议用FastCGI方式运行,那么应该选 VC9 x86 Non Thread Safe

2011年3月12日星期六

Windows2008设置OpenVPN服务技巧

由于Windows2008 web版没有提供vpn服务角色,其他版本的windows自带的vpn服务器改端口麻烦而且它只支持tcp连接,所以如果碰到VPN要用指定端口连接,或者想 用win做linux的vpn服务器的话,openvpn是个不错的选择。测试安装,资料来源于互联网整理


1. 服务端


环境:win2008 web +openvpn2.1.4


(1)安装openvpn,最好默认安装,否则后面配置时注意路径。


(2)到安装目录下的easy-rsa文件夹下,用文本编辑器打开vars.bat.sample文件,根据需要修改最后几行(其实也可以不改,就是为了 配置过程中输入的东西少点):


set KEY_COUNTRY=CN


set KEY_PROVINCE=HN


set KEY_CITY=LY


set KEY_ORG=ET


set KEY_EMAIL=a@b.com


(3)鼠标点开始-运行,输入cmd 回车进入命令行窗口


cd C:\Program Files\OpenVPN\easy-rsa 进入到安装目录下的easy-rsa文件夹,分别执行下面三个命令:


init-config


vars


clean-all


上面是初始化工作,以后,在进行证书制作工作时,仍旧需要进行初始化,但只需要进入openvpn\easy-rsa目录,运行vars就 可以了,不需要上面那些步骤了。


(4)生成根证书,分别执行命令:


build-ca


build-dh


(5)生成服务端密钥:


build-key-server server


(6)生成客户端密钥


build-key client1


build-key client2 可以继续配置第二个VPN客户端密钥


以上三步执行过程中需要输入一些参数,大部分只需按要求输入即可,[ 中括号 ]内提示默认值,不改直接回车即可。


其中一些是需要注意的:


common name,出现三次,据说要求每次输入的都不一样,至于都一样行不行我没试,那就随便输入三个不一样的参数。


A challenge password []:  An optional company name []: 这两个都可以留空


将生成的keys文件夹内的ca.crt, dh1024.pem, server.crt, server.key, ca.key复制到 OpenVPN\config目录下


(7)配置文件


port 443


proto tcp//#申明使用的协议,默认使用UDP,如果使用HTTP proxy,必须使用TCP协议


dev tap


//下面四项注意路径,如果不是放在config目录下请用绝对路径


ca ca.crt


cert server.crt


key server.key


dh dh1024.pem


server 192.168.10.0 255.255.255.0


ifconfig-pool-persist ipp.txt


push “route 0.0.0.0 0.0.0.0″


push “redirect-gateway def1 bypass-dhcp”


push “dhcp-option DNS 192.168.175.5″ //这个根据实际自行修改,随后说明如何获得


keepalive 20 120


comp-lzo


persist-key


persist-tun


status openvpn-status.log


verb 3


要配置的大概就是这些,将配置文件另存为 server.ovpn 文件,并保存到openvpn\config目录下即可。如果需要通过服务器端连接外网,还需配置 win2008自带的vpn服务器,在nat/防火墙那里把本地连接接口添加进去。


(8) 右键点击 server.ovpn 文件名选择Start OpenVPN on this config file即可启动 , 或者通过 OpenVPN GUI 的控制启动 VPN


DNS提示


说明: 有些 domain 被封掉了, 这时, 如果要访问这些网站, 应该将 server 上的 dns push 到 client.


开始→运行→输入“cmd”→打开命令提示符界面→输入“nslookup”,其中Address就是DNS服务器的IP地址。


*  LINUX下可以在 /etc/resolv.conf 中找到:


在使用OpenVPN时,有的时候需要使用VPN的DNS,有的时候却需要使用本地网络的DNS。OpenVPN可以在配置中支持DNS设置,如果是server来配置客户端DNS, 需要在配置文件中加入:


push “dhcp-option DNS 208.67.222.222″


push “dhcp-option DNS 208.67.220.220″


如果是在客户端配置,需要在配置文件设置:


dhcp-option DNS 208.67.222.222


dhcp-option DNS 208.67.220.220


DNS的IP地址要根据实际情况设定。


如果是希望使用本地的默认DNS,要确认在配置文件中把DNS的配置注释掉。


;push “dhcp-option DNS 208.67.222.222″


;push “dhcp-option DNS 208.67.220.220″


如果需要在多种情况下切换,可以在客户端创建多个openvpn配置文件,在连接时选择需要的配置即可。


2.客户端


客户端安装openvpn后,只需把服务端生成的ca.crt client1.crt client1.key三个文件拷到openvpn\config目录下,再建一个配置文件 client.ovpn 即可。


配置文件内容:


client


dev tap


proto tcp


remote 10.1.x.x 443//服务器ip 端口


resolv-retry infinite


nobind


persist-key


persist-tun


ca ca.crt


cert client1.crt


key client1.key


ns-cert-type server


comp-lzo


verb 3


然后右键点击 client.ovpn 文件名选择Start OpenVPN on this config file即可启动, 或者通过 OpenVPN GUI 的控制启动 VPN


小技巧:


让openvpn随系统自启:编个批处理,写入以下代码:


net start openvpnservice


openvpn-gui-1.0.3 –connect client1.ovpn


pause


其中:


net start openvpnservice 是启动openvpn的系统服务。


openvpn-gui-1.0.3  –connect client.ovpn是用命令行方式连接openvpn,这里要注意路径问题:一是openvpn-gui-1.0.3,这个文件在 OpenVPN\bin目录下,如果出现不是有效命令,请在系统环境变量里把“C:\Program Files\OpenVPN\bin”添加进去;二是client.ovpn配置文件的路径,如果配置文件不是在config根目录,请用绝对路径。


到此OpenVPN虽然配置完成,可以成功组成虚拟个人网,客户端(192.168.10.2)和服务器(192.168.10.1)可以ping通。但客户端还不能通过服务器代理访问外网。为了达到这个目的现需要在服务器端开启NAT服务。


 


具体步骤如下:


1.  启动Routing And Remote Access服务(必须)


停止系统防火墙服务,或添加vpn端口443例外到防火墙规则


如果需要用到局域网


启动Server ,Workstation ,TCP/IP NetBIOS Helper服务(以上3个服务基本上默认已经启动)


2. 修改注册表


HKEY_LOCAL_MACHINE\SYSTEM


\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter= 1  


重启


3.进入命令行(*如果没有routing这个模块,看稍后提取文件)


  netsh


   routing ip nat


   install


   add interface name="本地连接 2" mode=full //服务器上用于上外网的连接


   add interface name="本地连接 3" mode=private //安装OpenVPN时生成的虚拟连接


   add interface name="内部" mode=private


 


以上步骤实现后,则VPN+NAT配置成功。可拨入主机,并可通过主机代理出去访问主机所在的资源。如同处在主机带的局域网中。


注意:最后三行中的"本地连接 2"、"本地连接 3"和“内部”是在“网络连接”中显示的名字,“本地连接”一般都能看到,而“内部”只有在有vpn client连接的时候才能看到。一般来说,“内部”这个名字是不用改的,“本地连接 2”、“本地连接 3”请根据自己机器的具体情况修改。


至此,配置完毕,如果不能拨号,重启后即可


提取文件:Windows Vista/7 windows2008中netsh没有routing这个模块


Vista可以提取Windows xp或Windows Server 2003中%systemdrive%windows/system32/下的ippromon.dll和ipmontr.dll文件到Vista/7下的Windows/system32目录下


Win7必须提取Windows Server 2008 R2 中的以上文件到以上目录


然后cmd运行以下命名


netsh


delete helper ipmontr.dll


delete helper ippromon.dll


add helper ipmontr.dll


add helper ippromon.dll


然后再执行上面的第3步即可


如果外网vpn连接后不能上网,请点击vpn连接属性,去掉“使用远端网关和dns”