Magento is the best eCommerce software and solution for online services. Recently the Magento team has released its new version Magento 2.0 with lots of improvements changes and optimizations over Magento 1.

Step 1 – Install Apache2 and PHP

You can use following commands to install all requirements from default repositories.

sudo apt install apache2 

Then install PHP and other required PHP modules.

sudo apt install php libapache2-mod-php php-mysql php-dom php-simplexml 
sudo apt install php-curl php-intl php-xsl php-mbstring php-zip php-xml

Step 2 – Install MySQL Server

You can use MySQL or MariaDB as the database server for Magento application.

sudo apt install mysql-server

Step 3 – Download Magento 2 Archive

Magento is available in 2 editions Enterprise and Community. In this tutorial we are using community edition for setup. Download Magento2 community edition from its official website.

After downloading the archive file, extract it under website document root. So we can access directly from web browser.

cd /var/www/html/magento2
tar xjf ~/Downloads/Magento-CE-*.tar.bz2
chown -R www-data.www-data /var/www/html/magento2
chmod -R 755 /var/www/html/magento2

Step 4 – Create MySQL Database

Now login to your MySQL server with admin privileges and create a database and user for new Magento 2 installation.

mysql -u root -p

mysql> CREATE DATABASE magento2_db;
mysql> GRANT ALL ON magento2_db.* TO [email protected]'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> quit

Step 5 – Run Web Installer

Let’s begin the installation of Magento2 using web installer. Access your Magento 2 directory on the web browser like below. It will redirect you to the installation start page.

 http://localhost/magento2/

4.1. Agree the License agreement and click on “Agree and Setup Magento”

Install Magento 2 - Step 1

4.2. Now click on “Start Rediness Test”. Magento will check for system requirements here. On successful completion, you will see the screen like below then Just click Next. Fix issues if shows on this screen and click Try again.

Install Magento 2 - Step 2

4.3. Enter your database details here created in step 3.

Install Magento 2 - Step 3

4.4. On this page configure the admin URL and website URL. For security reason it will not take url as admin, that’s why I used myadmin here. Now click Next.

Install Magento 2 - Step 4

4.5. You will see a success message on this screen. Now just click on “Launch Magento Admin”
Install Magento 2 - Step 5

4.6. At this step, Magento is ready for installation. Click on Install Now button to begin installation and wait for its completion.

Install Magento 2 - Step 6

4.7. At this step, Magento installation is completed. Now create an admin account for yours. remember these details for admin login in future.

Install Magento 2 - Step 7

4.8. Set the preferred timezone, default currency and default language as per your requirements.

Install Magento 2 - Step 8

4.9. Finally, it will open the Admin Login screen. Use admin credentials to log in on this screen. It will open Admin panel after successful authentication.

Install Magento 2 - Login Page

Congratulation! You have successfully deployed Magento2 on your system.

Step 6 – Schedule Magento2 Cronjobs

Finally schedule the backgound cronjobs for your magento2 installation. These cronjobs does some activities like, re-indexing, Newsletters, Update of currency rates, sending automatic emails and generating sitemaps etc. To schedule these jobs edit crontab file

crontab -e

and add following cronjobs at the end of file and save it.

*/1 * * * * www-data php /var/www/html/magento2/bin/magento cron:run
*/1 * * * * www-data php /var/www/html/magento2/update/cron.php
*/1 * * * * www-data php /var/www/html/magento2/bin/magento setup:cron:run

Here www-data is the user under which Apache is running and /var/www/html/magento2/ is the location of your Magento2 applications.