Magento is an open source content management system for e-commerce based web applications. It is a popular e-commerce open source web application. There is also an enterprise edition for Magento. So, the open source can be used for small-scale e-commerce websites and you can modify the application based on your necessities. Enterprise edition, on the other hand, can be used for the high end e-commerce site and the application customization preferences are more when likened to the open source version.
You can read a comparison between Joomla CMS and Magento here
In this tutorial, I will explain how you can set up an open source Magento framework on amazon ec2 machine.
Ec2 instance Configurations:
1. Launch an Ubuntu instance using the management console. When launching the instance , make sure you open port 80 in the security groups.
Read: How to launch an Ubuntu instance on amazon ec2
2. Connect the instance using putty.
Read: How to connect ec2 instance using putty.
3. Login as root user.
4. Update the server
Magneto backend needs apache , Php, and Mysql database. You can configure all three applications using one command.
1. Install and configure Lamp stack.
apt-get install -y lamp-server^
2. Create a root password for MySQL and confirm it.
3. You can check if apache and MySQL service are running using the following commands
service apache2 status service mysql status
4. Magento needs a database on MySQL server. You can create a database on MySQL server using the command line and PHPMyAdmin. I prefer PHPMyAdmin since you can manage your MySQL database from the browser using GUI.
5. Install PHPMyAdmin on Ubuntu instance
apt-get install phpmyadmin
You will be prompted to select the web server. Select apache using the space bar and hit enter. Then you will be prompted to enter the PHPMyAdmin root password. Give a strong password.
Phpmyadmin has to be integrated with mysql-server. So when prompted select db-conf and enter the MySQL root password you created during the LAMP stack installation.
6. Once installed, you can access the PHPMyAdmin dashboard using the public IP, elastic IP or the Public DNS of your instance followed by /phpmyadin.
7. Login to PHPMyAdmin using the credentials you created . The default username is root and password is the password you created during PHPMyAdmin setup.
8. Create a database magentoDB for Magento application using PHPMyAdmin. Click the database option in the top navigation panel and enter magentodb for the database name and hit enter.
1. Download Magento to the /var/www folder.
2. Untar the file
tar –xvzf mag*
3. Change the file permissions for the following folders to give magneto write permission on those folders.
chmod -R o+w magento/app/etc/ chmod -R o+w magento/var/ chmod -R o+w magento/media/
4. Add encrypt extension to the php.ini file located in /etc/php5/apache2/php.ini
vi /etc/php5/apache2/php.ini extension=mcrypt.so
5. Install php5 curl.
apt-get install php5-curl
6. Add curl extension to the php.ini file.
vi /etc/php5/apache2/php.ini Extension=curl.so
1. Go to http:// <IP>/magento from your browser. Magento installation wizard will appear.
eg : http://22.214.171.124/magento
2. Tick the terms and conditions and hit continue.
4. Enter the MySQL credentials and database name “magnetodb” in the required field. Enter username and password for MySQL . Check all the details and click enter.
Note: You can use Amazon RDS for the backend database. If you are using RDS MySQL provide the database endpoint in the host field. And give the username and password for the RDS database server
5. For admin account, enter your personal information, login information , the encryption key and hit continue.
6. That’s it!! Installation is done!! You can now access the front end and the backend using the options given in the page. Survey is optional.
Very helpful guide. I followed the steps close and was able to install Magento on my EC2 instance. Thanks a lot!!
Awesome thank you! I ran into ipaddress/phpmyadmin server could not be found. I ran this:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo service apache2 reload
and it worked if anyone comes across that same issue.
Lamp stack is install php7, however magento 1 requires 5.x, what to do?