How to Install AbanteCart on Ubuntu 20.04
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
- Deploy a Ubuntu 20.04 Vultr Server
- A domain name pointed to the server
- SSH and Login as a standard user with sudo privileges
- Install LAMP
- Update the server
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.
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.
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.