×
Community Blog A Brief Guide to Install and Configure Shopware CE on Alibaba Cloud ECS

A Brief Guide to Install and Configure Shopware CE on Alibaba Cloud ECS

In this tutorial, we will install and set up Shopware CE on Alibaba Cloud Elastic Compute Service (ECS) along with Ubuntu 16.04.

By Arslan Ud Din Shafiq, Alibaba Cloud Community Blog author.

Shopware Community Edition (CE) is an open-source e-Commerce platform to facilitate online business. Its source code is available on Github. It provides a powerful admin panel to manage clients and their orders. It offers an all-in-one solution that allows businesses to manage the prices of products, change or update themes, design email templates for marketing your products, and generate statistical results. It also supports plugins and APIs for extension and supports multiple payment methods.

In this tutorial, we will install and set up Shopware CE on Alibaba Cloud Elastic Compute Service (ECS) along with Ubuntu 16.04.

Prerequisites

  • You must have Alibaba Cloud Elastic Compute Service (ECS) activated and verified your valid payment method. If you are a new user, you can get $300 – $1200 worth in Alibaba Cloud credits for your new account. If you don't know about how to setup your ECS instance, you can refer to this tutorial or quick-start guide. Your ECS instance must have at least 1GB RAM and 1 Core processor
  • A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.
  • Domain name must be pointed to your Alibaba Cloud ECS's IP address
  • Access to VNC console in your Alibaba Cloud or SSH client installed in your PC
  • Set up your server's hostname and create a user with root privileges.

Setting Up Your Server

Firstly, use the following command to update your Ubuntu system before proceeding with the installation of any type of package. For executing this command, remember to login from non-root user with Sudo privileges.

sudo apt update && sudo apt upgrade

Install Git

We need to install Git to retrieve the Shopware from Github.

sudo apt-get install git -y

Install Apache Ant

Next, we need to install Apache Ant by executing the following command:

sudo apt-get install ant

Install PHP

Shopware CE requires the installation of PHP 5.6.4 or a later version of PHP. For this tutorial, we will install PHP 7.2 by executing the following steps.

Step 1: Install python software properties and software properties common as these are necessary for the installation of PHP 7.2. To do so, execute the command below.

sudo apt-get install software-properties-common python-software-properties

You need to add a repository for the later versions of PHP by executing the commands below.

sudo add-apt-repository ppa:ondrej/php

Step 2: Update the system to refresh the available repositories and make PHP 7.2 repository available for installation. Execute the following command for updating the Ubuntu system.

sudo apt update

Step 3: Once PHP 7.2 repository loads successfully, install PHP 7.2 by using the following command.

sudo apt install -y php7.2

Install PHP Extensions

Shopware CE requires multiple PHP extensions, including php7.2-cli, php7.2-fpm, php7.2-common, php7.2-mysql, php7.2-json, php7.2-opcache, php7.2-gd, php7.2-mbstring, php7.2-curl, php7.2-zip, and php7.2-xml. Execute the following command to install all the required extensions.

sudo apt-get -y install php7.2-cli php7.2-mbstring php7.2-common php7.2-mysql php7.2-fpm php7.2-xml php7.2-curl php7.2-opcache php7.2-zip php7.2-gd php7.2-json

Once you have installed the above extensions, Apache2 will be automatically installed. Hence, there is no need to install an Apache explicitly.

Further, to check whether you have correctly installed PHP, you can execute the following command and verify the installed PHP version.

php --version

Install MariaDB

Shopware CE supports MySQL, PostgreSQL, and SQLite. For this tutorial, we will use the MariaDB server for MySQL. By default, the Ubuntu repository has an older version of the MariaDB server. We need to add MariaDB repository to the Ubuntu system for using the new version of MariaDB by following the steps listed below.

Step 1: Verify the keys by executing the command shown below.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Step 2: Add the repository using the following command.

sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

Step 3: Now update the system by using the command below.

sudo apt update

Step 4: Now install MariaDB using the following command.

sudo apt install -y mariadb-server

Step 5: Start and enable the MariaDB server to ensure that after reboot, the server starts automatically.

sudo systemctl start mariadb

sudo systemctl enable mariadb

Step 6: Now run the following command to enhance the security of MariaDB server and set a password for the root user.

sudo mysql_secure_installation

Also, connect to the MySQL shell as the root user by executing the command below and enter your password.

sudo mysql -u root -p

Execute the following MySQL queries in your MariaDB server.

CREATE DATABASE shop CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'aareez'@'localhost' IDENTIFIED BY '654321Ab';
GRANT ALL PRIVILEGES ON shop.* TO 'aareez'@'localhost';
FLUSH PRIVILEGES;
EXIT; 

Another alternative is Alibaba Cloud Aspara DB for RDS. It is recommended to use Alibaba Cloud AsparaDB for RDS as it relieves you from managing a database so that you can focus on your business. It is ready to use service that is highly scalable, available, secure to use, and offers protection against SQL injections, network attacks, brute force attacks and several other types of database attacks.

