EZ Publish/EZ Publish手动安装

来自站长百科
跳转至: 导航、​ 搜索

EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他

手动安装

这种安装方法只适用于高级用户,因为它的技术要求极强,初次接触者建议还是使用“EZ Publish正常安装”来进行安装。 手动安装需要一个已经安装了WEB 服务器,数据库等必须软件的系统。需要下载并解压eZ Publish。与安装向导不同,所有的配置均通过系统的命令行完成。

系统需求[ ]

eZ Publish 需要五个软件系统:

web 服务器

  1. 服务器端PHP 脚本引擎
  2. eZ Components 库
  3. 数据库
  4. 图像处理系统(可选)

前四个系统在安装eZ Publish 之前就必须已经存在。图像处理系统是可选的并且只有在需要eZ Publish 动态处理图像时才需要。web 服务器与PHP 引擎必须运行在同一台服务器。数据库可以运行于不同的服 务器。目前,可以使用以下软件解决方案:

web 服务器

目前,只支持Apache 服务器。在Linux/UNIX 系统,推荐使用最新的2.x 版本,但是Apache 必须运行 于"prefock"模式,而不是"threaded"模式。因为某些PHP 库或扩展不是线程安全的。

windows 平台,建议使用最新的1.3 版本。(Apache2.x 在Windows 平台只支持"threaded"模式) Apache 是一款自由,开源软件,它是最广泛使用的web 服务器。可以从阿帕奇官网 下载。

  • 服务器端的PHP 脚本引擎

eZ Publish 主要使用PHP 脚本语言,PHP(hypertext preprocessor)服务器端引擎是必须的。确保已安装 PHP5.1.6 以上版本。建议使用最新的5.x 版本,因为eZ Publish 在更新的PHP 版本上运行得更快, 而且某些扩展(如:eZ Flow)需要PHP5.2 以上的版本。确保您的PHP 版本符合所有软件模块的需求。 PHP 是自由软件。可以从PHP官网 下载。

下表列出了需要编译的PHP 模块。

模块名称 简介
MySQLi(建议使用)或MySQL 需要,如果使用MySQL 数据库
PostgreSQL 需要,如果您使用PostgreSQL 数据库
Zlib 需要
DOM 需要
Session 需要
PCRE 需要
GD2 需要,如果ImageMagick 没有安装
CLI 建议
CURL 建议
mbstring 建议
Exif 建议

确保PHP 支持zlib,否则安装向导无法解压下载的软件包。

大多数情况下,PHP 支持DOM,因为PHP 内核已经包含了对DOM的支持。但是,某些Linux 发行版本的PHP 没有预编译对DOM的支持,需要安装一个称为"php-xml"的RPM包。这个RPM包会安装一个 共享模块来支持DOM。

  • PHP CLI

建议安装PHP CLI,否则您将无法使用某些系统特性如:通知,延迟的检索索引,升级脚本,协作系统,从命令行清除缓存,等等。

建议支持CURL,否则将无法使用某些系统特性如:通过代理服务器连接,eZSoap 的SSL 支持。

eZ Publish 的安装向导至少需要64MB 的内存。如果使用的是PHP5.2.0 或更早的版本,需要在"php.ini"中增加"memory_limit"的值。(修改之后,需要重启Apache 服务器)

然而,建议保留64MB 或更高的内存限制,因为eZ Publish 在运信某些任务(如:重建索引,执行升级脚本等)时会消耗很多内存。另外,多语言的站点也需要至少64MB 内存。

如果使用的是PHP5.2.1 或更新的版本,不需要修改"memory_limit"(系统默认值为128MB)。

  • PHP 时区

需要在"php.ini"中设置"date.timezone"。如果不指定时区,在用PHP5 运行eZ Publish 时,很有可能收到“依赖系统时区并不安全”之类的错误。PHP 时区配置示例:

 date.timezone = Asia/Shanghai

参考http://www.php.net/timezones 了解所有支持的时区代码。修改后,需要重启Apache 服务器。

  • eZ Components 库

eZ Publish 是一个面向对象应用程序。每一个类的定义保存在一个独立的PHP 源文件中。eZ Publish 4用__autoload()来装载所需要的类。eZ Publish 安装之后,所有eZ Publish 内核类文件的路径都被包含在"autoload/ezp_kernel.php"中。除此以外,"autoload/ezp_extension.php"将用来保留扩展中类定义文件的路径。这些路径很可能需要被修改(例如:如果安装了一个新的扩展或通过后台“设置-扩展”来配置现有的扩展)。需要安装 eZ Components 2007.1.1 或更高版本来支持对autoload path 的更新。特别需要注意的是,至少需要安装File 和Base 组件("ezcBase"与"ezcFile"),否则eZ Publish 无法更新autoload path。

