EZ Publish/EZ Publish正常安装
EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他 |
安装综述[ ]
通常情况下可以通过三种方式安装eZ Publish:
- 标准安装
- 手动安装
- 自动安装
正常安装
正常安装是最常用也是最推荐使用的方式。标准安装需要标准的系统环境,主要包括web 服务器与数据 库。需要下载并解压eZ Publish,并通过安装向导来安装。
手动安装
这种安装方式适合于有经验的用户,并不需要借助安装向导的协助。这种安装方式需要一个已经安装了 web 服务器和数据库的系统;需要下载并解压eZ Publish。之后需要手动修改若干配置文件与数据库。
自动安装
这种安装方式(也被称为启动)适合于有经验的用户。系统管理员可以制作预配置的eZ Publish 安装来 减少对安装向导的依赖,从而节省系统安装的时间。它需要一个正确配置的系统,主要包括web 服务器 语数据库。需要下载并解压eZ Publish。与标准安装不同,安装过程中需要用户输入的变量可以在配置 文件中预配置。
正常安装[ ]
正常安装是最常用也是最推荐使用的方式。标准安装需要标准的系统环境,主要包括web 服务器与数据 库。典型的正常安装包括以下几个步骤:
• 配置/创建一个数据库
• 下载eZ Publish 安装包
• 解压eZ Publish 安装包
• 通过安装向导安装
系统需求[ ]
eZ Publish 需要五个软件系统:
web 服务器
- 服务器端PHP 脚本引擎
- eZ Components 库
- 数据库
- 图像处理系统(可选)
前四个系统在安装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 支持。
- PHP 内存限制
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 默认支持
以下数据库:
- MySQL4.1 以上版本,5.x(推荐)
- 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 数据库的时候,需要在数据库中注册这些函数。
eZ Publish Oracle® 扩展1.8 版本(http://ez.no/doc/extensions/database)将在eZ Publish 4.0.1 以上版本中支持Oracle 数据库。注意:之前的版本不能用于eZ Publish 4。
为了缩放,变换或修改图片,eZ Publish 需要调用图像处理系统。可以选择使用以下系统中的一种(均为自由软件):
- GD2 (由PHP 提供)
- ImageMagick (http://www.imagemagick.org)
Linux/UNIX 安装[ ]
- 系统必须符合正常安装的需求。确保系统运行于Linux,并且已经安装了Apache,PHP,MySQL 或PostgreSQL。如前所述,数据库可以与WEB 服务器运行于不同的服务器上。
Linux/UNIX 安装包括以下几个步骤:
1. 配置数据库(MySQL 或PostgreSQL)
2. 下载eZ Publish
3. 解压eZ Publish
4. 启动安装向导
- 配置数据库
运行安装向导之前,必须创建一个数据库。参考以下内容创建MySQL 或PostgreSQL 数据库。
MySQL
1. 以root(或其他具有CREATE,CREATE USER 与GRANT OPTION 权限的用户)身份登录
$ mysql --host=<mysql_host> --port=<port> -u <mysql_user> -p<mysql_password>
注意:如果MySQL 安装在同一台服务器,"—host"参数可以省略。如果"--port"参数省略,MySQL 默认端口为3306。
MySQL 客户端会显示"mysql>"提示符。
2. 创建一个数据库
mysql> CREATE DATABASE <database> CHARACTER SET utf8;
3. 设置权限
mysql> GRANT ALL ON <database>.* TO <user>@<ezp_host> IDENTIFIED BY '<password>';
注意:如果用户帐号不存在,新用户会被创建。
<mysql_host> | MySQL 主机名或IP 地址 |
<port> | MySQL 端口 默认端口3306 |
<mysql_user> | MySQL 用户名(如果没有其他用户,使用root) |
<mysql_password> | <mysql_user>的密码 |
<database> | 数据库名称 |
<user> | 使用<database>的用户 |
<ezp_host> | 运行eZ Publish 的主机明(如果运行于本机,则使用localhost) |
<password> | <user>的密码 |
PostgreSQL
1. 以postgres(或其他具有创建角色与数据库的用户)用户登录系统:
$ psql -h <psql_host> -p <port> -U <psql_user> -W
注意:如果PostgreSQL 安装在同一台服务器,"-h"参数可以省略。如果"-p"参数省略,默认的PostgreSQL 端口 为5432。
PostgreSQL 客户端会要求您输入<psql_user>的密码。如果密码正确,客户端会显示"<psql_user>=#"提示 符。
2. 创建数据库
postgres=# CREATE DATABASE <database> ENCODING='utf8';
3. 创建用户
postgres=# CREATE USER <user> PASSWORD '<password>';
4. 设置权限
postgres=# GRANT ALL PRIVILEGES ON DATABASE <database> TO <user>;
5. 导入"pgcrypto"模块
postgres=# \c <database> <database>=# \i '<path_to_pgcrypto>'
<psql_host> | PostgreSQL 主机名 |
<port> | PostgreSQL 端口 |
<psql_user> | PostgreSQL 用户名(默认用户"postgresql") |
<database> | 数据库名,例如:"my_new_database" |
<user> | <database>的用户明 |
<password> | <user>的密码 |
<path_to_pgcrypto> | "pgcrypto.sql"的位置,例如"/usr/share/pgsql/contrib/pgcrypto.sql" |
下载eZ Publish
- 从http://ez.no/download/ez_publish 下载最新的稳定版本。
- 解压eZ Publish
解压缩下载的eZ Publish 至WEB 服务器目录(可以通过浏览器访问的目录)。以下的命 令行可用tar 解压tar.gz 文件,假定系统已安装了"tar"和"gzip"命令。
$ tar zxvf ezpublish-<version_number>-gpl.tar.gz -C <web_served_directory>
<version_number> | eZ Publish 版本好。 |
<web_served_directory> | WEB 服务器目录的全路径。这可以是WEB 服务器的"document root",或某个个人目录(通常为"public_html"或"www",并位于用户的主目录)。 |
解压工具会把eZ Publish 解压缩至一个子目录"ezpublish-<version_number>"。可以任意重命名这个目录,如"my_site"。
- 启动安装向导
以上步骤完成之后即可以在浏览器中启动安装向导。首次访问eZ Publish 解压缩目录内的index.php 时安装向导会自动启动。假设用"www.example.com"这个域名,并且我们将eZ Publish 解压缩后的目录重命名为"my_site"。
- Document root 示例
如果eZ Publish 被解压缩至document root 下的子目录"my_site",可以通过访问http://www.example.com/my_site/index.php 启动安装向导。
- Home directory 示例
如果eZ Publish 被解压缩至某个用户(如"peter")主目录下的某个WEB 服务器目录(通常为"public_html","www","http","html",或"web")。 可以通过访问http://www.example.com/~peter/my_site/index.php 启动安装向导。