PrestaShop is a widely used, open-source e-commerce platform. With its flexibility, scalability, and rich feature set, it has been adopted by many online retailers around the world. For those using the CentOS 7 operating system, this guide will take you step by step through the process of installing PrestaShop on CentOS 7.
Step-by-step Guide to Installing PrestaShop on CentOS 7
Before you start with the installation of PrestaShop, you must ensure that your system has the LAMP stack installed. LAMP stands for Linux, Apache, MySQL, and PHP – the essential components to run a web-based application like PrestaShop. If you haven’t installed the LAMP stack on your CentOS 7 yet, we will walk you through the process below.
Update the System:
First and foremost, ensure your CentOS system is up-to-date.
sudo yum update -y
sudo yum install nano wget tar -y
Install LAMP Stack:
sudo yum install httpd -y
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Install and configure MariaDB
sudo yum install mariadb mariadb-server -y sudo systemctl start mariadb.service sudo systemctl enable mariadb.service sudo /usr/bin/mysql_secure_installation
Install PHP 7.4
sudo yum install -y epel-release sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-php74 sudo yum install -y php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-intl php -v
Download the PrestaShop Package:
You can directly download the PrestaShop package using the wget command. Replace the URL with the latest version if necessary.
Extract the PrestaShop Files:
Once downloaded, unzip the PrestaShop on CentOS 7 package to the desired directory, usually the web root.
unzip prestashop.zip -d /var/www/html/
Create a MySQL Database for PrestaShop:
Log into MySQL:
mysql -u root -p
Enter the password when prompted.
Now, create a database and user for PrestaShop on CentOS 7:
CREATE DATABASE prestashop_db;
GRANT ALL PRIVILEGES ON prestashop_db.* TO 'prestashop_user'@'localhost' IDENTIFIED BY 'virtonostrongpassword';
Replace ‘virtonostrongpassword’ with a secure password of your choice.
Modify File Permissions:
To ensure that PrestaShop on CentOS 7 can read and write the necessary files, adjust the permissions:
chown -R apache:apache /var/www/html/
chmod -R 755 /var/www/html/
Configure Apache for PrestaShop:
Create an Apache virtual host for your PrestaShop on CentOS 7 website. Let’s assume your domain is ‘example.com’. Create a configuration file:
Add the following content:
<VirtualHost *:80> ServerAdmin email@example.com DocumentRoot /var/www/html/ ServerName example.com ServerAlias www.example.com ErrorLog /var/log/httpd/example.com-error_log CustomLog /var/log/httpd/example.com-access_log common </VirtualHost>
Save and exit the file.
Now, install Certbot and its Apache plugin:
sudo yum install certbot python2-certbot-apache
Run Certbot along with the Apache plugin:
sudo certbot --apache
During the process, you will be asked for your email and agreement to the terms of service. Following that, Certbot will communicate with the Let’s Encrypt CA and respond with a challenge to prove domain ownership. The
--apache flag tells Certbot to automatically update your Apache configuration to serve over HTTPS.
You’ll be given a choice about how you want to configure HTTPS:
- You can choose to redirect HTTP traffic to HTTPS (recommended).
- Or you can keep both HTTP and HTTPS.
Restart the Apache Server:
To make these changes take effect, restart Apache:
sudo systemctl restart httpd
Complete the Installation via Web Browser:
Now, open your web browser and navigate to your domain (e.g., https://example.com). Follow the on-screen prompts to complete the PrestaShop installation.
Tips for a Secure PrestaShop Installation:
Use Strong Passwords: Always use complex passwords for both the database and the PrestaShop admin account.
Regular Backups: Schedule regular backups of your PrestaShop store to prevent data loss.
Update Frequently: Ensure you’re always using the latest version of PrestaShop, PHP, and other components.
Installing PrestaShop on CentOS 7 is a straightforward process, especially when you have the LAMP stack already in place. By following the steps above, you’ll have your online store up and running in no time. Remember, the key to a successful online store goes beyond the installation. Regular maintenance, monitoring, and updates are vital to keeping your store secure and functional.