BILLYSOFTACADEMY

A simple guide on how to install shopware community edition on a cloud hosted linux ubuntu 20.04 LTS server.

In this tutorial, you will learn how to install the community edition of the shopware ecommerce system on a cloud hosted linux ubuntu server. For this demo I will use the amazon web services LIGHTSAIL vps hosting service but you can still follow along this tutorial if you would like to use a different cloud or hosting provider such as DIGITAL OCEAN, GOOGLE CLOUD, ALIBABA CLOUD. Shopware community edition offers a beautiful and user-friendly web UI used for managing clients and orders. It allows you to manage the prices of products, change or update themes, design email templates for marketing your products, and so much more. So basically if you are a new or existing business owner and looking for an affordable way to deploy a global ecommerce solution then we recommend that you try out the shopware ecommerce solution for your brand. With shopware you can deploy a complete end to end solution from design your online store and managing orders to shipping and final product delivery. Watch this tutorial right up to the end to learn how to install the system and also how to protect the e-commerce system with a free letsencrypt SSL certificate in minutes!

Requirements

In order to complete this tutorial, the following is a list of items that may be needed or required. Please ensure to have these items available before taking implementation action on this tutorial to ensure success:
1) A desktop or laptop with at least 2GB RAM, a dual-core processor, and at least 50GB of free disk space
2) An Amazon Web Services account or IAM user account with permission to provision instances on the Lightsail service
3) An SSH client such as Putty or the built-in MacOS / Linux terminal app
4) The LEMP stack – NGINX, MariaDB, and PHP
5) The shopware zip file.

Overview

The following is a brief overview of the setup steps covered in this tutorial:
1) Open AWS Lightsail and deploy a Linux Ubuntu 20.04 LTS instance
2) Create an A record and point it to the public IP address of the instance
3) Connect to the instance using an SSH client, configure a custom hostname, and install package updates
4) Install the LEMP stack and download shopware
5) Create an NGINX virtual host configuration file and complete the shopware post-installation setup

Step 1: Open AWS Lightsail and deploy a Linux Ubuntu 20.04 LTS instance.

Sign into your Amazon Web Services account and use the search box at the top of the dashboard to search for Lightsail. Click the Lightsail search result to open the Lightsail dashboard. Click the Create Instance button to open the instance creation wizard.

To change the Instance Location, click Change AWS Region and Availability Zone, and choose your desired instance location from the list of available locations. On the Select, a platform section, click Linux / Unix and on the Select a blueprint section, click OS Only and select the Ubuntu 20.04 LTS blueprint. Scroll down to the Choose your instance plan section and select the $10 plan which gives you the ‘first 3 months free!’ Scroll down once more, type in a name for the instance on the Identify your instance input box and click Create Instance.

Step 2: Create an A record and point it to the public IP address of the instance.

Return to the Amazon Web Services dashboard and search for Route53. Click on the Route53 search result to open the Route53 dashboard. Click Hosted zones and click your desired hosted zone for your registered domain name. Click Create record and type in your desired hostname on the record name field (this will create: yourhostname.yourdomain.com, leave this field blank if you want: yourdomain.com). Type in the public IP address of the Ubuntu instance on the Value field and click Create records. 

If you have a domain name registered on a different domain registrar such as Namecheap or Godaddy. Simply log into your domain registrar account and create an A record that points to the public IP address of the Ubuntu instance.

Step 3: Connect to the instance using an SSH client, configure a custom hostname, and install package updates

Return to the Amazon Lightsail dashboard and click the name of the Ubuntu instance. On the Connect tab, click Download default key to download the key pair file needed to connect to the instance. If you are using a Mac / Linux based desktop computer, open your terminal app and run the following commands:
Edit the Ubuntu hosts configuration file and add an entry for your custom hostname

Edit the cloud.cfg configuration file and enable the preserve hostname parameter

Update the Ubuntu repository by running the command:

Step 4: Install the LEMP stack and download Shopware

The next step is to install the LEMP stack on the Ubuntu 20.04 instance. LEMP stands for LINUX, NGINX, MARIADB, PHP, and together it is a stack commonly used to deploy websites and web-based applications. NGINX is a we server used to deploy websites and web based applications, MARIADB is a database engine used to create and manage MYSQL databases and PHP is a general purpose scripting language used to create websites and web applications. Run the commands below to install the LEMP stack: 

Run the following commands to add the ondrej/php repository to your Ubuntu server and install PHP 7.2
Downlaod and ioncube php extension. The iocube loader extension basically allows your system to decode and execute encoded PHP files.
Next, check the PHP extensions directory, copy the ioncube file to this directory and complete the installation:

Finally, run the command below to open the php.ini configuration file

Add the following configuration into this file:
     memory_limit = 512M
     upload_max_filesize = 20M
     max_execution_time = 300

Create an MySQL database for Shopware