Difference between revisions of "Installation - Requirements"

From Zen Cart(tm) Wiki
Jump to: navigation, search
m
 
Line 1: Line 1:
== Requirements ==
+
= Zen Cart specifications - Server Requirements =
===Zen Cart v1.3.x (v1.3.x is now officially no longer supported) ===
 
The '''minimum''' suggested server requirements for running Zen Cart® v1.3.x are:
 
  
* PHP 4.3.2 or higher  (see compatibility list below)
+
''(Last updated: Nov 1, 2013)''
  
* Apache 1.3.x
+
== Minimum server requirements: ==
 +
 +
* Zen Cart operates on a standard "LAMP" stack: PHP, Apache, MySQL on most operating systems (Linux/MacOS/Windows)
 +
* See the detailed Minimum Requirements in the sections below.
 +
* Keep in mind that for security compliance, you should always use a PCI Compliant version of each of these required software components. (That means using a ZC version that's compatible with those software component versions, too!)
  
* MySQL 3.2x or higher
 
  
* Register Globals may be on or off
+
=== SSL, OpenSSL, CURL ===
  
* PHP Safe_Mode = '''off''' (recommended)
+
* Many shipping and payment modules require CURL to be installed/compiled with PHP and OpenSSL. If this capability is not available, a message to that effect will be displayed during the initial installation's system-inspection, however it will still allow installation anyway. It is up to you to enable these features if your site uses features that require them.
 +
* NOTE: Use of HTTPS (ie: SSL) is highly recommended for the purpose of protecting the data you collect about your customers, and their payments. In fact, some payment modules require SSL in order to work, and using them without SSL is typically a violation of your TOS with your merchant bank and PCI compliance.
  
  
===Zen Cart v1.5.x===
+
=== PHP Version ===
The '''minimum''' server requirements for running Zen Cart® v1.5.x are:
 
  
* PHP 5.2.14 or higher, or PHP 5.3.5 or higher 5.3.x version. Specifically, you should be using the latest PCI Compliant version as per PCI Standards.
+
* Zen Cart v1.2.x through v1.3.6 are compatible with PHP 4.3.2 - 4.4.x. They are NOT compatible with PHP 5.
 +
* Zen Cart v1.3.7-v1.3.8a are compatible with PHP 4.3.2 through PHP 5.2.x, but *not* PHP 5.3.
 +
* Zen Cart v1.3.9 series is compatible with PHP 5.2.10 thru PHP 5.3.x.
 +
* Zen Cart v1.5.0 is compatible with PHP 5.2.14 thru PHP 5.3.x. Requires patches to work with PHP 5.4, and upgrading is a better idea.
 +
* Zen Cart v1.5.1 is compatible with PHP 5.2.14 thru PHP 5.3.x. Requires some patches to work with PHP 5.4.
 +
* Zen Cart v1.5.2 is compatible with PHP 5.2.14 thru PHP 5.5
 +
* Zen Cart v1.6.0 is compatible with PHP 5.3.5 thru PHP 5.5
 +
* Zen Cart v2.0 (under development) will be compatible with PHP 5.4 thru PHP 5.5 (with plans to support future PHP versions)
  
* Apache 2.x or newer (Specifically the latest PCI Compliant version)
 
  
* MySQL 5 or higher (again, use a PCI Compliant version)  (will work with MySQL 4.1.3)
+
; Note about PHP4:
 +
NOTE: PHP 4.x is NO LONGER SUPPORTED by the PHP authors, and is largely deemed insecure by PCI standards. IT IS NOT RECOMMENDED TO USE PHP 4.x ON ANY LIVE SERVER.
 +
* Register Globals may be on or off, with "off" being the recommended configuration for security reasons
 +
* safe_mode off recommended, also for security reasons
  
* Keeping these components up-to-date is recommended for PCI Compliance and general overall security reasons.
 
  
 +
=== MySQL Version ===
  
== PHP Note ==
+
* Zen Cart v1.3.9 and v1.5.x are compatible with MySQL 4 and 5
While the following are deprecated (obsolete) since PHP 5.4, if you're using PHP 5.3 or older, you should have them set to off:
+
* Zen Cart v1.6.x expects MySQL 5 (but will probably still work with MySQL 4.1.3)
 +
* Zen Cart v2.0 has been written with MySQL 5.1+ compatibility in mind.
  
* Register Globals off
+
Plugin/Addon-compatibility may vary.
  
* PHP Safe_Mode = off
+
'''Older versions of Zen Cart:'''
 +
MySQL 5 is not officially supported by Zen Cart v1.3.7 and lower.
 +
Many addons for v1.2.x and v1.3.x are not properly written to MySQL 5 standards, and as such may require alterations if you choose to use them.
 +
Using the latest version of Zen Cart is always recommended for maximum compatibility.
  
  
 +
=== Apache ===
  
==Caveats==
+
* Zen Cart works primarily with Apache 2.x.
 +
* It is not regularly directly tested on other webserver engines.
 +
* The default distribution contains numerous .htaccess rules to aid in implementing security protections against malicious spoofing and other abuse. If you use a webserver engine other than Apache (such as perhaps nginx or IIS), you will need to manually recreate those same protections in whatever alternate security tools exist in your webserver software, or forego the benefits offered by them, and this would affect your PCI compliance.
 +
 
 +
 
 +
 
 +
 
 +
===Caveats===
 
; CURL : Many shipping and payment modules require [http://curl.haxx.se/ CURL] to be installed and compiled into PHP, along with OpenSSL support.
 
; CURL : Many shipping and payment modules require [http://curl.haxx.se/ CURL] to be installed and compiled into PHP, along with OpenSSL support.
 
; SSL & HTTPS : Support for HTTPS may be required depending on the payment methods being accepted. The use of SSL during account creation and checkout is recommended. Once SSL is configured and enabled in your store, Zen Cart® will automatically activate it on screens related to Login, My Account and Checkout.
 
; SSL & HTTPS : Support for HTTPS may be required depending on the payment methods being accepted. The use of SSL during account creation and checkout is recommended. Once SSL is configured and enabled in your store, Zen Cart® will automatically activate it on screens related to Login, My Account and Checkout.
Line 41: Line 63:
 
; MySQL 4.1.x and PHP4 : This combination is not recommended. MySQL 4.1.x uses an encryption scheme that is not 100% supported by PHP4 on older servers, so may not work with Zen Cart® unless your host has upgraded their support for compatibility between the two systems.
 
; MySQL 4.1.x and PHP4 : This combination is not recommended. MySQL 4.1.x uses an encryption scheme that is not 100% supported by PHP4 on older servers, so may not work with Zen Cart® unless your host has upgraded their support for compatibility between the two systems.
 
; MySQL 5 :MySQL 5 has some tighter constraints on various SQL statement constructs.  Zen Cart® v1.2.x does not work in a MySQL5 environment. Zen Cart® v1.3.9, and newer, works fine with MySQL5.
 
; MySQL 5 :MySQL 5 has some tighter constraints on various SQL statement constructs.  Zen Cart® v1.2.x does not work in a MySQL5 environment. Zen Cart® v1.3.9, and newer, works fine with MySQL5.
 
 
==PHP Version Compatibility==
 
; PHP4 : Zen Cart® v1.3.x+ with a PHP version lower than 4.3.2 will result in problems with maintaining sessions. Zen Cart v1.5.0 and newer will NOT work on PHP4.
 
; Zen Cart® v1.3.7 and older: Works only on PHP4
 
; Zen Cart® v1.3.8 : Best to use PHP 4, but can go as high as PHP 5.2.x.
 
; Zen Cart® v1.3.9 : Can use PHP4 but PHP5 is recommended. Use PHP 5.2.3 or newer, or PHP 5.3.2 or newer 5.3.x.  PHP 5.4 not supported.
 
; Zen Cart® v1.5.0 : Use PHP 5.2.14 or newer, or PHP 5.3.5 or newer 5.3.x; DO NOT USE older than PHP 5.2.3 (no PHP4)
 
; Zen Cart® v1.5.1 : Use PHP 5.2.14 or newer 5.2.x, or PHP 5.3.5 or newer 5.3.x.
 
; Zen Cart® v1.6.0 : Use PHP 5.3.x (minimum 5.3.5) or PHP 5.4.x.
 

Latest revision as of 22:03, 1 November 2013

Zen Cart specifications - Server Requirements

(Last updated: Nov 1, 2013)

Minimum server requirements:

  • Zen Cart operates on a standard "LAMP" stack: PHP, Apache, MySQL on most operating systems (Linux/MacOS/Windows)
  • See the detailed Minimum Requirements in the sections below.
  • Keep in mind that for security compliance, you should always use a PCI Compliant version of each of these required software components. (That means using a ZC version that's compatible with those software component versions, too!)


SSL, OpenSSL, CURL

  • Many shipping and payment modules require CURL to be installed/compiled with PHP and OpenSSL. If this capability is not available, a message to that effect will be displayed during the initial installation's system-inspection, however it will still allow installation anyway. It is up to you to enable these features if your site uses features that require them.
  • NOTE: Use of HTTPS (ie: SSL) is highly recommended for the purpose of protecting the data you collect about your customers, and their payments. In fact, some payment modules require SSL in order to work, and using them without SSL is typically a violation of your TOS with your merchant bank and PCI compliance.


PHP Version

  • Zen Cart v1.2.x through v1.3.6 are compatible with PHP 4.3.2 - 4.4.x. They are NOT compatible with PHP 5.
  • Zen Cart v1.3.7-v1.3.8a are compatible with PHP 4.3.2 through PHP 5.2.x, but *not* PHP 5.3.
  • Zen Cart v1.3.9 series is compatible with PHP 5.2.10 thru PHP 5.3.x.
  • Zen Cart v1.5.0 is compatible with PHP 5.2.14 thru PHP 5.3.x. Requires patches to work with PHP 5.4, and upgrading is a better idea.
  • Zen Cart v1.5.1 is compatible with PHP 5.2.14 thru PHP 5.3.x. Requires some patches to work with PHP 5.4.
  • Zen Cart v1.5.2 is compatible with PHP 5.2.14 thru PHP 5.5
  • Zen Cart v1.6.0 is compatible with PHP 5.3.5 thru PHP 5.5
  • Zen Cart v2.0 (under development) will be compatible with PHP 5.4 thru PHP 5.5 (with plans to support future PHP versions)


Note about PHP4

NOTE: PHP 4.x is NO LONGER SUPPORTED by the PHP authors, and is largely deemed insecure by PCI standards. IT IS NOT RECOMMENDED TO USE PHP 4.x ON ANY LIVE SERVER.

  • Register Globals may be on or off, with "off" being the recommended configuration for security reasons
  • safe_mode off recommended, also for security reasons


MySQL Version

  • Zen Cart v1.3.9 and v1.5.x are compatible with MySQL 4 and 5
  • Zen Cart v1.6.x expects MySQL 5 (but will probably still work with MySQL 4.1.3)
  • Zen Cart v2.0 has been written with MySQL 5.1+ compatibility in mind.

Plugin/Addon-compatibility may vary.

Older versions of Zen Cart: MySQL 5 is not officially supported by Zen Cart v1.3.7 and lower. Many addons for v1.2.x and v1.3.x are not properly written to MySQL 5 standards, and as such may require alterations if you choose to use them. Using the latest version of Zen Cart is always recommended for maximum compatibility.


Apache

  • Zen Cart works primarily with Apache 2.x.
  • It is not regularly directly tested on other webserver engines.
  • The default distribution contains numerous .htaccess rules to aid in implementing security protections against malicious spoofing and other abuse. If you use a webserver engine other than Apache (such as perhaps nginx or IIS), you will need to manually recreate those same protections in whatever alternate security tools exist in your webserver software, or forego the benefits offered by them, and this would affect your PCI compliance.



Caveats

CURL 
Many shipping and payment modules require CURL to be installed and compiled into PHP, along with OpenSSL support.
SSL & HTTPS 
Support for HTTPS may be required depending on the payment methods being accepted. The use of SSL during account creation and checkout is recommended. Once SSL is configured and enabled in your store, Zen Cart® will automatically activate it on screens related to Login, My Account and Checkout.
PHP as CGI 
If you are running on a Unix/Linux host with PHP running as CGI, you may have some difficulties. In Linux, unless your host is skilled at configuring PHP in "suPHP" mode, it is recommended to use PHP as an Apache module, not as a CGI app, unless you have server-level control of configuring the CGI options and advanced knowledge of tuning the server to function optimally.
MySQL 4.1.x and PHP4 
This combination is not recommended. MySQL 4.1.x uses an encryption scheme that is not 100% supported by PHP4 on older servers, so may not work with Zen Cart® unless your host has upgraded their support for compatibility between the two systems.
MySQL 5 
MySQL 5 has some tighter constraints on various SQL statement constructs. Zen Cart® v1.2.x does not work in a MySQL5 environment. Zen Cart® v1.3.9, and newer, works fine with MySQL5.