Magento on your own server
This document goes through everything you need to get the Stock In The Channel Magento plug-in installed and configured on your own server. With the correct hardware and settings, you should be able to have a website with up to 150,000 products updated on a daily basis.
You will need access to the skills necessary to manage a Linux server. If you do not possess or have access to these technical skills, we recommend you choose our turnkey hosted option instead.
Here is a quick 3 step guide to setting up your server and site:
- Provision your server and install Magento
- Install our Magento plugin
- Add sample data credentials to Magento in our plugin.
Please note: this may sound easy, but unless you are a Magento developer you will have issues.
We strongly recommend a dedicated server for your web store. Magento is very resource intensive and you should not skimp on hardware. In addition, the plug-in requires some changes in server configuration. You must have SSH, root access to the server you are going to be using to make these changes.
You should ensure you have a minimum of 2 GB of memory available for up to 50,000 products. This is an absolute minimum. Adding more memory will be very beneficial to performance. Very large product sets will benefit from multi core processors.
In addition to the normal requirements for Magento you need to make sure that you have the following:-
- PHP 5.3+ or above with CURL
- MySQL 5.0 or above
- PHP CLI
You need to have Magento CE 1.6 or above. However, We strongly recommend you use the newest version. At the moment, Magento 184.108.40.206 is the newest. We recommend this as it is much more able to deal with large product sets. The plug-in also works with Magento Enterprise.
Installing the Plug-in
The plug-in installs via Magento Connect. All you have to do is paste in the following into the Magento connect area of the backoffice – http://connect20.magentocommerce.com/community/stockinthechannel2012
If you have problems with using Magento Connect, please refer to our troubleshooting guide.
Once the plug-in has been installed, it can be accessed by going to the Stock In The Channel menu which has been added to the Magento backoffice
Configuring your Server
The plug-in requires your server to be configured in a certain way.
The plug-in automatically checks for the correct configuration and reports errors in the section at the top called Check Server Configuration. Here are some required settings:
In the php.ini file:
Safe mode should be set to off e.g safe_mode = Off
In the my.cnf file:
Enable - loaddata
Ensure execute permissions on wget - chmod a+x wget
set-variable=local-infile=1. Note: This should be set to a higher number if you are publishing large product sets.
wait_timeout = 28000
innodb_buffer_pool_size = 512MB
The settings given here are the minimum ones required to get the product import working.
We have devoted quite a lot of effort to researching how to optimize Magento with large product sets and for use with our plug-in. Our learnings are summarised in the Optimizing Magento Page
We have also developed a series of scripts to help perform common tasks and to keep Magento working at peak performance. You are free to use and modify them as you wish. They can be found in the Magento scripts page.
Testing the Product Import
To test using some sample data, enter the following username and password in the FTP Login Details section
When you have saved this, choose the Import Full Catalogue Tab and then choose Import Full Catalogue
With the sample data of about 6,000 products, this should import in about 10 minutes.
Mostly, this works absolutely fine, however, if you are experiencing any problems, then please consult the troubleshooting the plug-in page
Automating the Product Import
The import of both the Full Catalogue and the Stock and Prices can be automated by setting up a cron job.
When scheduling a Full Catalogue Import, bear in mind, that depending on the number of products and the resources available, this can take a long time – during which time the web site may not be available. You will have to try out various configurations to find your optimum – for product sets of over 50,000, you may find it best to schedule a weekly import. The Stock and Prices Import should be scheduled to run at 8 am – the time by which Stock In The Channel will have published its data for the day ahead. It runs quickly and does not disrupt the web site.
The first task is to ensure that Cron is calling Magento correctly.
To do this add the following code to your Crontab:
/5 * * * * /[SHOP DIR]/cron.sh
Note: [SHOP DIR]/ is the path to your installation of Magento See article on how to set up a cron job in Magento here
By default, the Stock and Prices import is set to run daily at 8 am and the full import at 11 pm once a week on Saturday. If you are not happy with these times, you can change them by modifying the following file:
To schedule an import of Stock and Prices at 8 am, find the part of the file to do with stockpricesinchimport and modify the file as follows:
0 8 * * *sinchimport/sinch::cron_start_stock_price_import
To schedule a Full Catalogue Import at 11 pm on a Sunday, modify as follows:
<cron_expr>0 23 * * 0sinchimport/sinch::cron_start_full_import