站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
EZ Publish/EZ Publish配置模型
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{EZ Publish top}} 本条目主要阐述了[[eZ Publish]] 中的配置模型。默认的配置文件后缀名为".ini"并且保存在"settings"目录。每个配置文件控制eZ Publish 中的一个特定部分。例如:"content.ini"文件控制内容引擎的行为,"webdav.ini"文件控制WebDAV 子系统的行文,等等。最主要也是最重要的配置文件是"site.ini"。除了其它的作用,它告诉eZ Publish 使用哪个[[数据库]],界面等等。默认的配置文件包含所有的配置选项(设定为默认值)与对应的说明。这些文件应该之被用于参考目的。换言之,它们永远都不能被修改。 == 文件结构 == eZ Publish 的配置文件被分割为多个块,每一块包含一套配置。下例演示了"site.ini"配置文件的一部分。 <pre> ... # This line contains a comment. [DatabaseSettings] Server=localhost User=allman Password=qwerty Socket=disabled SQLOutput=enabled # This line contains another comment. [ExtensionSettings] ActiveExtensions[]=ezdhtml ActiveExtensions[]=ezpaypal ... </pre> 上例演示了两个配置块:"DatabaseSettings"和"ExtensionSettings"。每一块内部包含若干控制系统行为的配置。配置通常可以被设置为"enabled“/"disabled",一个字符串或一个字符串数组。如果配置名以一对方括号结尾,意味着这个配置接受[[数据类型]]的值。在上例中,"ActiveExtensions"配置告诉eZ Publish 启用两个扩展:"ezdhtml"和"paypal"。以"#"开头的行为注释行。 '''配置重设''' 如前所述,默认的配置文件永远都不应该被修改因为它们很可能在日后的升级过程中被新的配置文件覆盖。即使对这些文件备份也不够,因为配置文件会随着时间变化。例如:前一个版本的配置文件不会包含最新增加的配置选项。由于这些问题,自定义的配置必须被放置在其它位置。全局的配置重设可以被放置在"settings/override"目录。这个目录中的配置文件会重设默认配置。这个目录中的文件必须使用以下[[后缀名]]中的一个: <pre> #.ini.append #.ini.append.php </pre> 如果".ini.append"和".ini.append.php"后缀名都被使用,".ini.append.php"的优先级更高。处于安全考虑,".ini.append.php"应该优先被使用。特别是当eZ Publish 运行在非[[虚拟主机]][[服务器]]环境。".[[php]]"后缀名能强迫[[WEB]] 服务器把配置文件作为PHP [[脚本]]处理。如果有人试图在浏览器中直接访问配置文件,服务器不会显示配置文件的内容。相反,服务器会把它作为PHP 脚本处理。但是因为配置文件所有的内容都已被注释,因此服务器不会生成任何输出。这种方法让[[黑客]]试图从系统外部访问配置文件中的重要信息(如用户名,密码等等)变得更加困难。要达到这种目的,配置文件的内容必须被PHP 风格的注释/*和*/封装。下例演示了一个重设配置文件(如:"test.ini.append.php")的格式: <pre> <?php /* #?ini charset="iso-8859-1"? # These are my example settings [ExampleSettings] ExampleSettingOne=enabled ExampleSettingTwo=disabled ... */ ?> </pre> "charset"配置选项表明ini 文件的字符集(通常为[[ISO-8859-1]])。 == 站点管理 == eZ Publish 的一个安装可以支持多个站点,这需要使用称为“站点入口”系统。这个系统允许通过一系列规则管理不同配置。这些规则控制在不同情况下应该使用哪一组配置。站点入口规则必须在"site.ini"的全局重设文件("settings/override/site.ini.append.php")中定义。 '''站点入口''' 一套配置文件称为一个站点入口。当一个站点入口被使用时,默认的配置会被站点入口本身的配置重设。除其他配置内容外,站点入口定义需要用到的数据库,界面和var 目录(这些有时也被称为“资源”)。通过使用不同的站点入口,可以把不同的内容和界面组合起来。典型的eZ Publish 站点由两个站点入口:一个用于公共用户访问的公共站点和一个用于管理员访问的有安全限制的站点。两个站点入口使用相同内容(相同的数据库和var 目录),但是他们使用不同的界面。管理站点入口使用系统内建的管理界面,公共站点入口使用一个自定义的界面。下图演示了这个场景。 [[Image:ezpublishZDGL.jpg]] 当一个站点入口被使用时,它只是一套重设了默认配置的配置文件。一个eZ Publish 安装理论上可以通过站点入口支持无限个站点。站点入口的配置文件被保存在"settings/siteaccess"中个一个子目录中。子目录的名称就是站点入口的名称。(注意,站点入口名称只能包含字符,数字和下划线)。下图演示了两个站点入口的配置:admin 和public。 [[Image:ezpublishZDGL1.jpg]] 当一个站点入口被使用,eZ Publish 用以下顺序载入配置文件: #默认的配置文件(settings/*.ini) #站点入口配置(settings/siteaccess/[站点入口名称]/*.ini.append.php) #全局重设文件(settings/override/*.ini.append.php) 换言之,eZ Publish 首先会载入默认配置。然后,它会根据"site.ini."全局重设("settings/override/site.ini.append.php")中的配置来确定应该使用哪个站点入口。当它确定应该使用哪个站点入口,它会从这个站点入口的目录中载入这个站点入口的配置。站点入口的配置会重设全局重设,全局重设会重设默认设置。例如:如果站点入口使用"Amiga"数据库,系统将会看到这个配置并且在处理[[客户端]]请求是自动使用这个数据库。 换言之,eZ publish 会先读取默认的配置。然后,它会通过"site.ini"的全局重设("settings/override/site.ini.append.php")中的配置确定应该使用哪个站点入口。当它确定了应该使用哪个站点入口后,它会从站点入口中读取站点入口的配置文件。站点入口的配置会重设全局的配置。例如:如果站点入口使用"Amiga"数据库,系统会了解这个配置并且在处理客户端请求时自动使用这个数据库。 最后,eZ Publish 从全局重设目录中读取配置。全局重设配置会重设所有其它配置。换言之,如果全局重设配置中使用"CD32"数据库,eZ Publish 会尝试使用这个数据库而无论站点入口中使用的哪个数据库。如果一个配置既没有被站点入口重设也没有被全局重设,则默认配置会被使用。默认配置文件被保存在"settings"目录。下图演示了系统如何从"site.ini"文件中依次读取配置。如前所述,重设文件中的配置会重设默认设置。 [[Image:ezpublishZDGL2.jpg]] == 扩展站点入口配置 == 扩展站点入口配置允许在扩展中放置站点入口的配置文件。 目录结构必须按如下规则组织: extension/<my_extension>/settings/siteaccess/<my_siteaccess>/<file.ini.append.php> 示例: <pre> extension/ezno/settings/siteaccess/ezno/override.ini.append.php : <?php /* [article_full_ezno] Source=node/view/full.tpl MatchFile=article/full.tpl Match[class_identifier]=article Subdir=templates */ ?> </pre> 注意:除了[[debug]] 配置和include/activate 扩展配置,其余所有的配置都可以在扩展中配置。 == 访问方法 == eZ Publish 在每次处理一个客户端的请求时,会根据一套规则决定应该使用哪个站点入口。这些规则必须在"settings/override/site.ini.append.php"中设置。站点入口系统的行为由[SiteAccessSettings]中的"MatchOrder"配置决定。这个配置控制eZ Publish 如何解释客户端的请求。有三种可用的MatchOrder: #URI #Host(主机) #Port(端口) 以下的内容简单介绍了三种访问方法。注意,这些访问方法可以被组合使用。关于"MatchOrder"的文档说明了如何做到。 '''URI''' 这是"MatchOrder"的默认设置。当使用[[URI]] 访问方法时,目标站点入口的名称为URL 中"index.php"之后的第一个参数。例如:以下的URL 会告诉eZ Publish 使用"admin"站点入口:<nowiki>http://www.example.com/index.php/admin</nowiki>。如果还有一个"public"站点入口,可以用<nowiki>http://www.example.com/index.php/public</nowiki> 访问。如果URL 的最后一部分被省略,默认站点入口会被使用。默认站点入口在[SiteSettings]中的"DefaultAccess"配置。以下的示例演示了如何配置"settings/override/site.ini.append.php"来使用URI 访问方法并使用"public"作为默认站点入口: <pre> ... [SiteSettings] DefaultAccess=public [SiteAccessSettings] MatchOrder=uri ... </pre> URI 访问方法对于测试/演示很有用。此外,它非常容易因为不需要配置WEB 服务器和[[DNS]]。 '''Host''' [[Host]]([[主机]])访问方法允许把主机/[[域名]]组合[[映射]]到不同的站点入口。这中方法需要eZ Publish 以外的配置。首先,DNS 服务器必须被配置从而可以将需要的主机/域名组合解析到WEB 服务器的[[IP]] 地址。其次,WEB 服务器必须被配置以触发对应的虚拟主机配置(除非eZ Publish 被部署在主要的DocumentRoot)。请参阅安装条目中“[[EZ Publish/EZ Publish虚拟主机设置|EZ Publish虚拟主机设置]]”了解如何配置虚拟主机。DNS 服务器和WEB 服务器正确配置之后,eZ Publish 可以被配置来通过主机/域名组合来确定使用的站点入口。下例演示了如何配置"settings/override/site.ini.append.php"来启用Host 访问方法。此外,它也表明了Host 匹配机制的基本用法。 <pre> ... [SiteAccessSettings] MatchOrder=host HostMatchType=map HostMatchMapItems[]=www.example.com;public HostMatchMapItems[]=admin.example.com;admin ... </pre> 上例告诉eZ Publish 如果请求的URL 以"<nowiki>www.example.com</nowiki>"开头,就使用"publich"站点入口。换言之,"settings/siteaccess/public"下的配置文件会被使用。如果请求URL 以"admin.example.com"开头,则使用admin 站点入口。上例只演示了eZ Publish Host 匹配功能的一部分。请参阅参考文档了解全部关于HostMatchType 的配置。 '''Port''' [[Port]] 访问方法允许将不同端口映射到不同的站点入口。这种访问方法需要eZ Publish 之外的配置。WEB服务器比如被配置来监听在希望的[[端口]](默认情况下,WEB 服务器监听在80 端口,这是标准的HTTP端口)。此外,防火墙也很可能需要被配置从而允许客户端请求可以通过81 端口到达WEB 服务器。下例演示了如何配置"settings/override/site.ini.append.php"来使用Port 访问方法。它也演示了如何把不同的端口映射到不同的站点入口。 <pre> ... [SiteAccessSettings] MatchOrder=port [PortAccessSettings] 80=public 81=admin ... </pre> 上例告诉eZ Publish 如果请求被发送到80 端口,则使用"public"站点入口。换言之,"settings/siteaccess/public"下的配置文件会被使用。如果请求被发送到81 端口(通常在URL 后追加端口号,如:<nowiki>http://www.example.com:81</nowiki>),则admin 站点入口会被使用。 ==参考来源== *http://wenku.baidu.com/view/8cf795b665ce05087632138a.html *http://ez.no/eZPublish/New-Release [[category:EZ Publish|E]] {{EZ Publish}}
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:EZ Publish
(
编辑
)
模板:EZ Publish top
(
编辑
)