How to Install AbanteCart on Ubuntu 20.04

Updated on January 25, 2022
How to Install AbanteCart on Ubuntu 20.04 header image

AbanteCart is a free, open-source eCommerce application used to build interactive online shopping websites. The fast and secure solution allows you to design, list products, attach prices, set up delivery methods, and accept payments on your eCommerce website.

This article explains how to install AbanteCart on an Ubuntu 20.04 LTS server.

Prerequisites

Create a new AbanteCart MySQL Database

Create a new database.

mysql> CREATE DATABASE abante;

Create a new database user with a strong password.

mysql> CREATE USER 'abanteuser'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD';

Grant the user full rights to the Abante database.

GRANT ALL PRIVILEGES ON abante.* TO 'abanteuser'@'localhost';

Reload MySQL privileges.

mysql> FLUSH PRIVILEGES;

Exit the MySQL shell.

mysql> EXIT

Install Required PHP Extensions

AbanteCart requires extra PHP modules activated on your server, install them using the following command:

 $ sudo apt install php-xml php-gd php-mysql php-curl php-zip php-mbstring

Also, disable the php-opcache module to avoid AbanteCart installation time errors.

$ sudo phpdismod opcache

Restart Apache for changes to take effect.

$ sudo service apache2 restart

Install Abante Cart

Download the latest AbanteCart stable version from its GitHub page.

$ wget https://github.com/abantecart/abantecart-src/archive/master.zip

Extract files from the archive.

$ unzip master.zip

Among the extracted files, public_html contains all necessary AbanteCart files. Move them to the webroot directory; by default, Apache points to /var/www/html. If you intend to run AbanteCart on a subdomain, create a new directory under /var/www/.

Create the directory.

$ sudo mkdir /var/www/abante

Now, move the public_html directory files to your webroot.

$ sudo mv public_html/* /var/www/abante

Grant Apache full ownership permissions to the directory.

$ sudo chown -R www:www-data /var/www/abante

Change the permissions mode to grant Apache write permissions to the directory.

$ sudo chmod 755 /var/www/abante

Next, configure Apache to serve files from the Abante directory.

Configure Apache

To serve AbanteCart on a separate domain, create a new Apache virtual host configuration file with /var/www/abante/ as the root directory.

Create a new virtual host file.

$ sudo touch /etc/apache2/sites-available/abante.conf

In your favorite editor, edit the file.

$ sudo nano /etc/apache2/sites-available/abante.conf

Paste the following lines of code, and replace example.com with your actual domain or subdomain.

<VirtualHost *:80>
    ServerName shop.example.com
    ServerAdmin hello@shop.example.com
    DocumentRoot /var/www/abante
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Save and close the file.

Enable the new virtual host profile.

$ sudo a2ensite abante

Restart Apache.

$ sudo systemctl reload apache2

Configure the Firewall

By default, the UFW firewall is enabled on Ubuntu. Depending on your Apache virtual host configuration file, open ports 80 and 443 to allow HTTP and HTTPS traffic.

Allow http traffic on port 80.

$ sudo ufw allow 80/tcp

Allow https traffic on port 443.

$ sudo ufw allow 443/tcp

Then, check the current firewall rules table.

$ sudo ufw status

Your output should be similar to the one below:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)

Now, restart the firewall.

$ sudo ufw reload

Configure AbanteCart

Visit your domain name in your web browser to start the installation wizard.

http://shop.example.com

The AbanteCart license page is displayed. Agree to the license, then continue with the setup process.

A compatibility check will run. If required packages and PHP extensions are installed, and AbanteCart can write to your webroot directory, it will create a new configuration file to store your database settings.

Enter the database name, username, password created on step 1. As well, select MySQLi as the database driver and localhost as the hostname.

Abante Cart Configuration

Next, limit access to the backend with a unique login key phrase. Then, enter a username, email, and a strong password to create an administrator account.

After the server installs the necessary database entries and system files, log in to the backend console using your secret key phrase, administrator username, and password.

Use the quick start wizard to set up your preferred online store name, description, and contact information to display on the home page. Then, add tracking codes, shipping methods, payment options, tax settings, logo, and icons to continue.

Abante Cart Web Panel

To secure the server, delete the AbanteCart installation directory from your webroot files.

$ sudo rm -r /var/www/abante/install 

Furthermore, Install Certbot, and request a free Let’s Encrypt SSL certificate to serve AbanteCart over HTTPS.

Install Certbot.

$ sudo apt install python3-certbot-apache

Use Certbot to request a new SSL certificate. Change example.com, hello@example.com to your actual domain and email, respectively.

$ sudo certbot --redirect -d shop.example.com  -m hello@example.com --agree-tos

Test auto-renewal.

$ sudo certbot renew --dry-run

Conclusion

You have successfully installed and secured AbanteCart on a Ubuntu 20.04 LTS server. With free backend extensions, you can further design your online shopping website with new products, features, payment, and shipping methods to serve customers faster.