eZ Components 是一套基于PHP 的企业级通用组件库,它可以单独或与其他库共同用于PHP 应用程序的开发。可以从http://ezcomponents.org/download 下载。将来,eZ Components 将与eZ Publish 绑定。参阅http://ezcomponents.org/docs/install 了解如何安装eZ Components。

数据库

  • eZ Publish 用数据库保存多种数据结构与数据。这意味着您的数据库必须一直可用。eZ Publish 默认支持

以下数据库:

  1. MySQL4.1 以上版本,5.x(推荐)
  2. PostgreSQL7.3 以上版本
  • 如果数据库与安装向导运行于同一台服务器,安装向导会自动检测数据库类型。eZ Publish 4 需要使用UTF-8 数据库。
  • eZ Publish 4 不支持基于PostgreSQL 的集群。集群代码针对使用InnoDB 存储引擎的MySQL 数据库性能做过专门的优化。
  • 如果不需要在集群环境运行eZ Publish,虽然InnoDB 不是必须的,但是仍推荐使用。
  • InnoDB 支持事务,因此可以在MySQL 数据库中使用事务安全型表(eZ Publish 默认支持数据库事务。这一特性能保证数据库的完整性不会被错误或异常中断的处理破坏)。
  • 如果希望使用PostgreSQL,确保"pgcrypto"模块已经安装。在Linux/UNIX 平台中,可能需要安装一个单独的软件包-"postgresql-contrib","pgcrypto"模块提供了用于PostgreSQL 的加密函数,包括"digest",后者是eZ Publish 需要的。在为eZ Publish 配置PostgreSQL 数据库的时候,需要在数据库中注册这些函数。

Oracle

