E-Commerce businesses have a variety of options these days when considering which software to use in running their e-commerce business. There are SaaS options for those who are comfortable releasing control of their site to a third party who will manage the server backend, as well as self-hosted options where you can install the software on a server managed by your company.
One of the most popular open-source options is Magento. It has established itself as a reliable and trusted e-commerce software platform over the years. In this article, we’ll provide an overview on what is Magento, how much does it cost, and how you can run it on your own server.
See Also: How to Setup Ecommerce server hosting
What is Magento?
First released in 2008, Magento is an e-commerce management platform developed in PHP. The Magento company is currently owned by eBay. There are two versions of Magento software, Magento Open Source and Magento Commerce. Magento Open Source is the free version of Magento, and Magento Commerce is a paid version of the product which is hosted by Magento directly.
When reviewing who uses Magento, you will find e-commerce retailers of all shapes and sizes leveraging the completely customizable nature of the software.
Magento Pricing
For users looking to setup Magento Open Source on their own servers, there is no cost for licensing Magento directly. The only costs would be running and maintaining the Magento server, which could be as little as $30 per month. Visit our blog for more details on server cost.
If you’re wondering how much does Magento Commerce cost, the Magento prices for the Commerce version range from $22,000 per year for sales under 1 million dollars, and can go as high as $125,000 per year for businesses with over 25 million in revenue. Exact pricing for Magento Commerce can be obtained by requesting a quote with Magento directly.
Magento System Requirements
The Magento requirements to run the open-source version are as follows:
- Linux distributions such as CentOS, Ubuntu, Debian or RedHat Enterprise Linux
- 2GB of RAM
- 2.0GHz Processor
- Web Server: Apache 2.2 or 2.4 / Nginx 1.8
- Database: MySQL 5.6, 5.7
- PHP: 7.1.3+ 7.2.x
The Magento 2 requirements also need the following PHP curl extensions:
- curl;
- gd, ImageMagick > 6.3.7;
- intl;
- mbstring;
- mcrypt;
- mhash;
- openssl;
- PDO/MySQL;
- SimpleXML;
- soap;
- xml;
- xsl;
- zip;
- json (PHP 7 only);
- iconv (PHP 7 only)
How to Install Magento
The easiest way to install Magento is by using Composer. This guide will document how to install Magento 2 on Ubuntu, so instructions may vary for other distributions:
Step 1: Login to SSH on the server
ssh root@IP-address
Step 2: Create the Magento user
adduser magentousermod -a -G www-data magento
Step 3: Install Required Software
apt updateapt install mariadb-server openjdk-8-jdk mariadb-client php-soap php-zip php-intl php-gd php-curl php-xml php7.4-bcmath apache2 composer zip php libapache2-mod-php php-mysql
Step 4: Install Elastic Search
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.listapt-get update && apt-get install elasticsearchservice elasticsearch start
Step 5: Configure the Document Root
nano /etc/apache2/sites-available/magento2.conf
Paste the following content, substituting your domain and email:
<VirtualHost *:80>ServerAdmin admin@domain.comDocumentRoot /var/www/html/magento2ServerName domain.comServerAlias www.domain.com<Directory /var/www/html/magento2>Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from all</Directory>ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>
Clear the directory and enable rewrites:
rm /var/www/html/index.htmla2ensite magento2.confa2enmod rewrite
Restart the database and Web Servers:
systemctl restart mariadb.service && systemctl restart apache2
Step 3: Configure the Database
mysql_secure_installation
Make the following selections:
Enter current password for root (enter for none): EnterSet root password? [Y/n]: YNew password: Type your passwordRe-enter new password: Type your passwordRemove anonymous users? [Y/n]: YDisallow root login remotely? [Y/n]: YRemove test database and access to it? [Y/n]: YReload privilege tables now? [Y/n]: Y
Login to the database:
mysql -u root -p
Create a new database for Magento 2:
CREATE DATABASE magento2;
Then create a new user called magento:
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'PASSWORD';
Grant magento access to the magento2 database:
GRANT ALL ON magento2.* TO 'magento'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Flush privileges and exit:
FLUSH PRIVILEGES;EXIT;
Step 4: Download Magento
Enter the following command, substituting the directory at the end with your desired install directory:
chown -R www-data:www-data /var/www/html/su magentocd /var/www/htmlcomposer create-project --repository=https://repo.magento.com/ magento/project-community-edition /var/www/html/magento2/
You will be required to enter your Magento public key as your username and private key as the password to authenticate. You can get your authentication keys here.
Step 5: Install Magento
cd /var/www/html/magento2/bin./magento setup:install --base-url=http://opencartsite.com/ --db-host=localhost --db-name=magento2 --db-user=magento --db-password=PASSWORD --admin-firstname=Magento --admin-lastname=User --admin-email=user@example.com --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1 --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200
You can now navigate to your admin directory to beign managing your site.
Deploy A Magento Server
If you’re ready to create your next Magento or Small Business Server, consider booking a free consultation. ServerMania offers a wide selection of dynamic hosting solutions and a 100% uptime guarantee. We’ll help you choose the right e-commerce server for your needs and budget.
COMPLETE DIGITAL SERVER SOLUTIONS FOR ALL
Bare Metal Dedicated Servers

A single tenant, physical server allowing you full access to its resources.
Browse servers
Professional Hybrid Servers

Virtualized server platform hosted on enterprise-grade physical servers.
Browse servers
There are no comments yet, why not be the first?