Sie sind auf Seite 1von 11

Table of Contents

1 X-Cart:Server Requirements (latest X-Cart version)

1

2 Category:X-Cart system requirements

2

3 X-Cart:Installation 3

3.1 Procedure 3

3

3.3 FAQ 3

3.4 Troubleshooting 5

3.2 Installing X-Cart on Windows

4 X-Cart:First steps after installation

9

4.1 Back-end overview 9

9

4.2 Essential things to be done

1 X-Cart:Server Requirements (latest X-Cart version)

1

2 Category:X-Cart system requirements

2

3 X-Cart:Installation

3.1 Procedure

You can install the X-Cart shopping cart either manually or using the Installation Wizard that will do the most of the necessary jobs for you. The recommended method is to install X-Cart through the Wizard; manual installation should be performed by advanced users when it is impossible to install the software through the Wizard. For instruction on how to install X-Cart refer to the following sections:

3.2 Installing X-Cart on Windows

3.2.1 Installing PHP on Windows systems

3.2.2 The Apache + SSL on Win32 HOWTO

3.2.3 How to enable remote desktop

3.3 FAQ

3.3.1 What are correct file permissions for my X-Cart installation?

3.3.2 How to manage file permissions on UNIX server?

If you use UNIX operation system, you should change permissions on some files in order to install X-Cart. During setup X-Cart installation wizard needs