eZ Publish Oracle® 扩展1.8 版本(http://ez.no/doc/extensions/database)将在eZ Publish 4.0.1 以上版本中支持Oracle 数据库。注意:之前的版本不能用于eZ Publish 4。

为了缩放,变换或修改图片,eZ Publish 需要调用图像处理系统。可以选择使用以下系统中的一种(均为自由软件):

  1. GD2 (由PHP 提供)
  2. ImageMagick (http://www.imagemagick.org)

Linux/UNIX 安装[ ]

确保系统满足手动安装的系统需求。确保系统运行于Linux/UNIX,并且已经安装ApachePHPMySQLPostgreSQL。如前所述,数据库可与WEB 服务器运行于不同服务器。手动安装需要以下几个步骤:

  1. 配置数据库(MySQL 或PostgreSQL)
  2. 下载eZ Publish
  3. 解缩eZ Publish
  4. 手动配置eZ Publish

手动安装与正常安装的不同只在于最后一步。手动安装通过手动配置若干文件来配置eZ Publish,而不启动安装向导。不同之处在手动配置一节中描述。

Windows 安装[ ]

确保系统满足手动安装的系统需求。确保系统运行于Windows,并且已经安装Apache,PHP,MySQL 或PostgreSQL。如前所述,数据库可与WEB 服务器运行于不同服务器。

手动安装需要以下几个步骤:

  1. 配置数据库(MySQL 或PostgreSQL)
  2. 下载eZ Publish
  3. 解缩eZ Publish
  4. 手动配置eZ Publish

手动安装与正常安装的不同只在于最后一步。手动安装通过手动配置若干文件来配置eZ Publish,而不启动安装向导。不同之处在手动配置一节中描述。

手动配置[ ]

以下步骤适用于Linux/UNIX 与Windows。

1、初始化数据库

2、可以通过导入两个重要的SQL 脚本("kernel_schema"和"cleandata")来初始化eZ Publish 数据库。

注意:运行这两个脚本之前,需要创建一个空数据库

3、第一个脚本创建必要的数据库结构,第二个脚本导入预定义的数据。

4、使用哪一个"kernel_schema"脚本取决于使用的数据库。"cleandata"脚本适用于 MySQL与PostgreSQL 数据库。

MySQL

用以下命令行执行MySQL 的"kernel_schema"脚本:

$ mysql -u USERNAME -pPASSWORD DATABASE < PATH/kernel/sql/mysql/kernel_schema.sql

这个脚本将使用InnoDB 存储引擎创建数据表。确保数据库的默认存储引擎也被设置为InnoDB,否则将来的系统升级将会造成混合的表类型。

使用以下脚本运行通用的"cleandata“脚本:

$ mysql -u USERNAME -pPASSWORD DATABASE < PATH/kernel/sql/common/cleandata.sql
USERNAME MySQL 用户名
PASSWORD MySQL 密码
DATABASE 数据库名
PATH

eZ Publish 的安装的绝对路径 例:/opt/ezp

文件权限

Windows 用户可以跳过这一步。如果eZ Publish 安装于Linux/UNIX 系统,某些文件的权限需要重新设置。

可以使用eZ Publish 自带的脚本来设置文件权限。这个脚本必须被执行,否则eZ Publish 无法正常运行。

这个脚本需要在eZ Publish 的安装目录中运行。

$ cd /opt/ezp
$ bin/modfix.sh

把"/opt/ezp"替换为您eZ Publish 安装目录的绝对路径。

"modifx"脚本递归地修改eZ Publish 安装目录中以下目录的权限:

 var/*
 settings/*
 design/*

如果知道WEB 服务器的用户与用户组,建议使用以下的权限: <pew>

  1. chown -R user.usergroup var/
  2. chmod -R 770 var/

"user.usergroup"必须被替换为WEB 服务器的用户与用户组。

配置eZ Publish

eZ Publish 目录中的"settings/override/site.ini.append.php"必须被修改,否则eZ Publish 不能正常运行。这个文件是site.ini 文件的一个全局的重设文件。这个文件中有很多选项需要配置(数据库,邮件发送系统,var 目录等等)。以下是一个通用的site.ini.append.php 示例:

<?php /* #?ini charset="iso-8859-1"?
[DatabaseSettings]
DatabaseImplementation=ezmysql
Server=localhost
User=root
Password=Database=my_database
[FileSettings]
VarDir=var/example
[Session]
SessionNameHandler=custom
[SiteSettings]
DefaultAccess=example
SiteList[]
SiteList[]=example
[SiteAccessSettings]
CheckValidity=false
AvailableSiteAccessList[]
AvailableSiteAccessList[]=example
AvailableSiteAccessList[]=example_admin
RelatedSiteAccessList[]
RelatedSiteAccessList[]=example
RelatedSiteAccessList[]=example_admin
MatchOrder=host;uri
# Host matching
HostMatchMapItems[]=www.example.com;example
HostMatchMapItems[]=admin.example.com;example_admin
[InformationCollectionSettings]
EmailReceiver=webmaster@example.com
[MailSettings]
Transport=sendmail
AdminEmail=webmaster@example.com
EmailSender=test@example.com
[RegionalSettings]
Locale=eng-GBContentObject
Locale=eng-GBText
Translation=disabled
*/ ?>

在上例中,"[SiteAccessSettings]"章节中的"AvailableSiteAccessList[]"数组定义了两个可用的站点入口:"example" 和"example_admin"。"CheckValidity"应设置为false,否则访问这个站点时安装向导会被触发。

除此以外,还需创建两个站点入口的配置文件。一个公共站点入口("example"),一个管理站点入口("examle_admin")。在eZ Publish 根目录下创建以下站点入口目录:

• settings/siteaccess/example

• settings/siteaccess/example_admin

两个站点入口都需要一个独立的"site.ini.append.php"文件。

公共站点入口

<?php /* #?ini charset="iso-8859-1"?
[SiteSettings]
SiteName=Example
SiteURL=www.example.com
LoginPage=embedded
[SiteAccessSettings]
RequireUserLogin=false
ShowHiddenNodes=false
[DesignSettings]
SiteDesign=example
[ContentSettings]
ViewCaching=disabled
[TemplateSettings]
TemplateCache=disabled
TemplateCompile=disabled
#ShowXHTMLCode=enabled
#Debug=enabled
[DebugSettings]
DebugOutput=enabled
Debug=inline
#DebugRedirection=enabled
[RegionalSettings]
SiteLanguageList[]
SiteLanguageList[]=eng-GB
ShowUntranslatedObjects=disabled
*/ ?>

管理站点入口

<?php /* #?ini charset="iso-8859-1"?
[SiteSettings]
SiteName=Example
SiteURL=admin.example.com
LoginPage=custom
[SiteAccessSettings]
RequireUserLogin=true
ShowHiddenNodes=true
[DesignSettings]
SiteDesign=admin
[ContentSettings]
CachedViewPreferences[full]=admin_navigation_content=0;admin_navigation_details=0;admin_navi
gation_languages=0;admin_navigation_locations=
0;admin_navigation_relations=0;admin_navigation_roles=0;admin_navigation_policies=0;admin_na
vigation_content=0;admin_navigation_translatio
ns=0;admin_children_viewmode=list;admin_list_limit=1;admin_edit_show_locations=0;admin_url_l
ist_limit=10;admin_url_view_limit=10;admin_sec
tion_list_limit=1;admin_orderlist_sortfield=user_name;admin_orderlist_sortorder=desc;admin_s
earch_stats_limit=1;admin_treemenu=1;admin_boo kmarkmenu=1;admin_left_menu_width=13
[DebugSettings]
DebugOutput=disabled
Debug=inline
[RegionalSettings]
SiteLanguageList[]
SiteLanguageList[]=eng-GB
ShowUntranslatedObjects=enabled
*/ ?>

注意: 在"settings/override/site.ini.append.php"中定义的数据库配置,邮件配置,区域配置与其它配置适用于所 有的站点入口。在本例中,"Database=my_database"在这个文件中的"[DatabaseSettings]“定义,因 此"example"与"example_admin"均会使用这个数据库。参阅“基本概念”中的“站点管理”与“配置” 两个章节了解更多内容。

Unicode 支持

不需要重设"i18n.ini"文件,因为eZ Publish 4 默认启用对unicode 的支持。

语言

可用语言与优先级可以通过修改每个站点入口中的"site.ini.append.php"中的"[RegionalSettings]"章节中 的"SiteLanguageList"配置来定义。如果不指定,系统会使用旧的"ContentObjectLocale“配置,因此只有默 认语言会被显示。参阅“配置站点语言”章节了解更多内容。

"cleandata.sql"脚本只创建一种英式英文(eng-GB)一种语言。 其它语言需要通过管理界面的“设置- 语言”来添加(在本例中:http://admin.example.com)。

动态树状菜单

如果站点有很多节点,建议为管理站点入口启用"Dynamic"选项。这会使管理界面左侧的树状 菜单速度更快并减少对网络带宽的消耗。

系统管理员的登录名与密码

"cleandata.sql"会创建以下的管理员登录名与密码。

登录名: admin

密码:publish

建议立即修改管理员的密码。

注意: 如果需要另外的管理员帐号,可以创建新的管理员帐号;用新帐号登录管理界面; 删除旧管理员帐号。

参考来源[ ]

EZ Publish使用手册导航

EZ Publish安装卸载

EZ Publish正常安装 | EZ Publish手动安装 | EZ Publish自动安装 | EZ Publish安装向导 | EZ Publish虚拟主机设置 | EZ Publish使用扩展 | EZ Publish的卸载

EZ Publish的使用

模板使用:

EZ Publish节点模板 | EZ Publish系统模板 | EZ Publish Pagelayout页头信息 | EZ Publish Pagelayout变量 | EZ Publish 模板注释 | EZ Publish 模板变量类型 | EZ Publish 模板变量用法 | EZ Publish 调查数组和对象 | EZ Publish 模板控制结构 | EZ Publish 函数与操作符 | EZ Publish URL处理 | EZ Publish 内容提取 | EZ Publish 模板重设系统
系统功能: EZ Publish 系统记帐 | EZ Publish 策略功能 | EZ Publish 多语言使用(一) | EZ Publish 多语言使用(二) | EZ Publish 集群的使用 | EZ Publish 安装包的使用 | EZ Publish Cronjob脚本的使用 | EZ Publish 多货币功能 | EZ Publish 通知功能
其他功能: EZ Publish 增值税(VAT)系统 | EZ Publish 改进的商品配送系统 | EZ Publish 多语言URL别名 | EZ Publish 登录后高级重定向 | EZ Publish 检索引擎 | EZ Publish WebDAV | EZ Publish 视图缓存

EZ Publish常见问题

EZ Publish 安装常见问题 | EZ Publish 使用常见问题

EZ Publish其他

EZ Publish内部结构 | EZ Publish内容与界面 | EZ Publish内容管理(一) | EZ Publish内容管理(二) | EZ Publish配置模型 | EZ Publish模块与视图 | EZ Publish URL 翻译 | EZ Publish 界面 | EZ Publish访问控制 | EZ Publish网络商店 | EZ Publish工作流