Installing a software such as Magento can be daunting. Magento has several dependencies that need to be met in order for it to run. As a developer, I encounter situations where I need to install software locally on my machine because it's easier to develop for. Running web pages locally enables me to save information faster and access information more efficiently.

Here is the full list of requirements to run Magento CE:

  • Supported Operating Systems:
    • Linux x86, x86-64
  • Supported Web Servers:
    • Apache 1.3.x
    • Apache 2.0.x
    • Apache 2.2.x
    • Nginx (starting from Magento 1.7 Community and 1.12 Enterprise versions)
  • Supported Browsers:
    • Microsoft Internet Explorer 7 and above
    • Mozilla Firefox 3.5 and above
    • Apple Safari 5 and above on Mac only
    • Google Chrome 7 and above
    • Adobe Flash browser plug-in should be installed
  • PHP Compatibility:
    • 5.2.13 - 5.3.15
    • Required extensions:
      • PDO_MySQL
      • simplexml
      • mcrypt
      • hash
      • GD
      • DOM
      • iconv
      • curl
      • SOAP (if Webservices API is to be used)
    • Safe_mode off
    • Memory_limit no less than 256Mb (preferably 512)
  • MySQL:
    • 4.1.20 or newer
    • InnoDB storage engine
  • SSL:
    • If HTTPS is used to work in the admin, SSL certificate should be valid. Self-signed SSL certificates are not supported
  • Server - hosting - setup:
    • Ability to run scheduled jobs (crontab) with PHP 5
    • Ability to override options in .htaccess files

This list is rather daunting and can be confusing to those who are new to the world of Magento development.

Magento published a small PHP file that checks the PHP extensions required for Magento to run. There is one thing Magento did not account for. Developers might not be using a LAMP stack to develop and run for Magento. I personally use XAMPP running on Windows 7. There is a shell_exec function in the original file that does not account for Windows-based systems.

We have created a small gist on github that checks your MySQL version using the mysql_get_server_info() function. This pulls your MySQL client version from phpinfo() rather than issuing a BASH command.

A copy of the gist can be found here: Feel free to download and check your system!

Be Sociable, Share!