to modify config.php file, create several directories in xcart directory and populate them with files. That is why it is neccesary to set writable permissions on config.php (chmod 0666 config.php) and xcart directory (chmod 0777 . - dot means current directory, because you may install xcart in a directory with

a different name, e.g. /shop or /store or in a root directory). X-Cart also uses perl scripts to connect to some payment processors and the shell script spam.sh to send newsletter; the last two commands (chmod 755 admin/spam.sh and chmod 755 payment/*.pl) make these scripts executable. You can use UNIX shell or an ftp client to run chmod commands.

If you are unfamiliar with chmod command, here is some info about it:

Chmod command is used to define the users of various groups that have certain permissions to perform an action over a file. There are three basic actions you can carry out over any file: read from it, write to it, and execute it. The basic format for chmod is chmod xyz file.foo. x, y, and z are each a number between 0 and 7. Each number represents permissions given to a group: x is for the user that owns the file, y is for the group that owns the file (normally the user's group), and z is for everybody else. To determine actual values for each number, one uses the following method: start with x = 0. If you want to be able to read from the file, add four. x can be 0 or 4 at this point in time. If you want to be able to write to the file, add two. x can now be 0, 2 (a write-only file), 4 (read-only file), or 6 (read/write file). If you want to be able to execute the program, add one. You now have a full range of possible numbers:

Digit

Permissions

0

None - cannot read or write or execute

1

Can execute, but cannot read or write

2

Write-only, cannot read or execute

3

Write-able/executable

4

Read-only, cannot write to or execute

5

Read-only executable, cannot write to

6

Readable Writeable file, but not executable (ie: text file)

7

Readable Writeable Executable file - most programs are this

Note: it is insecure to keep config.php file writable for everyone. After the installation, you should change the permissions: chmod 644 config.php

3

3.3.3

How to configure access file permissions on Windows Server?

When you are installing or updating the software under Windows, the IUSR_<computername> user must be given appropriate permissions on the file system to be able to modify files in the x-cart directory and its subdirectories or to run perl and upgrades etc.

There are several ways to configure permissions:

1. Turn off simple file sharing (in the Explorer menus, under "Folder Options" -> Tab: View), then set the permissions using the normal Security tab in

Windows.

2. Use a built-in 'cacls' command to allow anonymous user necessary access. This way "simple file sharing" may remain active but still user can be

granted necessary privileges. This commandline allows you to change permissions on x-cart directory and all its subdirectories::

cacls c:\inetpub\wwwroot\xcart /E /G <computer>\\IUSR_<computer>:C

The <computer> string should be replaced with the name of your computer.

It is the C at the end after the colon that means setting 'Change' permission.

Here is more information on permissions on Windows

The permissions on Windows systems are all selectable with two boxes which are:

Allow - Grant the permission.

Deny - Any denied permission for a group or user will override any allow permission, even if the user is in a group that is granted that permission.

If neither box is checked, the permission is not granted for the user or group, but if the user is in another group that has the permission, it will not be denied. Normally, if a user is a member of several groups that have different levels of permissions to an object, the least restrictive permissions apply unless the user, or one of their groups have the no access box checked for that permission.

Standard File and Folder Permissions

Read(R) - View attributes, contents, and permissions. Can synchronize.

Write(W) - Can change attributes, and file contents. Can create files or folders. Can synchronize.

Read(R) and Execute(E) - Can change sub folders, perform read operations, and execute a file.

List Folder Contents - Can perform read and execute permissions on folders. Can view folder contents, attributes, permissions. Can synchronize and change to subfolders.

Modify - Perform Read, Execute, and Write permissions along with ability to delete.

Full Control - Can perform Modify functions (above), take ownership, and modify permissions.

Permissions assigned to directories are inherited (default) by all files and subdirectories that are contained in the directory. The inheritance option, selected by default, may be deselected. Each file or directory has an Access Control List (ACL). To set permissions for additional users or groups, they are added to the ACL of the file or directory. Windows Explorer or the Cacls command line utility can be used to set permissions.

Special File and Folder Permissions

On the file or folder properties dialog, click the "Security" tab and the "Advanced" button to assign special file or folder permissions.

Traverse Folder/Execute File - .

List Folder/Read Data - .

Read Attributes - The user can read the attributes (archive, compress, hidden, etc.) of the file, but not read the contents of the file.

Read Extended Attributes - .

Create Files/Write Data - .

Create Folders/Append Data - .

Write Attributes - .

Write Extended Attributes - .

Delete Subfolders and Files - .

Delete - The user can delete the file.

Read Permissions - The user can read the file.

Change Permissions - Lets the user change permissions for the file, but not view or change the contents of the file.

Take Ownership - The user can take ownership of the file, but can't give it back.

These permissions can be applied to directories, files, and subdirectories with one of the following selections:

This folder, subfolders and files

This folder only

This folder and subfolders

This folder and files

Subfolders and files only

Subfolders only

Files only

4

3.3.4

How to disable PHP safe_mode in Ensim control panel?

To disable php_safe_mode in the Ensim accounts, create a file named php in the /etc/httpd/conf/site# (replace site# accordingly) with the following lines:

<IfDefine vwh_php4_module> php_admin_flag safe_mode off </IfDefine>

3.3.5 How to disable SELinux security restrictions for httpd on Fedora Core & RedHat?

1. Edit the file '/etc/selinux/SELINUXTYPE/booleans' and add the string

httpd_disable_trans=1

2. Execute command 'setsebool httpd_disable_trans 1'

3. Restart the Apache 'service httpd restart'

3.3.6 How to specify socket to be used for connecting to MySQL database?

Socket filename can be entered in MySQL hostname field during installation.

Example:

localhost:/tmp/mysql-5.0.sock

or can be edited in config.php file.

3.4 Troubleshooting

3.4.1 500 Internal server error

Internal server errors can be usually caused by one of the issues discussed here.

3.4.2 Error: "Warning no such file or directory: ./COPYRIGHT".

This or similar errors occur if some of X-Cart files are missing. They could be lost during FTP upload to the server or accidentally deleted. You should re-upload X-Cart distribution to your host and try to run installation script again.

3.4.3 Fatal error: Can't connect to the MySQL server" on step 2 of installation

Possible causes are as follows:

a) Incorrect username/password/database name of your MySQL database. You should contact your hosting administrators and ask them to specify

correct access information for MySQL database (please note, this information is case sensitive).

b) If your MySQL server and X-Cart are located on different hosts there is a possibility that connection from your host to MySQL server is disabled. You

should contact your hosting administrator to ask if there are any restrictions of this kind.

3.4.4 Installation suddenly freezes on step 3 (importing data)

Some mis-configured MySQL servers drop connection when feeding big amount of data from PHP script (during installation X-Cart pumps several megabytes of data into the database). You may try to restart installation process from the beginning. If you still cannot succeed you can install X-Cart manually (look for details in the INSTALL file in the X-Cart distribution or in the corresponding section of X-Cart manual).

3.4.5 Installation error - Warning: opendir(/[xcart_root_dir]/.pgp.def): failed to open dir: No such file or directory in

/[xcart_root_dir]/include/install.php on line 599

X-Cart '.pgp.def' folder wasn't extracted from the installation package. You should create this folder manually ('mkdir .pgp.def') and reinstall X-Cart.

3.4.6 Got error 28 from storage engine

This error appeared due to the lack of free space in the file system on the hard disc drive where MySQL is installed. The solution is rather simple - to clean up some disc space.

5

3.4.7

Lost connection to MySQL server during query

This error message means that when executing the query the conenction with MySQL server was lost

if such errors are numerous , most likely the reason is the same as described here: http://kb.x-cart.com/article/mysql-server-has-gone-away

if it is a one time error, then most likely it was caused by the MySQL srever restart

also the problem may be caused by the low value of the max_allowed_packet option:

3.4.8 Mysql connect(): Too many connections

The limit of simultaneous connections to MySQL server is exceeded. This limit is set by the max_connections MySQL option - see http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html. The problem can be resolved in the following ways:

Increase the max_connections option value

if the images are stored in the database(are called via image.php), move them to the file system

change the hosting company

3.4.9 MySQL server has gone away

When you get a number of MySQL server has gone away errors in logs, this means that the MySQl server aborted the connection to PHP script but the script is still trying to execute a certain query.

This usually occurs when:

a customer opens a store page in the browser

PHP script connects to the MySQL

for some reason the script stops for a while, during this pause MySQL server timed out and the connection was closed

the script finishes its work and tries to execute the MySQL query again

since the connection is already lost, the error message is shown

Additional info on the matter can be found here: http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

A possible solutions in this case - increase the wait_timeout option value (default value is 28800). Please contact your hosting regarding the matter.

As a quick workaround solution, you can apply the File:Mysql server has gone away.txt patch. After this patch is applied, X-Cart will reconnect to MySQL

in

case of such errors. This patch is already included to X-Cart 4.1.11 and higher.

If

the error still persists and it is impossible to change the wait_timeout option value then it is recommended to change the hosting company.

3.4.10 SQL error when deleting products

When trying to delete a product, a SQL error appears. This problem can be reproduced on MySQL 5.x

Error message is as follows:

SQL query : SELECT IF(xcart_categories_lng.category != '', xcart_categories_lng.category, xcart_categories.category) as category FROM xcart_categories, xcart_products_categories LEFT JOIN xcart_categories_lng ON xcart_categories.categoryid = xcart_categories_lng.categoryid A xcart_categories_lng.code = 'US' WHERE xcart_products_categories.productid = '16856' AND xcart_products_categories.categoryid = xcart_categories.categoryid AND xcart_products_categories.main = 'Y'

Error code : 1054 Description : Unknown column 'xcart_categories.categoryid' in 'on clause' Request URI: /admin/process_product.php?mode=delete&keep_https=yes Backtrace:

/include/func/func.db.php:186

/include/func/func.db.php:112

/include/func/func.db.php:357

/include/process_product.php:202

/admin/process_product.php:43

In order to fix this issue, please apply the File:Product deletion error in 4 1 11.txt patch.

This issue is fixed in the X-Cart 4.1.12 and higher.

3.4.11 The size of the data package being transmitted is greater than maximum allowed by the server

The size of the data package being transmitted is greater than maximum allowed by the server

The above error is caused by the fact that there was an attempt to transmit via MySQL the data package, which size was greater than the 'max_allowed_packet' MySQL option value.

6

The detailed description can be found here: http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html

In order to fix this issue it is required to change the max_allowed_packet to a larger value

3.4.12 Unknown column 'xcart products.productid' in 'on clause'

X-Cart 4.0or above X-Cart 4.1.1 This issue may be caused by several facts:

the hosting has mySQL 5.x installed

X-Cart 4.0.x is used, which does not support mySQL 5.x. (the issue was also found in X-Cart 4.1.1) ( MySQL 5.x is not supported since there were numerous changes in MySQL 5.0.12)

X-Cart 4.0.x had been released before the MySQL 5.0.12, that's why such errors occur.

The problem can be resolved using the File:MYSQL5 comp for 4.0.x.txt patch.

3.4.13 User 'mysqluser' has exceeded the 'max questions' resource (current value: 50000)

You receive the following SQL errors:

INVALID SQL: 1226 : User 'mysqluser' has exceeded the 'max_questions' resource (current value: 50000)

MySQL allows to limit any user's activity. The max_questions option contains a number of queries of 'SELECT' type which a user can execute per hour.

If such an error is received, this means that X-cart executes a lot of queries and exceeds the limit. You can find more info about this option here:

The problem can be resolved in the following ways:

increase the max_questions value

the following workaround can be used: it is required to create a few MySQL users, realize in the config.php a random choice of user from the list. Since every user has a limit of max_questions, X-Cart will be able to fulfill the following number of queries: max_questions * the number of users in the config.php

move the images to the file system, disable the unnecessary modules, disable the statistics, which will decrease page load time

change the hosting provider

3.4.14 User [name] has already more than 'max_user_connections' active connections

Warning: mysql_connect(): User [name] has already more than 'max_user_connections' active connections in /home/[path_to_xcart_dir]/include/func.php on line 43

Could not connect to SQL db

This means that your mysql user has exceeded the max_user_connections limit (mysql configurable parameter). For example, when several users browse your site, several instances of x-cart scripts are called and the scripts try to connect to the mysql database. If the number of those scripts instances is higher than the max_user_connections limit defined on your server, user will see such error message.

You should contact your hosting administrators and ask them to increase the limit number of mysql connections per mysql user, i.e. 'max_user_connections' limit.

3.4.15 Can't create/write to file

If you get an error of the "Can't create/write to file" type for some queries, it means that MySQL cannot create a temporary file for the result set in the temporary directory. The probable reasons are:

no writable permissions set for the temporary directory;

the temporary directory is defined incorrectly in MySQL configuration file;

problems with the storage device (not enough free disk space);

anti-virus or other software is blocking MySQL from writing to the temporary directory.

Contact your server administrators and ask them to look into and fix the problem.

For more details about the "Can't create/write to file" error please refer to: http://dev.mysql.com/doc/refman/5.0/en/cannot-create.html

If you have McAfee On-Access Scanner running on your server, add the temporary directory or the MySQL filetypes (MYD, MYI) into On-Access Scanner's exclude list. See: How to manage file and folder exclusions in VirusScan Enterprise 8.x

7

3.4.16

Table '%table_name%' is marked as crashed and should be repaired

If you get an error like:

Table '%table_name%' is marked as crashed and should be repaired

It means that the MySQL table '%table_name%' has been crashed in the database. Occasionally, under circumstances involving high load on the server, multiple INSERTs and UPDATEs, coupled with many SELECTs, or hardware failure, your database server may corrupt a table. According to the MySQL manual, you can get corrupted tables if some of the following things happens:

The mysqld process being killed in the middle of a write.

Unexpected shutdown of the computer (for example, if the computer is turned off).

A hardware error.

You are using an external program (like myisamchk) on a live table.

A software bug in the MySQL or MyISAM code.

In order to fix this issue try to connect to your store MySQL database and executed the following MySQL query:

REPAIR TABLE '%table_name%';

3.4.17 Opening X-Cart installation script shows a blank page

The permissions set to the X-Cart files and folders are incorrect. The correct X-Cart files and folder permissions depend on the server configuration.

8

4 X-Cart:First steps after installation

After you're done with the installation, your store is ready to start making online sales. Later you'll probably start the never-ending process of customization and improvement of your shopping system, trying different skins, adding new modules, etc to satisfy your needs and the needs of your customers. But a question of vital importance for a quick start is to set up the default configurable features of your shopping cart. And it's highly recommended to provide some details about your company and the business you're doing to present in the e-commerce industry.

4.1 Back-end overview

4.2 Essential things to be done

4.2.1 Providing your company details

First of all, when customers visit your store, they often try to find a way to identify your service with some brand or a real offline company. Anonymous sellers are not usually trusted as most people look for high quality goods and services which are mostly sold by the companies who provide some information about their physical location. Contact phone numbers (not only e-mail) is also a good way to provide more open policy of customer relations.

Let's start with filling in some of your company details. These settings are available through the 'Administration' menu, 'General settings' link, at the 'Company options' page. By default, the company title and phone numbers appear on each page of the store. As for e-mail addresses, it's not necessary to use a different address for all your departments, however, doing so may ease your feedback process as customer letters will be classified depending on the subject.

4.2.2 Defining the countries list

By default, X-Cart is configured to sell goods worldwide. Nevertheless, if you are going to trade only in some range of countries (for example, in US/Canada of throughout Europe) or would like to exclude some of them as your future destinations, nothing could be easier. All you have to do is configure the list of countries (classified by continents) and 'deactivate' the ones you're not going to deal with. In the 'Management' menu go to the 'Countries' page and uncheck the boxes near the undesired countries.

4.2.3 Setting up tax rates

Tax systems vary from one country to another, and the tax rates are a subject of constant changes. Our software is very flexible in this aspect. You can use AvaTax module for reliable, fast and affordable sales tax automation service by Avalara, or you can also manually define various taxes for different destination zones, change tax priorities and use the formula editor to operate such factors as shipping cost, subtotal etc. All of this can be done through the 'Management' menu, the 'Taxing system' area. Refer to the X-Cart manual ('Administrating your store (Administrator)' -> 'Management' -> 'Defining taxes' section) for more detailed instructions.

4.2.4 Setting up shipping methods

X-Cart allows you to define shipping methods that should be available to your customers. In X-Cart administrative zone, in the Management menu you'll find the 'Shipping Methods' section. Go there and use the 'Edit shipping methods' form to create and edit shipping methods, activate and deactivate them.

Both shipping methods with manually defined rates and with real-time calculated rates can be used. If you want to use UPS real-time shipping rates calculation service, you need to enter the 'Administration menu' -> 'Modules' and enable the UPS Developer Kit module. Then register your UPS Developer Kit with UPS and set up your store to work with this real-time calculation service. Consult Shipping Methods article for step-by-step instructions.

4.2.5 Setting up payment methods

The following step is to define what payment methods your customers may choose from. X-Cart supports a great variety of methods, however, it's recommended to choose not all but several of them for not to confuse your clients by too many ways of payment.

Go to the Administration area, at the 'Administration' menu click the 'Payment methods' link and a special form will appear. Select the Active checkboxes next to the methods you want to enable for your customers. If necessary, add special instructions for each of the selected payment

methods. These instructions will be shown to your customers during checkout. They can be used to pass along important information (E.g.: "Make

checks payable to

").

Next, select a protocol for each of the payment methods. HTTPS is strongly recommended for the payment methods where security must be ensured (customers are highly unlikely to be delighted if you ask them to send their credit card information via HTTP protocol).

9

4.2.6

Setting up a payment gateway

To use a payment gateway you need an online merchant account with one of our supported processing companies. If you do not have an account yet and need to be introduced to the payment gateway features, please look through the Choosing payment gateway article available here. If you need some direct advice while making your choice, please take a look at our list of recommended gateways and at all the X-Cart supported gateways list.

Anyway, you may always choose any payment gateway depending on your own needs and preferences. Even if the gateway you want to use is not on the list you can make an order and our team of professionals will do shopping cart custom development services for you and implement payment gateway you want.

To set up a payment gateway, find the 'Administration', click on 'Payment gateways' in menu and scroll down to the 'Payment gateways' form.

4.2.7 Setting up providers in X-Cart PLATINUM and PRO

X-CartPlatinum X-CartPro X-Cart PLATINUM and PRO editions provide advanced multi-vendor functionality by allowing multiple providers to sell their goods using one storefront.

Every seller/provider can manage his/her separate inventory, customers' wish lists and order history, set up their own tax rates, discounts and coupons while the administrator/store owner manages general store operation, configuration and perform maintenance.

If you are an X-Cart PLATINUM or PRO admin, you can create provider accounts and set up provider addresses in case they differ from the main store address.

4.2.8 Setting up your product catalog

Finally, here comes probably the most exciting part of the primary configuration: it's time to introduce the list of products you are going to offer to your visitors. To do so you should create the product catalogue, this feature is highly configurable.

First of all, the items you sell are divided into categories. The category listing appears on every page of your website so people can easily navigate through the catalogue. Moreover, you can also create subcategories of any depth level, i.e. a subcategory may be placed inside another subcategory etc. As for products, each one can be attached to any category or associated with several of them. In the 'Management' menu you'll see the 'Categories' section used to manipulate the directory structure.

The product properties dialogue allows you to define many properties, such as the icon/image associated with it, product weight, detailed description etc. Use the 'Add new product' feature to update your store with the new stuff.

If

the range of goods you offer is not very wide you could add each product manually. However, sometimes manual maintenance of your current catalog

in

actual state turns into a very complicated task, if not into an impossible one. Imagine you'd like to offer hundreds, thousands or even more products to

your visitors with some parameters (such as, for example, quantity or availability) changing daily or weekly. The possible solution in this case is to import

a large list of products into X-Cart. Please refer to the Importing products article to find out more information regarding that subject.

10