Install Shopware CE

Let's follow the steps listed below to install Shopware CE:

Step 1: Navigate to /var/www/html using the command.

cd /var/www/html

Now change ownership of /var/www/html directory as shown below.

sudo chown -R aareez:aareez /var/www/html

Step 2: Remove index.html file using the command below.

rm index.html

Download the latest stable release of Shopware CE from Github using the command below.

git clone https://github.com/shopware/shopware.git

Step 3: Now, navigate to /shopware using the command listed below.

cd /var/www/html/shopware

Set the respective directory permissions by executing the following commands.

chmod -R 755 engine/Shopware/Plugins/Community

chmod -R 755 web

chmod -R 755 files

chmod -R 755 media

chmod -R 755 custom/plugins

chmod -R 755 var

Configure Shopware

To configure the database, navigate to /build directory by executing the following command.

cd /var/www/html/shopware/build

Initiate configuration by executing the command below.

sudo ant configure

When you are asked to enter db-host, type "localhost" and hit Enter key.

Next, when you are prompted to enter db-port value, type "3306" and hit Enter key.

When you are asked to enter db-name, type "shop" and hit Enter key.

Enter your user name and password, when you are asked to provide the db-username and db-password, respectively.

Also, provide your domain name or IP address when the system prompts to enter app.host

Type /var/www/html/shopware and hit Enter key When the system asks to provide app.path, type

Now, execute the following command to build the project.

sudo ant build-unit

Setup Permissions for Apache

Provide ownership of /var/www/html to www-data to ensure that the Apache server can access the required files.

sudo chown -R www-data:www-data /var/www/html

Configure Apache Server

Let's create a virtual host configuration file for Shopware CE. Execute the following command to open a file in the Nano text editor.

sudo nano /etc/apache2/sites-available/shopware.conf

Copy and Shopware CE the following code and save the file.

<VirtualHost *:80> 
    ServerAdmin admin@xyz.com
    ServerName softpedia.xyz
    DocumentRoot /var/www/html/shopware
    DirectoryIndex shopware.php index.php index.htm index.html
   <Directory /var/www/html>
        Options +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
 ErrorLog ${APACHE_LOG_DIR}/ShopwareCE_error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/ShopwareCE_access.log combined
</VirtualHost>

Execute the command below to disable default site.

sudo a2dissite 000-default.conf

Now you need to enable the newly created virtual host by executing the command below.

sudo a2ensite shopware

You also need to enable rewrite mod. You can do so either by editing a configuration file in the Apache2 directory or simply executing the command below.

sudo a2enmod rewrite

Enable SSL engine. Either by editing a configuration file in the Apache2 directory or by executing the following command

sudo a2enmod ssl

Now, restart the Apache server to apply the changes and load the settings by executing the command below.

sudo service apache2 restart

Finally, you can access Shopware CE and its admin panel via your domain name or ECS IP address. For this tutorial, we have accessed via http://softpedia.xyz/backend.

Once you log into the admin panel using your credentials, you will be redirected to the following dashboard page.

1

Update the Admin password by navigating to User Administration panel under the Configuration tab and click the Edit icon as shown below.

2

Set Up Firewalls and Ports

If you have activated firewalls, you need to define a rule in Alibaba Cloud security group for your cloud server to add an exception for port 80/TCP and 443/TCP. You can enable these ports while creating ECS instance, but in case if you have forgotten to unblock these ports, you can follow the procedure in this guide: https://www.alibabacloud.com/help/doc-detail/25471.htm

Install SSL Certificate

You need to use Certbot for installing the SSL certificate using Let's Encrypt. To do so, execute the following steps.

Step 1: Update the package using the following command.

sudo apt-get update

Step 2: Install software-properties-common by executing the command below.

sudo apt-get install software-properties-common

Step 3: Add the Certbot repository by using the following command.

sudo add-apt-repository ppa:certbot/certbot

Step 4: Use the command below to update the package for loading the added Certbot repository.

sudo apt-get update

Ensure to stop Apache before issuance of the SSL certificate as shown below.

sudo systemctl stop apache2

Step 5: Now, install python-certbot-apache using the command below.

sudo apt-get install python-certbot-apache

Step 6: Execute the following command to get Let's Encrypt SSL issued.

sudo certbot --apache -d softpedia.xyz

Select Option 2 to redirect the link to https and update virtual host settings for SSL.

3

After a successful issuance of the SSL certificate, you will be navigated to the following screen.

4

Now, run the following command to restart the Apache server.

sudo systemctl start apache2

Now you can access your website hitting your URL.

There you go! You have successfully installed and configured Shopware CE on your server.

0 0 0
Share on

Alibaba Clouder

2,603 posts | 747 followers

You may also like

Comments