Please note that this article is intended for qualified professionals. You take full responsibility over the actions that you decide to undertake based on the suggestions from this article. Please note that AITOC takes no responsibility for any possible damages to equipment or software, downtime or any losses. If you do not fully understand its content and what suggested changes will lead to, hire a qualified consultant or developer.

-------------------------------------------

In this article we would like to share some ideas on the software that is required for Magento to function smoothly.


Operating System

Let us start with choosing an operating system. The only platform that Magento officially supports is Linux. You may choose either 32-bit architecture (x86) or 64-bit (x86_64 or amd64). You can try to launch Magento on a different operating system like Window Server, for instance, but in such case full Magento functionality cannot be guaranteed.

 Hereinafter we will be referring to a server with a Linux OS. The examples we offer in this article will be restricted to Debian GNU/Linux 6.0.6 (codename Squeeze) (other distros may require for some commands to be modified).

 

Web Server

Apache 1.3x, 2.0x, 2.2x can be used as your web server. We recommend that you use the latest stable version of 2.2.x branch. Starting from Magento versions 1.7.x (community) and 1.12.x (enterprise) a fast and resource-efficient Nginx web server is supported. Using Nginx instead of Apache can give you an increase in speed but it can complicate server administration because Nginx isn't fully supported by server control panels.

You can read about the advantages that a Nginx server may offer in this article.

In order to install an Apache web server, execute the following command:

 

[root@magesrv] ~# apt-get install apache2-mpm-prefork

 

PHP Interpreter

To run Magento you will need a PHP script interpreter and some of its extensions. We have tested a non-customized Magento with a new version of PHP – 5.4.4 and achieved a marked increase in its capacity without modifying Magento code. Nonetheless one should be aware of the fact that some third-party Magento extensions may malfunction or not run at all with PHP 5.4.x.

 

To install PHP please execute:

[root@magesrv] ~# apt-get install php5 php5-cli

Apart from that the interpreter must be configured. To do that you should access the file /etc/php5/apache2/php.ini (in different Linux distributions the location of this file may be different) and add/ change the following options:

safe_mode = off

memory_limit = 256M

Please note that the safe_mode  option is considered obsolete starting with PHP 5.3.x and it is removed from later versions of PHP.

 

The required PHP extensions

PDO_MYSQL is the PHP Data Objects (PDO) driver that allows to access MYSQL database from PHP;

SimpleXML is the extension that makes it possible to work with data in XML format;

Mcrypt and Hash are the extensions that enable access to cryptographic functions and data hashing functions;

GD is a graphic library that enables interaction with GIF, JPEG, PNG and other image formats.

DOM  makes it possible to work with HTML, XHTML and XML formats;

Iconv allows for conversion of different data codes.

CURL allows for data transfer using different protocols (http, https, ftp, etc)

If you use Webservice API you will also need SOAP extension.

 

To install the required extensions execute:

[root@magesrv] ~# apt-get install php5-curl php5-gd php5-mycrypt php5-mysql

 

Database

For the purpose of data storage Magento uses MYSQL database management system. Any version of MYSQL later than 4.1.20 is relevant. Though we recommend that you use a version not earlier than 5.1.x.

 

To install server and client execute:

[root@magesrv] ~# apt-get install mysql-server mysql-client

 

SSL and HTTPS

If you are planning to use the HTTPS secure protocol for data transmission you will need a SSL certificate that can be obtained from a certification center (VeriSign, GoDaddy, GeoTrust, Thawte, etc.) You can get certificate installation instructions from the corresponding certification center or from your server control panel manual.

 

Please keep in mind that all of the above mentioned software components a necessary for basic Magento functionality. Third-party extensions might require other software components, not mentioned in this article. (To properly install and configure them, please consult the relevant user manuals).

-------------------------------------------

Please note that this article is intended for qualified professionals. You take full responsibility over the actions that you decide to undertake based on the suggestions from this article. Please note that AITOC takes no responsibility for any possible damages to equipment or software, downtime or any losses. If you do not fully understand its content and what suggested changes will lead to, hire a qualified consultant or developer.

 

Thank you for reading our blog. Please use BLOG15 coupon code to get a one-time 15% discount if you decide to buy Magento modules from AITOC.