Difference between revisions of "X-Cart:Server Requirements (X-Cart 4.4)"

From X-Cart 4 Classic
Jump to: navigation, search
 
(15 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
==  Operating system ==
 
==  Operating system ==
  
[[Image:Logos.gif|626px]]
+
[[Image:OS_logos.png]]
  
 
== Hardware ==
 
== Hardware ==
  
Hardware required to achieve a good X-Cart performance depends on many factors, however the most important are '''Catalog size''' and '''Number of visitors'''. The table below provides recommended hardware specifications.
+
Hardware required to achieve a good X-Cart performance depends on many factors, however the most important are '''Catalog size''' and '''Traffic'''. The table below provides recommended hardware specifications.
  
 
{| class="wikitable" border="1" width="640"
 
{| class="wikitable" border="1" width="640"
!
+
!
!colspan="4"|Customers
+
!colspan="4"|Traffic
 
|-
 
|-
! Catalog size || up to 100 visitors/day || up to 5,000 visitors/day || up to 50,000 visitors/day
+
! Catalog size || up to 100 visitors/day || up to 5,000 visitors/day || up to 15,000 visitors/day
 
|-
 
|-
| 100 SKUs
+
| '''100 SKUs'''
 
| a good shared/cloud hosting
 
| a good shared/cloud hosting
|  
+
|
 
VPS / Dedicated server
 
VPS / Dedicated server
 
* Dual-core CPU
 
* Dual-core CPU
Line 27: Line 27:
 
* 500 Mbps connection
 
* 500 Mbps connection
 
|-
 
|-
| 5,000 SKUs
+
| '''5,000 SKUs'''
 
| a good shared/cloud hosting
 
| a good shared/cloud hosting
|  
+
|
 
VPS / Dedicated server
 
VPS / Dedicated server
 
* Dual-core CPU
 
* Dual-core CPU
Line 40: Line 40:
 
* 500 Mbps connection
 
* 500 Mbps connection
 
|-
 
|-
| 50,000 SKUs
+
| '''50,000 SKUs'''
|  
+
|
 
VPS hosting
 
VPS hosting
 
* Dual-core CPU
 
* Dual-core CPU
* RAM 512 GB
+
* RAM 2 GB
 
* 100 Mbps connection
 
* 100 Mbps connection
|  
+
|
 
Dedicated server
 
Dedicated server
 
* Dual-core CPU
 
* Dual-core CPU
Line 58: Line 58:
 
|}
 
|}
  
 +
See also:
 +
* [[X-Cart:Performance_tips | X-Cart:Performance tips]]
 +
 +
==PHP configuration==
  
* ==PHP configuration==
+
'''PHP version'''
  
* '''PHP version'''
+
Version 4.4.0 - 5.x.
  
* Version 4.3.0 - 5.x.
+
{{Note1|PHP5 support is recommended but not required.}}
  
* {{Note1|PHP5 support is recommended but not required.}}
+
'''php.ini settings'''
  
* '''php.ini settings'''
+
required values:
  
* required values:
+
: <u>safe_mode = off</u>
  
*: <u>safe_mode = off</u>
+
: <u>file_uploads = on</u>
  
*: <u>file_uploads = on</u>
+
: <u>magic_quotes_sybase = off</u>
  
*: <u>magic_quotes_sybase = off</u>
+
: <u>sql.safe_mode = off</u>
  
*: <u>sql.safe_mode = off</u>
+
: <u>allow_url_fopen = on</u>
  
*: <u>allow_url_fopen = on</u>
+
: <u>ini_set = on</u>
  
*: <u>ini_set = on</u>
+
: <u>memory_limit >= 32M</u>
  
*: <u>memory_limit >= 32M</u>
+
recommended values:
  
* recommended values:
+
: <u>disable_functions = NULL</u>
  
*: <u>disable_functions = NULL</u>
+
: <u>post_max_size >= 2M</u>
  
*: <u>post_max_size >= 2M</u>
+
: <u>upload_max_filesize >= 2M</u>
  
*: <u>upload_max_filesize >= 2M</u>
+
: <u>max_execution_time >= 30</u>
  
*: <u>max_execution_time >= 30</u>
+
: <u>memory_limit >= 64M</u>
  
*: <u>memory_limit >= 64M</u>
+
: <u>max_input_time >= 30</u>
  
*: <u>max_input_time >= 30</u>
+
: <u>sendmail_from = ...@domain.com (an email address, from which sending mail is allowed)</u>
  
*: <u>sendmail_from = ...@domain.com (an email address, from which sending mail is allowed)</u>
+
'''PHP extensions'''
  
* '''PHP extensions'''
+
required:
  
* required:
+
:* <u>PCRE</u>
  
*:* <u>PCRE</u>
+
:* <u>MySQL</u>
  
*:* <u>MySQL</u>
+
:* if using PHP4, [https://php.net/manual/en/book.iconv.php iconv] must be enabled
  
*:* if using PHP4, [http://php.net/manual/en/book.iconv.php iconv] must be enabled
+
recommended:
  
* recommended:
+
:* FTP - to be able to upload files to GoogleBase
  
*:* FTP - to be able to upload files to GoogleBase
+
:* <u>Zlib</u> - for data compression on the fly
  
*:* <u>Zlib</u> - for data compression on the fly
+
:* <u>GDLib 2.0 or better</u> - required for automatic generation of product thumbnails form product images, for the 'Image Verification' module and for cache generation in the 'Detailed Product Images' module. GDLib must be compiled with libJpeg (ensure that PHP is configured with the option --with-jpeg-dir=DIR, where DIR is the directory where libJpeg is installed).
  
*:* <u>GDLib 2.0 or better</u> - required for automatic generation of product thumbnails form product images, for the 'Image Verification' module and for cache generation in the 'Detailed Product Images' module. GDLib must be compiled with libJpeg (ensure that PHP is configured with the option --with-jpeg-dir=DIR, where DIR is the directory where libJpeg is installed).
+
:* <u>Mcrypt</u> - highly recommended to speed up the Blowfish data encrypting process
  
*:* <u>Mcrypt</u> - highly recommended to speed up the Blowfish data encrypting process
+
:* <u>xml/Expat</u> - for Intershipper, UPS or USPS shipping modules.
  
*:* <u>xml/Expat</u> - for Intershipper, UPS or USPS shipping modules.
+
:* <u>cURL</u> - for some of the online credit card processing modules and for shipping modules.
  
*:* <u>cURL</u> - for some of the online credit card processing modules and for shipping modules.
+
:* <u>OpenSSL</u> - for iDEAL Advanced and iDEAL RaboBank Professional payment modules.
  
*:* <u>OpenSSL</u> - for iDEAL Advanced and iDEAL RaboBank Professional payment modules.
+
:* <u>iconv</u> - for AJAX functionality.
  
*:* <u>iconv</u> - for AJAX functionality.
+
'''Other recommendations'''
  
* '''Other recommendations'''
+
* PHP should be compiled with the '''--enable-memory-limit''' option (strongly recommended).
 +
* PHP should be compiled with the '''--enable-mbstring''' option. mbstring is designed to handle languages which use multibyte character encodings. For more information and a list of supported encodings, see the corresponding section of PHP manual. If you plan to use languages that require UTF-8 encoding, set the <tt>mbstring.func_overload</tt> value to 7.
 +
* If you wish to use an external mail program (like qmail or postfix) instead of the PHP '''mail()''' function, this mail program must be installed and configured.
 +
* If you wish to use an SMTP server instead of the PHP '''mail()''' function to send mail from the store, the SMTP server must be installed and configured.
 +
* PHP function '''exec()''' must be allowed for the correct functioning of most of the CC payment processing modules used with X-Cart (SaferPay, Credomatic, CyberSource, HSBC, Ogone, Ogone Web, PayBox, PaySystems Client, VaultX), HTTPS modules (Net::SSLeay, CURL, OpenSSL, https_cli), GnuPG/PGP.
 +
* PHP functions '''popen()''' & '''pclose()''' must be allowed for the correct functioning of some HTTPS modules (CURL, Net::SSLeay, OpenSSL, https_cli), payment modules (Saferpay, CyberSource), SMTP mailer (PHPMailer).
  
** PHP should be compiled with the '''--enable-memory-limit''' option (strongly recommended).
+
For help on PHP configuration settings, visit [https://www.php.net/ https://www.php.net].
** PHP should be compiled with the '''--enable-mbstring''' option. mbstring is designed to handle languages which use multibyte character encodings. For more information and a list of supported encodings, see the corresponding section of PHP manual. If you plan to use languages that require UTF-8 encoding, set the <tt>mbstring.func_overload</tt> value to 7.
 
** If you wish to use an external mail program (like qmail or postfix) instead of the PHP '''mail()''' function, this mail program must be installed and configured.
 
** If you wish to use an SMTP server instead of the PHP '''mail()''' function to send mail from the store, the SMTP server must be installed and configured.
 
** PHP function '''exec()''' must be allowed for the correct functioning of most of the CC payment processing modules used with X-Cart (SaferPay, Credomatic, CyberSource, HSBC, Ogone, Ogone Web, PayBox, PaySystems Client, VaultX), HTTPS modules (Net::SSLeay, CURL, OpenSSL, https_cli), GnuPG/PGP.
 
** PHP functions '''popen()''' & '''pclose()''' must be allowed for the correct functioning of some HTTPS modules (CURL, Net::SSLeay, OpenSSL, https_cli), payment modules (Saferpay, CyberSource), SMTP mailer (PHPMailer).
 
  
* For help on PHP configuration settings, visit [http://www.php.net/ http://www.php.net].
+
==MySQL configuration==
  
* ==MySQL configuration==
+
'''MySQL version'''
  
* '''MySQL version'''
+
Supported versions: 4.0.18 - 5.X
  
* Supported versions: 3.23 - 5.X
+
Minimum versions:
  
* Recommended version: 4.1.22
+
* 4.0.18 for MySQL 4.0.x
 +
* 4.1.2 for MySQL 4.1.x
  
* Not recommended versions: 5.0.50, 5.0.51 (These versions contain some known bugs that may prevent X-Cart from operating correctly).
+
Not recommended versions: 5.0.50, 5.0.51 (These versions contain some known bugs that may prevent X-Cart from operating correctly).
  
* {{Note1|Note: The most up-to-date information on compatibility with specific versions of MySQL is available on the site [http://www.x-cart.com/ http://www.x-cart.com].}}
+
{{Note1|Note: The most up-to-date information on compatibility with specific versions of MySQL is available on the site [https://www.x-cart.com/ https://www.x-cart.com].}}
  
* '''MySQL server settings'''
+
'''MySQL server settings'''
  
* MAX_CONNECTIONS >= 200 (required)
+
MAX_CONNECTIONS >= 200 (required; try using a lower setting when having MySQL issues on a server with less than 4GB of RAM)
  
* '''MySQL user privileges'''
+
'''MySQL user privileges'''
  
* Required basic privileges:
+
Required basic privileges:
  
*: <u>select_priv</u>
+
: <u>select_priv</u>
  
*: <u>insert_priv</u>
+
: <u>insert_priv</u>
  
*: <u>update_priv</u>
+
: <u>update_priv</u>
  
*: <u>delete_priv</u>
+
: <u>delete_priv</u>
  
*: <u>lock_tables_priv</u>
+
: <u>lock_tables_priv</u>
  
*: <u>index_priv</u>
+
: <u>index_priv</u>
  
* Privileges, required for software installation/upgrade:
+
Privileges, required for software installation/upgrade:
  
*: <u>create_priv</u>
+
: <u>create_priv</u>
  
*: <u>drop_priv</u>
+
: <u>drop_priv</u>
  
*: <u>alter_priv</u>
+
: <u>alter_priv</u>
  
* '''MySQL user limitations'''
+
'''MySQL user limitations'''
  
* Required values:
+
Required values:
  
*: MAX_QUESTIONS - no limitations
+
: MAX_QUESTIONS - no limitations
  
*: MAX_UPDATES - no limitations
+
: MAX_UPDATES - no limitations
  
*: MAX_QUERIES_PER_HOUR - no limitations
+
: MAX_QUERIES_PER_HOUR - no limitations
  
*: MAX_USER_CONNECTIONS - no limitations
+
: MAX_USER_CONNECTIONS - no limitations
  
* Recommended values:
+
Recommended values:
  
*: <u>max_allowed_packet</u> - 8-16 MB recommended
+
: <u>max_allowed_packet</u> - 8-16 MB recommended
  
*: <u>wait_timeout</u> - minimum 7200 (28800 recommended)
+
: <u>wait_timeout</u> - minimum 7200 (28800 recommended)
  
* {{Note1|Note: a 'Lost connections' error may appear if the values of the options 'max_allowed_packet' and 'wait_timeout' are too low.}}
+
{{Note1|Note: a 'Lost connections' error may appear if the values of the options 'max_allowed_packet' and 'wait_timeout' are too low.}}
  
* ==Apache configuration==
+
==Apache configuration==
  
* Apache is the recommended web server. The settings described below refer to Apache only.
+
Apache is the recommended web server. The settings described below refer to Apache only.
  
* '''Distributed configuration file'''
+
'''Distributed configuration file'''
  
** The name of the file must be ".<u>htaccess</u>" (AccessFileName .htaccess).
+
* The name of the file must be ".<u>htaccess</u>" (AccessFileName .htaccess).
** You must have sufficient permissions to change the settings of the web directory via the .<u>htaccess</u> file (AllowOverride = ALL).
+
* You must have sufficient permissions to change the settings of the web directory via the .<u>htaccess</u> file (AllowOverride = ALL).
  
* '''PHP running mode'''
+
'''PHP running mode'''
  
* If PHP is installed as CGI, it must be compiled with --enable-force-cgi-redirect (without --enable-discard-path).
+
If PHP is installed as CGI, it must be compiled with --enable-force-cgi-redirect (without --enable-discard-path).
  
* '''Apache modules'''
+
'''Apache modules'''
  
* Basic modules:
+
Basic modules:
  
** mod_dir - is required for correct operation of DirectoryIndex
+
* mod_dir - is required for correct operation of DirectoryIndex
** mod_access - is required for correct operation of Deny From All and Allow From All
+
* mod_access - is required for correct operation of Deny From All and Allow From All
** mod_auth - is required for correct operation of HTTP authentication (HTTP authentication is used in Google Checkout module for additional Admin area protection)
+
* mod_auth - is required for correct operation of HTTP authentication (HTTP authentication is used in Google Checkout module for additional Admin area protection)
  
* Recommended modules
+
Recommended modules
  
** mod_userdir - is required for access to the website via a temporary URL ([http://ip/%7Euser http://IP/~user]).
+
* mod_userdir - is required for access to the website via a temporary URL ([http://ip/%7Euser http://IP/~user]).
** mod_rewrite - is required for correct operation of the Clean URLs functionality.
+
* mod_rewrite - is required for correct operation of the Clean URLs functionality.
** mod_expires - is required to set up file caching.
+
* mod_expires - is required to set up file caching.
** mod_gzip / mod_deflate - is required for page compression.
+
* mod_gzip / mod_deflate - is required for page compression.
  
* '''HTTPS settings'''
+
'''HTTPS settings'''
  
** DocumentRoot directories for HTTP and HTTPS must be the same.
+
* DocumentRoot directories for HTTP and HTTPS must be the same.
** PHP on HTTP and HTTPS must be run under the same user account.
+
* PHP on HTTP and HTTPS must be run under the same user account.
** The <u>php.ini</u> file must be the same for HTTP and HTTPS.
+
* The <u>php.ini</u> file must be the same for HTTP and HTTPS.
  
* '''Disk space'''
+
'''Disk space'''
  
* A fresh installation of X-Cart 4.3.0 uses at least 30 megabytes of disk space (if installed without add-ons). In addition to that, some disk space will be needed for X-Cart's cache data, image files (if you choose to store them on the file system) and customizations.
+
A fresh installation of X-Cart 4.3.0 uses at least 30 megabytes of disk space (if installed without add-ons). In addition to that, some disk space will be needed for X-Cart's cache data, image files (if you choose to store them on the file system) and customizations.
  
* ==MySQL space==
+
==MySQL space==
  
* The amount of space required for X-Cart database depends on the number of products, customers and orders that will be stored there. Accordingly, database space requirements may vary from as little as 5 megabytes for small shops to over 500 megabytes for large stores.
+
The amount of space required for X-Cart database depends on the number of products, customers and orders that will be stored there. Accordingly, database space requirements may vary from as little as 5 megabytes for small shops to over 500 megabytes for large stores.
  
* ==Advanced requirements and recommended settings==
+
==Advanced requirements and recommended settings==
  
* '''Network settings'''
+
'''Network settings'''
  
** Outgoing connections must be allowed for ports 80, 443 and 1129. Some payment and shipping systems may require additional ports.
+
* Outgoing connections must be allowed for ports 80, 443 and 1129. Some payment and shipping systems may require additional ports.
** The server firewall must allow loopback connections. This is required for HTML catalog feature.
+
* The server firewall must allow loopback connections. This is required for HTML catalog feature.
** External domains must be resolved on the level of PHP as well as on the system level. Such PHP functions as <u>gethostbyaddr</u> and <u>gethostbyname</u> must work without limitations.
+
* External domains must be resolved on the level of PHP as well as on the system level. Such PHP functions as <u>gethostbyaddr</u> and <u>gethostbyname</u> must work without limitations.
** Domains hosted on a hosting with localhost must be resolved to an external IP address if the server is behind NAT.
+
* Domains hosted on a hosting with localhost must be resolved to an external IP address if the server is behind NAT.
  
* '''Other requirements'''
+
'''Other requirements'''
  
** A valid SSL certificate from the list of SSL certificates accepted by Google Checkout is required for correct operation of Google Checkout module. For more information, see the section [http://checkout.google.com/support/sell/bin/answer.py?answer=57856&topic=12156 "What SSL certificates does Google Checkout accept?"] of Google Checkout Merchant Help.
+
* A valid SSL certificate from the list of SSL certificates accepted by Google Checkout is required for correct operation of Google Checkout module. For more information, see the section [https://checkout.google.com/support/sell/bin/answer.py?answer=57856&topic=12156 "What SSL certificates does Google Checkout accept?"] of Google Checkout Merchant Help.
** Windows or Linux operating system is required for HSBC payment method.
+
* Windows or Linux operating system is required for HSBC payment method.
** The following functionality requires no less than 64 MB of memory: backing up/restoring the database, import and product modification.
+
* The following functionality requires no less than 64 MB of memory: backing up/restoring the database, import and product modification.
  
* {{Note1|Important! These are the basic system requirements. Some specific settings may be needed for different store configurations.}}
+
{{Note1|Important! These are the basic system requirements. Some specific settings may be needed for different store configurations.}}
  
* ==Client-side requirements==
+
==Client-side requirements==
  
* === JavaScript ===
+
=== JavaScript ===
  
* The users of X-Cart's back end must have JavaScript enabled in the web browser.
+
The users of X-Cart's back end must have JavaScript enabled in the web browser.
  
* For the users of X-Cart's storefront, enabled JavaScript is recommended: JavaScript is not required for the basic storefrontfunctionality: a user can register, log in, add a product to cart and check out without JavaScript enabled; however, anything above that is not guaranteed to work without enabled JavaScript. For example, although a user will be able to buy a regular product with JavaScript disabled, they will not be able to buy a configurable product or a gift certificate.
+
For the users of X-Cart's storefront, enabled JavaScript is recommended: JavaScript is not required for the basic storefrontfunctionality: a user can register, log in, add a product to cart and check out without JavaScript enabled; however, anything above that is not guaranteed to work without enabled JavaScript. For example, although a user will be able to buy a regular product with JavaScript disabled, they will not be able to buy a configurable product or a gift certificate.
  
* If a user enters the store with JavaScript disabled, X-Cart displays a message asking this user to enable JavaScript in the web browser.
+
If a user enters the store with JavaScript disabled, X-Cart displays a message asking this user to enable JavaScript in the web browser.
  
* === Cookies ===
+
=== Cookies ===
  
* Both the users of X-Cart's storefront and back end must set their web browser to accept cookies. If a user enters the store using a browser that does not accept cookies and attempts to perform an operation that requires enabled cookies, X-Cart displays a message asking this user to enable cookies in the web browser.
+
Both the users of X-Cart's storefront and back end must set their web browser to accept cookies. If a user enters the store using a browser that does not accept cookies and attempts to perform an operation that requires enabled cookies, X-Cart displays a message asking this user to enable cookies in the web browser.
  
* === Screen resolution ===
+
=== Screen resolution ===
  
* Minimum required screen resolution for the storefront is 800x600 (recommended: 1024x768 or higher).
+
Minimum required screen resolution for the storefront is 800x600 (recommended: 1024x768 or higher).
  
* Minimum required screen resolution for the back end is 1024x768.
+
Minimum required screen resolution for the back end is 1024x768.
  
* === Browser compatibility ===
+
=== Browser compatibility ===
  
** MS Internet Explorer 7, 8, 9
+
* MS Internet Explorer 7, 8, 9
  
** Mozilla FireFox for Windows v1.5, v2, v3
+
* Mozilla FireFox for Windows v1.5, v2, v3
  
** Mozilla FireFox for MacOS v2, v3
+
* Mozilla FireFox for MacOS v2, v3
  
** Mozilla FireFox for Linux v2, v3
+
* Mozilla FireFox for Linux v2, v3
  
** Opera for Windows/FreeBSD/Linux/MacOS v9, v10
+
* Opera for Windows/FreeBSD/Linux/MacOS v9, v10
  
** Safary for Windows/MacOS 3, 4, 5
+
* Safary for Windows/MacOS 3, 4, 5
  
** Mozilla for Linux v1.8
+
* Mozilla for Linux v1.8
  
** Mozilla for FreeBSD v1.8
+
* Mozilla for FreeBSD v1.8
  
** Google Chrome
+
* Google Chrome
  
 
[[Category:X-Cart user manual]]
 
[[Category:X-Cart user manual]]
 
[[Category:X-Cart system requirements]]
 
[[Category:X-Cart system requirements]]

Latest revision as of 17:48, 22 July 2020

X-Cart 4.4or above

Operating system

OS logos.png

Hardware

Hardware required to achieve a good X-Cart performance depends on many factors, however the most important are Catalog size and Traffic. The table below provides recommended hardware specifications.

Traffic
Catalog size up to 100 visitors/day up to 5,000 visitors/day up to 15,000 visitors/day
100 SKUs a good shared/cloud hosting

VPS / Dedicated server

  • Dual-core CPU
  • RAM 1 GB
  • 250 Mbps connection

Dedicated server

  • Dual CPU dual-core
  • RAM 8 GB, SAS HDD
  • 500 Mbps connection
5,000 SKUs a good shared/cloud hosting

VPS / Dedicated server

  • Dual-core CPU
  • RAM 2 GB
  • 250 Mbps connection

Dedicated server

  • Dual CPU dual-core
  • RAM 16 GB, SAS HDD
  • 500 Mbps connection
50,000 SKUs

VPS hosting

  • Dual-core CPU
  • RAM 2 GB
  • 100 Mbps connection

Dedicated server

  • Dual-core CPU
  • RAM 4 GB, SAS HDD
  • 250 Mbps connection

Dedicated server

  • Dual CPU quad core
  • RAM 16 GB, SAS HDD
  • 500 Mbps connection

See also:

PHP configuration

PHP version

Version 4.4.0 - 5.x.

PHP5 support is recommended but not required.

php.ini settings

required values:

safe_mode = off
file_uploads = on
magic_quotes_sybase = off
sql.safe_mode = off
allow_url_fopen = on
ini_set = on
memory_limit >= 32M

recommended values:

disable_functions = NULL
post_max_size >= 2M
upload_max_filesize >= 2M
max_execution_time >= 30
memory_limit >= 64M
max_input_time >= 30
sendmail_from = ...@domain.com (an email address, from which sending mail is allowed)

PHP extensions

required:

  • PCRE
  • MySQL
  • if using PHP4, iconv must be enabled

recommended:

  • FTP - to be able to upload files to GoogleBase
  • Zlib - for data compression on the fly
  • GDLib 2.0 or better - required for automatic generation of product thumbnails form product images, for the 'Image Verification' module and for cache generation in the 'Detailed Product Images' module. GDLib must be compiled with libJpeg (ensure that PHP is configured with the option --with-jpeg-dir=DIR, where DIR is the directory where libJpeg is installed).
  • Mcrypt - highly recommended to speed up the Blowfish data encrypting process
  • xml/Expat - for Intershipper, UPS or USPS shipping modules.
  • cURL - for some of the online credit card processing modules and for shipping modules.
  • OpenSSL - for iDEAL Advanced and iDEAL RaboBank Professional payment modules.
  • iconv - for AJAX functionality.

Other recommendations

  • PHP should be compiled with the --enable-memory-limit option (strongly recommended).
  • PHP should be compiled with the --enable-mbstring option. mbstring is designed to handle languages which use multibyte character encodings. For more information and a list of supported encodings, see the corresponding section of PHP manual. If you plan to use languages that require UTF-8 encoding, set the mbstring.func_overload value to 7.
  • If you wish to use an external mail program (like qmail or postfix) instead of the PHP mail() function, this mail program must be installed and configured.
  • If you wish to use an SMTP server instead of the PHP mail() function to send mail from the store, the SMTP server must be installed and configured.
  • PHP function exec() must be allowed for the correct functioning of most of the CC payment processing modules used with X-Cart (SaferPay, Credomatic, CyberSource, HSBC, Ogone, Ogone Web, PayBox, PaySystems Client, VaultX), HTTPS modules (Net::SSLeay, CURL, OpenSSL, https_cli), GnuPG/PGP.
  • PHP functions popen() & pclose() must be allowed for the correct functioning of some HTTPS modules (CURL, Net::SSLeay, OpenSSL, https_cli), payment modules (Saferpay, CyberSource), SMTP mailer (PHPMailer).

For help on PHP configuration settings, visit https://www.php.net.

MySQL configuration

MySQL version

Supported versions: 4.0.18 - 5.X

Minimum versions:

  • 4.0.18 for MySQL 4.0.x
  • 4.1.2 for MySQL 4.1.x

Not recommended versions: 5.0.50, 5.0.51 (These versions contain some known bugs that may prevent X-Cart from operating correctly).

Note: The most up-to-date information on compatibility with specific versions of MySQL is available on the site https://www.x-cart.com.

MySQL server settings

MAX_CONNECTIONS >= 200 (required; try using a lower setting when having MySQL issues on a server with less than 4GB of RAM)

MySQL user privileges

Required basic privileges:

select_priv
insert_priv
update_priv
delete_priv
lock_tables_priv
index_priv

Privileges, required for software installation/upgrade:

create_priv
drop_priv
alter_priv

MySQL user limitations

Required values:

MAX_QUESTIONS - no limitations
MAX_UPDATES - no limitations
MAX_QUERIES_PER_HOUR - no limitations
MAX_USER_CONNECTIONS - no limitations

Recommended values:

max_allowed_packet - 8-16 MB recommended
wait_timeout - minimum 7200 (28800 recommended)
Note: a 'Lost connections' error may appear if the values of the options 'max_allowed_packet' and 'wait_timeout' are too low.

Apache configuration

Apache is the recommended web server. The settings described below refer to Apache only.

Distributed configuration file

  • The name of the file must be ".htaccess" (AccessFileName .htaccess).
  • You must have sufficient permissions to change the settings of the web directory via the .htaccess file (AllowOverride = ALL).

PHP running mode

If PHP is installed as CGI, it must be compiled with --enable-force-cgi-redirect (without --enable-discard-path).

Apache modules

Basic modules:

  • mod_dir - is required for correct operation of DirectoryIndex
  • mod_access - is required for correct operation of Deny From All and Allow From All
  • mod_auth - is required for correct operation of HTTP authentication (HTTP authentication is used in Google Checkout module for additional Admin area protection)

Recommended modules

  • mod_userdir - is required for access to the website via a temporary URL (http://IP/~user).
  • mod_rewrite - is required for correct operation of the Clean URLs functionality.
  • mod_expires - is required to set up file caching.
  • mod_gzip / mod_deflate - is required for page compression.

HTTPS settings

  • DocumentRoot directories for HTTP and HTTPS must be the same.
  • PHP on HTTP and HTTPS must be run under the same user account.
  • The php.ini file must be the same for HTTP and HTTPS.

Disk space

A fresh installation of X-Cart 4.3.0 uses at least 30 megabytes of disk space (if installed without add-ons). In addition to that, some disk space will be needed for X-Cart's cache data, image files (if you choose to store them on the file system) and customizations.

MySQL space

The amount of space required for X-Cart database depends on the number of products, customers and orders that will be stored there. Accordingly, database space requirements may vary from as little as 5 megabytes for small shops to over 500 megabytes for large stores.

Advanced requirements and recommended settings

Network settings

  • Outgoing connections must be allowed for ports 80, 443 and 1129. Some payment and shipping systems may require additional ports.
  • The server firewall must allow loopback connections. This is required for HTML catalog feature.
  • External domains must be resolved on the level of PHP as well as on the system level. Such PHP functions as gethostbyaddr and gethostbyname must work without limitations.
  • Domains hosted on a hosting with localhost must be resolved to an external IP address if the server is behind NAT.

Other requirements

  • A valid SSL certificate from the list of SSL certificates accepted by Google Checkout is required for correct operation of Google Checkout module. For more information, see the section "What SSL certificates does Google Checkout accept?" of Google Checkout Merchant Help.
  • Windows or Linux operating system is required for HSBC payment method.
  • The following functionality requires no less than 64 MB of memory: backing up/restoring the database, import and product modification.
Important! These are the basic system requirements. Some specific settings may be needed for different store configurations.

Client-side requirements

JavaScript

The users of X-Cart's back end must have JavaScript enabled in the web browser.

For the users of X-Cart's storefront, enabled JavaScript is recommended: JavaScript is not required for the basic storefrontfunctionality: a user can register, log in, add a product to cart and check out without JavaScript enabled; however, anything above that is not guaranteed to work without enabled JavaScript. For example, although a user will be able to buy a regular product with JavaScript disabled, they will not be able to buy a configurable product or a gift certificate.

If a user enters the store with JavaScript disabled, X-Cart displays a message asking this user to enable JavaScript in the web browser.

Cookies

Both the users of X-Cart's storefront and back end must set their web browser to accept cookies. If a user enters the store using a browser that does not accept cookies and attempts to perform an operation that requires enabled cookies, X-Cart displays a message asking this user to enable cookies in the web browser.

Screen resolution

Minimum required screen resolution for the storefront is 800x600 (recommended: 1024x768 or higher).

Minimum required screen resolution for the back end is 1024x768.

Browser compatibility

  • MS Internet Explorer 7, 8, 9
  • Mozilla FireFox for Windows v1.5, v2, v3
  • Mozilla FireFox for MacOS v2, v3
  • Mozilla FireFox for Linux v2, v3
  • Opera for Windows/FreeBSD/Linux/MacOS v9, v10
  • Safary for Windows/MacOS 3, 4, 5
  • Mozilla for Linux v1.8
  • Mozilla for FreeBSD v1.8
  • Google Chrome