How to Install PrestaShop with LAMP Stack and Let’s Encrypt SSL on Ubuntu 21.10

PrestaShop is a commonly used PHP-based CMS (Content Management System). For small & large businesses PrestaShop can be a good fit.  In this article, we are going to learn how to install PrestaShop on Ubuntu 21.10. So, let’s get started.

Pre-requisites :

  • A system with Ubuntu 21.10 installed and running.

  • root access to the system.

  • LAMP Stack installed and running, for this, you can refer to one of our guides on installing the LAMP Stack (Apache, MariaDB, and PHP).

Once you're all set, we'll proceed with PrestaShop installation and configuration.

Create Database

Let us begin with creating a Database and a user. We will then grant the required privileges to the user so it can interact with the Database.

mysql -u root


CREATE USER 'ccpresta'@'localhost' IDENTIFIED BY 'UYGVc%$#Erfgt*&^%4';

GRANT ALL PRIVILEGES ON ccpresta.* TO 'ccpresta'@'localhost';



The above commands will give complete access to ccpresta Database to the user ccpresta.We would suggest using a strong and long password.

Configure PHP Settings for PrestaShop

Configure PHP Memory Limit, Post max size, and Upload max filesize. You can change the limit as per your need.

sed -i 's/memory_limit = .*/memory_limit = 256M/' /etc/php/7.4/apache2/php.ini

sed -i 's/post_max_size = .*/post_max_size = 64M/' /etc/php/7.4/apache2/php.ini

sed -i 's/upload_max_filesize = .*/upload_max_filesize = 64M/' /etc/php/7.4/apache2/php.ini

Enable Apache module if not already enabled then restart the Web Server.

a2enmod php7.4

systemctl restart apache2

Configuring Apache vHost

Now, create a new Apache configuration file for PrestaShop with the following command. Replace with the domain name of your own for all the below code examples:

vi /etc/apache2/sites-available/

Now, press i to go to INSERT mode and type in the following lines of codes in the file.

<VirtualHost *:80>

DocumentRoot /var/www/html/

ErrorLog ${APACHE_LOG_DIR}/dev.domainhere.info_error.log
CustomLog ${APACHE_LOG_DIR}/dev.domainhere.info_access.log combined

<Directory /var/www/html/>
Options FollowSymlinks
AllowOverride All
Require all granted


Now make directory for PrestaShop files:

mkdir -p /var/www/html/

Enable SSL and Rewrite:


a2enmod rewrite ssl

Restart Apache:

systemctl restart apache2

Install Let’s Encrypt SSL Certificate

Let's issue an SSL certificate for the domain for this we will need a snap package for Debian operating system.

We will update and install the snap package on the system:

apt update

apt install -y snapd

snap install core && sudo snap refresh core

Next, with the help of snap, we will install the certbot client which is used to create Let's Encrypt certificates:

snap install --classic certbot

ln -s /snap/bin/certbot /usr/bin/certbot

Install SSL Certificate

Use the certbot command to issue a Let's Encrypt certificate. The command will auto-detect the domains available or configured in the vHost configuration:

certbot --apache

SSL certificates are valid for 90 days. The renewal process is now automated, you do not have to renew this manually.

Enable http and https ( 80/443 ):

To enable http and https connection through the firewall, follow the commands:

sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

Download PrestaShop

Let's download PrestaShop:

cd /etc/www/html/

Check PrestaShop Latest Versions Here.






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

Configuring PrestaShop

Now open the IP address from your browser, this will redirect you to configuring the final parts of PrestaShop installation.

Replace the with the actual IP or domain configured on the server.

Now we should remove the installtion directory using below commad:

sudo rm -rf /var/www/html/{install,docs,}

Input the Database details which was configured earlier. Follow the below steps:

Now you have successfully installed PrestaShop with LAMP Stack and Let’s Encrypt SSL on Ubuntu 21.10.