Today, we'll learn how we can start our very own eCommerce Site with AbanteCart in our machine running CentOS 7. AbanteCart is a free and open source PHP based eCommerce powerful platform designed and built for dynamic and fast growing online businesses. It is suitable from small to large online shopping website. It is utilizes very low hardware resource consuming shopping cart application which makes it blazing fast. It has pretty awesome responsive layout which makes it easily fit in any devices with beautiful design. Some of the awesome features of AbanteCart are as follows.
- It has beautiful HTML5 based responsive templates supporting mobile devices and tablets.
- AbanteCart has many payment services available by default like Paypal, Payza, AIM, Bank Transfer, Skril, SagePay, WordPay and many more.
- It generates SEO optimized with SEO URLs, Mobile-friendly storefront for Google, Site Maps, Meta-information for products, pages, etc.
- The security features provided by AbanteCart is awesome as it has passwords encryption in database and customer's data encryption in backups, customizable admin url and moreover it features SSL compatibility in both storefront and admin.
- It has stock management feature for the products and also has shipping features through various shipping companies.
- It contains discount coupon system, customers account management, order history, password reminder and many more.
Here are some fast and easy steps on how we can install AbanteCart on our machine or VPS running CentOS 7 as linux distribution. This tutorial includes installation of AbanteCart using its source code though there is the availability of graphical installer, Bitnami for AbanteCart for its quick and easy installation.
1. Installing LAMP stack
First of all, we'll need to install LAMP stack in our CentOS 7 machine. LAMP stack is the combination of Apache Web Server, MySQL or MariaDB Database System and PHP. We can directly install them using yum package manager by running the following command directly in a terminal or a shell.
$ sudo yum install httpd mariadb-server mariadb php php-mysql php-fpm php-gd php-mbstring unzip wget
Now, we'll gonna start our Apache web server and MariaDB by running the following command.
$ sudo systemctl start httpd
$ sudo systemctl start mariadb
Next, we'll enable apache web server and mariadb to start on every boot of the system.
$ sudo systemctl enable httpd
$ sudo systemctl enable mariadb
2. Downloading AbanteCart
Now, we'll gonna download the source code of the latest release of AbanteCart using wget command in a terminal.
$ cd /tmp/
$ wget https://github.com/abantecart/abantecart-src/archive/master.zip
After downloading AbanteCart zip package directly from the official Github repository, we'll now extract the zip package using unzip.
$ unzip master.zip
Next, we'll gonna copy the entire extracted files from abantecart-src-master/public_html to /var/ww/html/ directory as it is the default root directory of Apache Web Server. To do so, we'll run the following cp command under root or sudo access.
$ sudo cp -r abantecart-src-master/public_html/* /var/www/html/
3. Configuring MariaDB Database
We'll now need to setup our mariadb server as we're running for the first time. To do so, we'll need to run the following command in a terminal or a shell.
$ sudo mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Note: Above, we are asked to enter the root password of the mariadb server but as we are setting for the first time and no password has been set yet, we'll simply hit enter while asking the current mariadb root password. Then, we'll need to enter twice the new password we wanna set. Then, we can simply hit enter in every argument inorder to set default configurations.
4. Creating a new Database for AbanteCart
We'll now create a database for AbanteCart to store data and information. As we have installed MariaDB server as the database system, we'll gonna login to the MariaDB command environment by running the following command.
$ sudo mysql -u root -p
Here, we're required to enter the password we just created in the above step.
After we have successfully logged into the mariadb environment, we'll now create our database for AbanteCart as "abante_db". Then we'll create a user and assign password as "abante_user" and "abante_password" respectively. To do so, we'll need to run the following command inside the mariadb command environment.
> CREATE DATABASE abante_db;
> CREATE USER 'abante_user'@'localhost' IDENTIFIED BY 'abante_password';
> GRANT ALL PRIVILEGES on abante_db.* TO 'abante_user'@'localhost' ;
> FLUSH PRIVILEGES;
This will configure the database and exit the MariaDB command environment.
Note: It is strictly recommended to replace the above variables according to your desire for security reason.
5. Ownership and Permission
Next, we'll gonna configure some ownership and permission stuffs to the AbanteCart files and folders. To change the ownership of the files and directories to apache to provide writeable access to apache process owner, we'll gonna run the following command in a terminal or console under sudo or root access.
$ sudo chown -R apache: /var/www/html/
Now we'll need to change the permission of some files and directories of AbanteCart installation directory ie /var/www/html/ . To do so, we'll gonna run the following command.
$ cd /var/www/html/
$ sudo chmod -R 777 image/ system/ download/ extensions/ resources/ admin/system/backup/
$ sudo chmod 777 system/config.php
Then, after done, we'll gonna simply restart our Apache web server by running the following command.
$ sudo sytemctl restart httpd
6. Allowing Firewall
If we are running a firewall program, we'll need to configure our firewall to allow port 80 so that the Apache web server's default port will be accessible externally. This will allow us to navigate our web browser to AbanteCart's web interface with the default http port 80. To do so, we'll need to run the following command.
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
After done, we'll need to reload our firewall service.
$ sudo firewall-cmd --reload
7. Web Interface
Finally, after allowing our firewall and completing all the above steps, we'll be able to navigate to AbanteCart web interface using our favorite web browser. To do so, we'll need to goto http://domain-name.com/ or http://ip-address/ using our web browser.
Then, we'll be directed to AbanteCart Installation page in which we will be asked to accept the license agreement. We'll simply scroll down and accept the agreement by checking the box and we'll click Continue button.
Next, we'll be shown that every required dependencies are fulfilled as we have already configured them all in the above steps. The fulfilled dependencies are denoted by green colored tick. As we can see all the dependencies as green ticked, we'll click Continue to move further.
Now, the main configuration page will appear. Here, we'll need to enter the Database configuration that we had created in step 4. Here, we need to enter those information as shown below. We'll also need to create a unique secret key, admin username and password then we'll also need to enter our email address so that we can use these details to login to our Admin Page later. After we finish entering the details, we'll now click on Continue button.
Hurray, now we'll get an "Installation Completed" page in which we will be asked to go to our Online Shop or our Admin Panel. We can simply click on the link we want to open.
We can navigate to the store by pointing our web browser to http://ip-address/ or http://domain.com/ .
And admin panel by pointing to http://ip-address/index.php?s=security-key or http://domain.com/index.php?s=security-key . The security-key is the key we had just create above while configuring our AbanteCart installation. Here, in this tutorial, the security-key is admin_linoxide so the required url will be http://ip-address/index.php?s=admin_linoxide .
8. Post Installation
Next, after we have successfully installed, we'll need to secure the installation files for the security issue. So, we'll gonna delete the installation directory.
$ sudo rm -rf /var/www/html/install/
AbanteCart is an awesome product of free and open source eCommerce platform for shopping platform. It is highly extensible with its Marketplace which unlocks vast variety of additional features and gives more power to our growing eCommerce website. AbanteCart's store is highly optimized for the search engines to rank the products and information of the website. It has multilingual easy to use interface to edit text and to manage multiple tax rates and zones. It is very easy to install, learn and manage our eCommerce site with AbanteCart. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-)