Installation - Requirements

From Zen Cart(tm) Wiki
(Redirected from Installation:Requirements)
Jump to: navigation, search

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.