X-Cart:Server Requirements (X-Cart 4.1)
Contents
Operating system
PHP configuration
PHP version
4.0.6 or later (PHP 5 is also supported).
php.ini settings
required values:
- safe_mode = off
- file_uploads = on
- magic_quotes_sybase = off
- sql.safe_mode = off
- allow_url_fopen = on
- register_long_arrays = on (PHP5 only)
- ini_set = on
recommended values:
- error_reporting = E_ALL & ~E_NOTICE
- output_buffering = 4096
- disable_functions = NULL
- post_max_size >= 2M
- upload_max_filesize >= 2M
- max_execution_time >= 30
- memory_limit >= 16M
- max_input_time >= 30
- sendmail_from = ...@domain.com (an email address, from which sending mail is allowed)
PHP extensions
required:
- PCRE
- MySQL
recommended:
- FTP - to be able to upload files to GoogleBase
- Zlib - for data compression on the fly
- GDLib 2.0 or higher - for X-Magnifier add-on. 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.
Other recommendations
- PHP should be compiled with the "--enable-memory-limit" option.
- The real amount of memory, which PHP scripts are allowed to use should be equal to or more than 16Mb (if PHP has been compiled without the "--enable-memory-limit" option).
- During product import, product modification or upgrading process, more than 24 Mb of memory might be necessary.
- PHP "mail()" function should not be included into the disabled functions list, so that sending email notifications, news messages, etc. is possible.
- 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 (CyberCash, CyberPac (LaCaixa), DataTrans, PayBox, CyberSource, PaySystems Client, VaultX), HTTPS modules (Net::SSLeay, CURL, OpenSSL, https_cli), GnuPG/PGP, X-Carts Patch/Upgrade functionality.
- PHP functions "popen()" & "pclose()" must be allowed for the correct functioning of some HTTPS modules (CURL, Net::SSLeay), payment modules (Saferpay, CyberSource, DIBS), shipping modules (DHL/Airborne, Canada Post, UPS Online Tools, Intershipper, AntiFraud module.
For help on PHP configuration settings, visit http://www.php.net.
MySQL configuration
MySQL version
Supported versions: 3.23 - 5.X
Recommended version: 4.1.22
Not recommended versions: 5.0.50, 5.0.51 (These versions contain some known bugs that may prevent X-Cart from operating correctly).
MySQL server settings
MAX_CONNECTIONS >= 200 (required)
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 - 2-8 MB recommended
- wait_timeout - minimum 7200 (28800 recommended)
Disk space
A fresh installation of X-Cart 4.1 uses 15 megabytes of disk space at least. 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 1 megabyte for small shops to over 100 megabytes for large stores.
Advanced requirements and recommended settings
Network settings
- Your web server must be allowed to run external executable files (like Perl) and to make outgoing connections to the Internet. This is required for the correct operation of some HTTP bouncers and online payment modules.
- the full path to X-Cart installation directory must not include any space symbols;
- the filepaths to the external executable files must not include any space symbols.
Examples of bad paths:
- C:\My Websites\xcart
- C:\Program Files\Perl\bin\perl.exe
- The server firewall must allow loopback connections. This is required for HTML catalog feature.
- An HTTPS module might be required (like Net::SSLeay perl module, CURL executable, OpenSSL executable or libCURL PHP extension) for some of the online credit card processing modules and for shipping modules.
- An SSL certificate is highly recommended to ensure security of online transactions at your store.
- Please refer to the page http://www.x-cart.com/ssl_certificates.html for a list of recommended SSL certificates.