本文介绍了如何在Web服务器上手动安装X2Engine。如果这是您第一次使用Web服务器,建议您首先尝试通过自动全栈安装程序进行安装,该安装程序将为您设置一个独立的Web服务器环境。有关下载链接,请参见Bitnami的X2Engine堆栈安装程序。
安装前
在安装X2Engine之前,您首先应确保
- 您有一个网络服务器
- 您了解安装PHP Web应用程序的基础知识
- 您的托管环境已正确配置并符合所有最低要求
必修知识
安装X2Engine要求您能够执行以下任务(并具有如何执行它们的基本知识):
- 通过托管文件管理器,FTP / SFTP或其他方式将文件上传到Web服务器
- 创建MySQL数据库和数据库用户(如果尚不可用)
- 使用Web浏览器,并知道要使用什么URL访问服务器上的位置
如果不确定如何执行这些操作,请在X2Engine论坛上寻求帮助。
系统要求
您可以通过下载需求检查脚本(链接:requirements.php),将其上载到Web服务器并在Web浏览器中打开它来快速确定Web服务器是否可以运行X2Engine 。使用完脚本后,将其删除。它显示有关服务器的PHP配置的详细信息。无限期公开展示可能会带来安全风险;对攻击者可能有用。通常,以下是安装的绝对最低要求:
- 可以执行PHP的Web服务器。
- 受密码保护的MySQL数据库服务器连接,以及该连接的用户拥有所有权限(即选择,删除,创建和更新)的数据库。
- PHP版本5.3-5.6(将在X2CRM 5.4.4中引入PHP 7支持)
- PHP必须以拥有将要安装X2Engine的目录的同一系统用户身份运行。
如果没有达到要求
目录所有权
如果您正在运行专用的Web服务器和/或具有管理访问权限,请参阅准备Web服务器。
这是一个托管环境配置错误,其中上载到服务器的文件由与PHP执行用户不同的系统用户拥有。这是一个易于使用的问题,许多共享托管服务提供商仍然没有正确使用。在大多数情况下,可以通过使用主机控制面板将PHP网关接口(即从SuPHP更改为FCGI)来解决(要更正CPanel中的此问题,请参见Apache PHP请求处理)。
您还应该使用一种将文件上传到服务器的方法,使文件具有与“域所有者”相同的所有权(大多数共享主机提供商使用此术语)。众所周知,FTP服务在这方面会失败,而托管控制面板中可用的基于Web的文件管理器通常更加一致。上载具有适当所有权的文件将完全避免文件许可和所有权问题。
无论如何,请参考托管服务提供商的文档。如果更改PHP执行模式的选项似乎不可用,请与主机提供商的系统管理员或客户服务部门联系。如果他们没有给您满意的答案,请考虑切换到更好的Web主机。
PHP版本
在某些情况下,可以使用Apache覆盖启用PHP 5.3+ ;看到
通过将适当的指令添加到X2Engine的Web根目录中的.htaccess文件中(不要替换该文件,而是对其进行更改),可以理想地设置PHP版本。您可以通过重新访问需求检查器脚本并验证所使用的PHP版本为5.3或更高版本来测试此方法是否成功。
在其他情况下,可以通过网络托管控制界面(即CPanel或Webmin)启用更高版本的PHP。否则,唯一的选择是与托管提供商联系,并要求提供5.3版。
PHP扩展
如果服务器不满足运行X2Engine的最低系统要求,并且您是服务器的系统管理员,则可以安装必要的模块。但是请注意,从最新版本开始,MySQL PDO扩展名是X2Engine使用的唯一扩展名,默认情况下不包括该扩展名,并且始终在PHP 5.3中启用。如果PHP的版本是5.3或更高版本,则反射类和扩展SPL,PCRE和Ctype应该都可用。
在大多数Linux发行版中,可以通过发行版的默认Package Management System轻松安装PHP扩展。这是推荐的安装方法。在大多数情况下,程序包管理器将自动配置并重新加载HTTP服务器以启用它们。
在Ubuntu和Debian上:扩展mbstring通常将包含在Apache模块软件包中。
sudo apt-get install php5-mysql php5-curl
在CentOS(6+)上,mbstring扩展名必须与其他缺少的模块分开安装:
sudo yum install php-pdo php-mbstring php-common curl
没有所有要求的安装:无效的内容
自2013年3月26日起,该部分已过时。除了说明每个遗漏的需求哪些功能不可用/损坏之外,每个遗漏需求的严重性已直接写入需求检查脚本中,并应显示在此处。因此,尽管上次维护的列表出于存档/演示目的保留在此处,但不再需要在此处列出它们。
如果您的服务器环境不满足最低系统要求,并且无法添加PHP扩展,则仍然可以安装X2Engine,尽管不建议这样做。请注意可能发生以下问题:
Deficiency | Severity | Problems/Notes |
---|---|---|
IMAP extension missing | Minor | 电子邮件管理器依赖于IMAP扩展 |
Zip extension missing | Minor | 无法导入或导出自定义模块 |
cURL extension missing | Minor | 1.Google整合无效 2.时区小部件不起作用 3.联系人视图可能无法访问 4.无法使用进行API调用的本地脚本 5.无法使用内置错误报告器 |
allow_url_fopen set to “No”/0 in PHP configuration | Major | 无法使用内置的更新实用程序接收软件更新,也无法从应用程序内接收新软件版本的通知。 |
Directory ownership mismatch | Major | 除非将所有文件和目录的权限设置为允许任何系统用户读取/写入 (不推荐),否则应用程序将无法更新并且无法运行。 该应用程序使用基于文件的缓存,并在软件更新期间创建文件和文件夹,这两者都需要对文件系统的写访问权。 |
json extension missing | Major | 许多组件和功能将无法使用; 整个应用程序使用json_encode函数 |
PHP version earlier than 5.3 | Fatal | 众多致命错误,包括阻碍安装的错误 |
mbstring extension missing | Fatal | 应用程序在登录时因“无效的Unicode序列”错误而崩溃。 |
pdo_mysql extension missing | Fatal | 应用程序无法运行;没有数据库连接是可能的。这是Yii Framework的要求。 |
Any other PHP extensions listed as required but missing | Fatal | 应用程序无法运行(Yii的要求) |
Outdated PCRE library version | Fatal | 应用程序无法运行。URL规则中使用的正则表达式需要“?J”组类型,该类型已在7.4版(2007年9月21日)中添加到PCRE中 |
绝对不需要托管环境的以下属性。但是,它们与X2Engine最常在其上开发和测试的主要服务器相同,因此最有可能永远不会引起问题:
- PHP 5.3.10及更高版本
- MySQL 5.5
- 启用了mod_rewrite的Apache 2.2 。
- Ubuntu 12.04 LTS,CentOS 6.3或Amazon Linux
如果只有Windows可用,则建议使用WampServer提供的环境,尤其是对于开发。
使用安装页面
基于浏览器的安装通常如下进行:
- 确保可从Web服务器获得MySQL数据库和对该数据库具有完全权限的数据库用户。
- 将x2engine文件夹的内容上载到Web服务器的文档根目录,如果需要,则上载到子目录。
- 导航到文件夹内容上载到的Webroot(或子目录)。
- 填写安装表格。请注意以下几点:
- 如果未选中“创建样本数据”,安装程序将在虚拟安装中插入虚拟联系方式,用户,帐户和操作记录,以进行测试。如果不需要,请取消选中该框。
- 您可以先使用“测试连接”按钮测试数据库连接而不会丢失安装表单。强烈建议在单击安装按钮之前执行此操作。
使用命令行安装程序
可以通过SSH或其他方式从命令行安装X2Engine。如下执行:
- Web应用程序的根目录中有一个名为installConfig.php的脚本。用安装页面表单将提交的相同信息填充它。如果要安装商业版本的X2Engine,请用产品密钥填充变量$ unique_id。
- 将目录更改为Web应用程序的根文件夹。
- RUN:
php initialize.php silent
installConfig.php中的配置变量如下:
- 主办 : (MySQL)数据库主机名
- DB: 数据库名称
- 用户名 : 数据库用户名
- 密码:数据库密码
- 应用程式:在整个应用程序的不同位置显示的应用程序名称(即“ Company X CRM”)。
- 货币:报价和商业机会中使用的货币的3个字母的代码。当前支持的货币包括:USD,EUR,GBP,CAD,JPY,CNY,CHF,INR和BRL。
- 语言:应用程序的语言。
- 时区:它必须是有效的时区别名。有关更多信息,请参见支持的时区列表。
- 管理员电子邮件:应用程序所有者的电子邮件地址
- 管理员密码:管理员的应用密码
- 管理员用户名:管理员的用户名
- dummyData(演示数据):是否出于评估目的在安装中包括样本数据
- webLeadUrlWeb应用程序的基本URL。
- 唯一身份:产品密钥(如果安装商业版)。在开源版本中,可以将其简单地保留为“无”。如果在Open Source Edition中为“ none”,则用户需要通过转到管理索引中“系统设置”部分的“更新程序设置”来单独启用软件更新。
- visibleModules初始模块可见性设置;在CRM顶部的菜单中显示的逗号分隔的模块列表。
- test_db:如果构建单元/功能测试环境,请将其设置为1(请参阅测试驱动的开发:准备测试数据库)
- test_url:如果安装测试环境,则将使用Web测试使用的“ index-test.php”条目脚本的URL。
- installType:向更新服务器报告的安装类型。此设置用于内部报告/统计目的,应保持原样。