FedoraRHEL Based

How To Install PrestaShop on Fedora 41

Install PrestaShop on Fedora 41

Setting up a professional e-commerce platform requires technical knowledge, patience, and a reliable foundation. PrestaShop stands out as one of the most powerful open-source e-commerce solutions available today, offering robust features for businesses of all sizes. When paired with Fedora 41’s stability and security features, you gain a formidable platform for your online store. This comprehensive guide walks you through every step of installing PrestaShop on Fedora 41, helping you create a secure, efficient, and feature-rich online store.

Table of Contents

Introduction to PrestaShop and Fedora 41

PrestaShop has established itself as a leading e-commerce solution since its launch in 2007. This free, open-source platform is built on PHP and MySQL, offering an extensive range of features that help businesses create professional online stores without significant investment. With over 300,000 active stores worldwide, PrestaShop has proven its reliability and effectiveness for businesses ranging from small startups to large enterprises.

Fedora 41, released in October 2024, represents the cutting edge of Linux distributions. Known for its commitment to innovation and security, Fedora provides an ideal environment for hosting web applications like PrestaShop. The distribution offers the latest software packages, enhanced security features, and excellent performance optimization, making it an excellent choice for e-commerce platforms that require stability and security.

The combination of PrestaShop and Fedora 41 delivers a powerful, secure, and efficient e-commerce ecosystem. This pairing provides you with the latest technology while ensuring your online store remains protected against emerging threats.

Prerequisites for Installation

Before diving into the installation process, ensure your system meets all necessary requirements. Taking time to prepare properly will save you from potential headaches later.

System Requirements

Your Fedora 41 server should have:

  • Root or sudo privileges for administrative tasks
  • Minimum 2GB RAM (4GB or more recommended for production environments)
  • At least 10GB free disk space (more is better for storing product images and data)
  • A registered domain name pointing to your server’s IP address
  • Basic familiarity with Linux command-line operations
  • Fundamental understanding of web server concepts and management

Required Software Components

PrestaShop requires several key components to function properly:

  • Apache web server (version 2.4 or higher)
  • MySQL/MariaDB database server (version 5.7+ or 10.4+ respectively)
  • PHP 7.4 or higher (PHP 8.1 is recommended for optimal performance)
  • Various PHP extensions for enhanced functionality

Additional Tools

You’ll also need several utility tools:

  • Command-line utilities: wget, unzip, and curl
  • FTP client (optional, for file transfers if working remotely)
  • Web browser for accessing the PrestaShop installation wizard and admin panel

Ensuring your server has reliable internet connectivity is crucial for downloading packages and installation files. Having all prerequisites ready before beginning will streamline the installation process and help you avoid unexpected interruptions.

Step 1: Setting Up the LAMP Stack

The LAMP stack—Linux, Apache, MySQL, and PHP—provides the foundation for your PrestaShop installation. Fedora 41 makes this setup straightforward using the DNF package manager.

Update Your System

Always start with a system update to ensure you have the latest packages:

sudo dnf update -y

This command refreshes your package repositories and upgrades all installed packages to their latest versions.

Install Apache Web Server

Apache is a reliable and widely-used web server with excellent documentation and community support:

sudo dnf install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd

The first command installs Apache, while the second enables it to start automatically after system reboots. The third command starts the Apache service immediately.

Verify Apache is running properly:

sudo systemctl status httpd

You should see “active (running)” in the output. You can also test by opening your web browser and navigating to your server’s IP address. You should see the default Apache test page.

Install MariaDB Database Server

MariaDB is a powerful, open-source database server that’s fully compatible with MySQL:

sudo dnf install mariadb mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

After installation, secure your MariaDB installation:

sudo mysql_secure_installation

During the security setup process:

  • Press Enter for the initial password prompt (no password is set by default)
  • Type “Y” to set a root password, then enter and confirm a strong password
  • Answer “Y” to remove anonymous users
  • Answer “Y” to disallow root login remotely
  • Answer “Y” to remove the test database
  • Answer “Y” to reload privilege tables immediately

These security measures help protect your database from unauthorized access and potential exploits.

Install PHP and Required Extensions

PrestaShop requires PHP with several specific extensions:

sudo dnf install php php-cli php-mysqlnd php-gd php-xml php-mbstring php-curl php-zip php-intl php-fpm php-bcmath php-json php-opcache -y

After installation, verify your PHP version:

php -v

This should display the installed PHP version (should be 7.4 or higher).

Restart Apache to recognize the newly installed PHP:

sudo systemctl restart httpd

Test Your LAMP Configuration

Create a test PHP file to verify all components are working together:

echo "" | sudo tee /var/www/html/info.php

Now open your web browser and navigate to http://your_server_ip/info.php. You should see a detailed information page about your PHP installation.

For security purposes, remove this file after testing:

sudo rm /var/www/html/info.php

With the LAMP stack properly configured, you have built the foundation for your PrestaShop installation.

Step 2: Configuring Database for PrestaShop

PrestaShop requires a dedicated database to store product information, customer data, orders, and other essential e-commerce elements. Setting up a properly configured database is crucial for your store’s performance and security.

Create a Database and User

Connect to MariaDB as the root user:

sudo mysql -u root -p

Enter the root password you created during the secure installation step.

Once logged in, create a database and user specifically for PrestaShop:

CREATE DATABASE prestashop;
CREATE USER 'prestashop_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Make sure to replace ‘your_secure_password‘ with a strong, unique password. This sequence of commands:

  1. Creates a new database named “prestashop
  2. Creates a new user with a secure password
  3. Grants the user full access to the prestashop database
  4. Applies the privilege changes immediately

Verify Database Access

Confirm that your new user can access the database:

mysql -u prestashop_user -p

Enter the password you created. Once logged in, check that you can see the prestashop database:

SHOW DATABASES;

You should see the “prestashop” database listed. Exit the MySQL prompt:

EXIT;

Database Configuration Notes

Record the following information for the PrestaShop installation process:

  • Database name: prestashop
  • Database username: prestashop_user
  • Database password: your_secure_password
  • Database server: localhost

This information will be required during the web-based installation process. The database setup provides the storage foundation for all your e-commerce operations, from product listings to customer accounts and order processing.

Step 3: Installing Required PHP Extensions

PrestaShop requires specific PHP extensions beyond the basic installation. Ensuring all these extensions are properly installed will prevent installation errors and ensure optimal functionality.

Install Additional PHP Extensions

sudo dnf install php-simplexml php-dom php-posix php-fileinfo php-soap php-pdo php-tokenizer php-iconv php-exif -y

For improved performance, install optimization modules:

sudo dnf install php-opcache php-apcu -y

Verify PHP Extensions

Check which PHP modules are currently installed:

php -m

Review the output to ensure all required extensions are listed. PrestaShop needs these extensions for various functions such as image processing, XML parsing, database connections, and file operations.

Optimize PHP Configuration

For optimal PrestaShop performance, adjust the PHP configuration:

sudo nano /etc/php.ini

Locate and modify these key settings:

memory_limit = 256M
upload_max_filesize = 16M
post_max_size = 20M
max_execution_time = 300
max_input_time = 300

These adjustments ensure:

  • Sufficient memory for PrestaShop operations
  • Support for uploading large product images
  • Adequate time for processing complex database operations
  • Better performance during store administration

Save the file and exit the editor. Then restart PHP-FPM and Apache to apply the changes:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

These optimized settings will help your PrestaShop installation handle larger product catalogs, process orders more efficiently, and provide better overall performance.

Step 4: Setting Up SSL for Secure Transactions

E-commerce websites require SSL encryption to protect sensitive customer information and payment details. Using HTTPS is not only a security best practice but also a factor in search engine rankings.

Install SSL Module

First, install the required packages:

sudo dnf install mod_ssl openssl -y

Generate a Self-Signed Certificate

For development or testing, a self-signed certificate is adequate:

sudo mkdir /etc/ssl/private
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

When prompted, provide information about your organization. For a production environment, you should obtain a certificate from a trusted Certificate Authority like Let’s Encrypt instead.

Configure Apache for SSL

Create an SSL configuration file:

sudo nano /etc/httpd/conf.d/ssl.conf

Add your virtual host configuration:

<VirtualHost *:443>
    ServerName yourdomain.com
    DocumentRoot /var/www/html/prestashop
    
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
    
    <Directory /var/www/html/prestashop>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog /var/log/httpd/prestashop-error.log
    CustomLog /var/log/httpd/prestashop-access.log combined
</VirtualHost>

Replace “yourdomain.com” with your actual domain name.

Set Up HTTP to HTTPS Redirection

Create a configuration to redirect HTTP traffic to HTTPS:

sudo nano /etc/httpd/conf.d/prestashop.conf

Add the following directives:

<VirtualHost *:80>
    ServerName yourdomain.com
    Redirect permanent / https://yourdomain.com/
</VirtualHost>

Again, replace “yourdomain.com” with your actual domain.

Apply Changes

Restart Apache to apply the SSL configuration:

sudo systemctl restart httpd

With SSL properly configured, your PrestaShop store will provide encrypted connections, protecting customer data during transactions and browsing sessions. This security measure builds trust with your customers and helps comply with payment card industry standards.

Step 5: Downloading and Extracting PrestaShop

Now that your environment is ready, it’s time to download and extract the PrestaShop installation files.

Download Latest PrestaShop Version

Navigate to your home directory and download the PrestaShop zip file:

cd ~
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.2.1/prestashop_8.2.1.zip

This command downloads PrestaShop version 8.1.0. You may want to check the official PrestaShop releases page for the latest version number and update the command accordingly.

Create Installation Directory

Create a directory for PrestaShop in your web server’s document root:

sudo mkdir -p /var/www/html/prestashop

Extract PrestaShop Files

Extract the downloaded file to your installation directory:

sudo unzip prestashop_8.2.1.zip -d /var/www/html/prestashop

This extracts a file named prestashop.zip within the directory. You need to extract this file as well:

cd /var/www/html/prestashop
sudo unzip prestashop.zip

The extraction process populates your directory with all the necessary PrestaShop files, including the installation wizard, core system files, default themes, and modules.

Clean Up Downloaded Files

After extraction, remove the zip files to free up space:

sudo rm prestashop.zip
cd ~
sudo rm prestashop_8.1.0.zip

Your PrestaShop files are now properly extracted and ready for the installation process. The web installation wizard will guide you through the final setup steps.

Step 6: Setting Up Apache Virtual Host

A properly configured virtual host directs web traffic to your PrestaShop installation and applies necessary server rules.

Create Virtual Host Configuration

Create a dedicated virtual host configuration file for PrestaShop:

sudo nano /etc/httpd/conf.d/prestashop.conf

Add the following configuration (if you haven’t already created this file in Step 4):

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html/prestashop
    
    <Directory /var/www/html/prestashop>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog /var/log/httpd/prestashop-error.log
    CustomLog /var/log/httpd/prestashop-access.log combined
</VirtualHost>

Replace “yourdomain.com” with your actual domain name. The ServerAlias directive allows your site to respond to both the domain name with and without the “www” prefix.

Enable Apache Rewrite Module

PrestaShop uses URL rewriting for SEO-friendly URLs. Make sure the rewrite module is enabled:

sudo nano /etc/httpd/conf.modules.d/00-base.conf

Ensure this line is uncommented (no # at the beginning):

LoadModule rewrite_module modules/mod_rewrite.so

Verify Configuration

Check your Apache configuration for syntax errors:

sudo apachectl configtest

If the test passes with “Syntax OK”, apply the changes by restarting Apache:

sudo systemctl restart httpd

This virtual host configuration establishes a dedicated web space for your PrestaShop installation and enables the necessary Apache features for full functionality. The AllowOverride All directive is particularly important as it allows PrestaShop’s .htaccess files to function properly.

Step 7: Adjusting File Permissions and Ownership

Proper file permissions are critical for both security and functionality. These settings ensure Apache can read and write files as needed while maintaining security.

Set Ownership

Set the Apache user as the owner of all PrestaShop files:

sudo chown -R apache:apache /var/www/html/prestashop

This command makes the Apache user (typically named “apache” on Fedora) the owner of all PrestaShop files and directories.

Set Base Permissions

Set appropriate permissions for directories and files:

sudo find /var/www/html/prestashop -type d -exec chmod 755 {} \;
sudo find /var/www/html/prestashop -type f -exec chmod 644 {} \;

These commands set:

  • 755 permissions (read, write, execute for owner; read and execute for group and others) for directories
  • 644 permissions (read and write for owner; read-only for group and others) for files

Configure SELinux Contexts

Fedora uses SELinux by default, which adds an additional layer of security controls. Configure the correct SELinux context for PrestaShop:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"
sudo restorecon -Rv /var/www/html/prestashop

If you encounter permission issues despite correct file permissions, SELinux might be preventing access. You can temporarily set SELinux to permissive mode for testing:

sudo setenforce 0

Remember to set it back to enforcing mode after troubleshooting:

sudo setenforce 1

For a production environment, it’s better to configure SELinux correctly rather than disabling it.

With proper permissions and ownership, your PrestaShop installation will have the necessary access to files while maintaining security. These settings balance the web server’s need to read and write specific files with the overall security of your system.

Step 8: Web-based Installation of PrestaShop

With all preparations complete, you can now run the PrestaShop web installer to finalize the installation.

Access the Installer

Open your web browser and navigate to your domain or server IP address:

https://yourdomain.com

You’ll be automatically redirected to the PrestaShop installation wizard.

Install PrestaShop on Fedora 41

Step-by-Step Installation

  1. Select Language: Choose your preferred language for the installation process and your shop’s default language.
  2. License Agreement: Review and accept the PrestaShop license agreement by checking the box.
  3. Store Information:
    • Enter your shop name (can be changed later)
    • Select your main business activity
    • Choose your country of operation
    • Set up your admin account:
      • First name
      • Last name
      • Email address
      • Password (use a strong, unique password)
    • Decide whether to install demonstration data (helpful for beginners to understand how products are organized)
  4. Database Configuration:
    • Database server address: localhost
    • Database name: prestashop
    • Database username: prestashop_user
    • Database password: your_secure_password
    • Test the connection to verify your details are correct
  5. Installation Process:The installer will now:
    • Configure the database connection
    • Create database tables
    • Populate initial data
    • Configure shop settings
    • Install default modules
    • Install the default theme
    • Generate configuration files

    This process may take several minutes. A progress bar will show the installation status.

  6. Completion:Once installation completes, you’ll see a success message with two important links:
    • Front Office: Your customer-facing store
    • Back Office: Your administration panel

    The installer will display a specific URL for your admin panel. This URL includes a random token for security (e.g., /admin123abc). Note this address for future access.

Important Post-Installation Security Step

For security reasons, PrestaShop requires you to:

  1. Delete the “install” folder
  2. Rename the “admin” folder

The installer will prompt you with these instructions. Complete them with these commands:

sudo rm -rf /var/www/html/prestashop/install

Your PrestaShop installation is now complete and ready for configuration!

Step 9: Post-Installation Configuration

After successful installation, several important configurations are needed to optimize your store for performance, security, and search engine visibility.

Configure SEO-Friendly URLs

SEO-friendly URLs improve search engine rankings and make your product links more readable:

  1. Log in to your PrestaShop admin panel
  2. Navigate to Shop Parameters > Traffic & SEO
  3. Enable “Friendly URL”
  4. Save changes

Create and Configure the .htaccess File

The .htaccess file controls various server behaviors. Create it from the template:

sudo cp /var/www/html/prestashop/htaccess.txt /var/www/html/prestashop/.htaccess
sudo chown apache:apache /var/www/html/prestashop/.htaccess
sudo chmod 644 /var/www/html/prestashop/.htaccess

Enable Caching for Better Performance

Caching significantly improves your store’s loading speed:

  1. In the admin panel, go to Advanced Parameters > Performance
  2. Enable caching (Smart Cache is recommended for most stores)
  3. Configure CCC (Combine, Compress, Cache) features:
    • Enable combining and compression of CSS
    • Enable combining and compression of JavaScript
    • Enable compression of HTML
  4. Set cache management to “File System”

Configure Apache mod_deflate for Compression

Enable the Apache deflate module to compress content before sending it to visitors:

sudo nano /etc/httpd/conf.modules.d/00-base.conf

Ensure this line is uncommented:

LoadModule deflate_module modules/mod_deflate.so

Add a deflate configuration to your virtual host or create a new file:

sudo nano /etc/httpd/conf.d/deflate.conf

Add these directives:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json
</IfModule>

Restart Apache to apply changes:

sudo systemctl restart httpd

Configure Email Settings

Set up email functionality for order confirmations, customer communications, and other notifications:

  1. Go to Advanced Parameters > Email
  2. Configure your SMTP settings or use the server’s mail function
  3. Test the email configuration by sending a test email

These post-installation configurations optimize your PrestaShop store for performance and usability. With these settings in place, your store will load faster, rank better in search engines, and provide a better shopping experience for your customers.

Step 10: Installing a Theme and First Steps

With PrestaShop installed and optimized, it’s time to set up your online store’s appearance and initial inventory.

Theme Installation and Customization

  1. Choose or Import a Theme:
    • Navigate to Design > Theme & Logo in your admin panel
    • The default theme is modern and responsive, but you can import additional themes
    • To install a new theme, click “Add new theme” and either upload a .zip file or link to a theme URL
  2. Customize Your Theme:
    • Configure colors, fonts, and layout options
    • Upload your store logo and favicon
    • Set up your homepage slides and featured products
    • Customize your header, footer, and navigation menus
  3. Mobile Optimization:
    • Test your theme on mobile devices
    • Adjust mobile-specific settings for optimal display

Setting Up Your Product Catalog

  1. Create Categories:
    • Go to Catalog > Categories
    • Create a logical structure for your products
    • Add descriptive names, images, and SEO metadata for each category
  2. Add Products:
    • Navigate to Catalog > Products
    • Click “New Product” to add items to your inventory
    • Fill in essential details:
      • Name and description
      • Categories and manufacturer
      • Price information (base price, tax rules, special prices)
      • Quantity and inventory management settings
      • Images (multiple high-quality images recommended)
      • SEO metadata (URL, title, description)
  3. Configure Product Options:
    • Set up product attributes (size, color, etc.)
    • Create product combinations for variants
    • Define related products for cross-selling

Payment Methods Configuration

  1. Set Up Basic Payment Options:
    • Go to Payment > Payment Methods
    • Configure payment modules based on your business needs
    • Common options include:
      • Credit card processors
      • PayPal
      • Bank transfers
      • Cash on delivery
  2. Configure Currency Settings:
    • Set your default currency
    • Enable additional currencies if selling internationally

Shipping Configuration

  1. Create Shipping Carriers:
    • Navigate to Shipping > Carriers
    • Add your shipping providers
    • Define shipping costs based on weight, price, or location
  2. Set Up Shipping Zones:
    • Configure shipping rules for different geographical areas
    • Define tax rules for various locations

With these initial configurations complete, your PrestaShop store is ready for its first customers. Continue refining your product listings, optimizing your content, and testing the checkout process to ensure a smooth shopping experience.

Troubleshooting Common Issues

Even with careful preparation, you might encounter issues during or after installation. Here are solutions to common PrestaShop problems on Fedora 41:

Permission Problems

If you see “Access denied” or file write errors:

sudo chown -R apache:apache /var/www/html/prestashop
sudo find /var/www/html/prestashop -type d -exec chmod 755 {} \;
sudo find /var/www/html/prestashop -type f -exec chmod 644 {} \;

For specific folders that need write access:

sudo chmod -R 777 /var/www/html/prestashop/img
sudo chmod -R 777 /var/www/html/prestashop/cache
sudo chmod -R 777 /var/www/html/prestashop/log
sudo chmod -R 777 /var/www/html/prestashop/config
sudo chmod -R 777 /var/www/html/prestashop/download

Note: The 777 permission is less secure and should be replaced with more restrictive permissions after installation.

Database Connection Issues

If PrestaShop can’t connect to the database:

  1. Verify database credentials in the configuration file:
    sudo nano /var/www/html/prestashop/config/config.inc.php
  2. Confirm MariaDB is running:
    sudo systemctl status mariadb
  3. Test the database connection manually:
    mysql -u prestashop_user -p prestashop
  4. Check database privileges:
    sudo mysql -u root -p
    SHOW GRANTS FOR 'prestashop_user'@'localhost';

PHP Configuration Errors

If PrestaShop reports missing PHP extensions:

  1. Install the missing extension:
    sudo dnf install php-extension_name
  2. Restart PHP-FPM and Apache:
    sudo systemctl restart php-fpm httpd
  3. Verify PHP settings:
    php -i | grep memory_limit
    php -i | grep max_execution_time

Apache Virtual Host Problems

If your site doesn’t load or shows the wrong content:

  1. Check Apache configuration syntax:
    sudo apachectl configtest
  2. Verify your virtual host configuration:
    sudo cat /etc/httpd/conf.d/prestashop.conf
  3. Check Apache error logs:
    sudo tail -f /var/log/httpd/error_log
  4. Ensure your domain points to the correct IP address:
    nslookup yourdomain.com

Memory Limitations During Installation

If the installer freezes or crashes:

  1. Increase PHP memory limit:
    sudo nano /etc/php.ini

    Set memory_limit = 512M or higher

  2. Increase PHP max execution time:
    # In the same php.ini file
    max_execution_time = 600
    max_input_time = 600
  3. Restart PHP and Apache:
    sudo systemctl restart php-fpm httpd

SELinux Issues

If you’re facing permissions issues despite correct file permissions:

  1. Check SELinux status:
    getenforce
  2. View SELinux errors:
    sudo ausearch -m avc --start recent
  3. Apply correct SELinux context:
    sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"
    sudo restorecon -Rv /var/www/html/prestashop

These troubleshooting techniques address the most common issues encountered when installing PrestaShop on Fedora 41. If problems persist, consult the official PrestaShop documentation or seek help from the PrestaShop community forums.

Performance Optimization Tips

A fast-loading store improves customer experience, reduces bounce rates, and can improve search rankings. Here are key optimizations for your PrestaShop installation:

Caching Configuration

Implement multiple levels of caching:

  1. PrestaShop Built-in Cache:
    • Enable all caching options in Advanced Parameters > Performance
    • Set Smart Cache as your caching system for balanced performance
    • Enable caching for templates, Smarty, and SASS features
  2. Implement a CDN:
    • Configure a Content Delivery Network for static assets
    • Popular options include Cloudflare, Amazon CloudFront, and Bunny CDN
    • Link your CDN in Shop Parameters > Traffic & SEO > Set Shop URL
  3. PHP Acceleration:
    • Install and configure OpCache:
      sudo nano /etc/php.d/10-opcache.ini
    • Optimize settings:
      opcache.memory_consumption=128
      opcache.interned_strings_buffer=8
      opcache.max_accelerated_files=4000
      opcache.revalidate_freq=60
      opcache.fast_shutdown=1
      opcache.enable_cli=1

Database Optimization

Optimize your MySQL/MariaDB performance:

  1. Regular Database Cleanup:
    • Use PrestaShop’s built-in database cleaning tool in Advanced Parameters > Database
    • Schedule regular cleanup of logs and statistics
  2. Index Optimization:
    • Analyze and optimize tables:
      sudo mysqlcheck -o prestashop -u root -p
  3. MySQL Configuration:
    • Edit MariaDB configuration:
      sudo nano /etc/my.cnf.d/server.cnf
    • Add or modify these settings in the [mysqld] section:
      innodb_buffer_pool_size = 256M
      query_cache_size = 32M
      query_cache_limit = 2M

Image Optimization

Large image files significantly impact page load times:

  1. Compress Existing Images:
    • Install and use an image optimization tool:
      sudo dnf install optipng jpegoptim
    • Batch optimize your product images:
      find /var/www/html/prestashop/img/p -name "*.jpg" -exec jpegoptim --strip-all --max=85 {} \;
      find /var/www/html/prestashop/img/p -name "*.png" -exec optipng -o5 {} \;
  2. Enable PrestaShop Image Compression:
    • Configure optimal quality settings in Performance settings
    • Enable WebP image format if supported by your server

Server-Level Optimization

Fine-tune your web server configuration:

  1. Enable Browser Caching:
    • Add to your .htaccess file:
      <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresByType image/jpg "access plus 1 year"
        ExpiresByType image/jpeg "access plus 1 year"
        ExpiresByType image/png "access plus 1 year"
        ExpiresByType text/css "access plus 1 month"
        ExpiresByType application/javascript "access plus 1 month"
      </IfModule>
  2. Enable Gzip Compression:
    • Add to your .htaccess file (if not already configured):
      <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json
      </IfModule>
  3. Monitor Server Resources:
    • Install monitoring tools:
      sudo dnf install htop atop iotop
    • Use these tools to identify resource bottlenecks

These optimization techniques will significantly improve your PrestaShop store’s performance. Regularly test your store’s loading speed using tools like Google PageSpeed Insights or GTmetrix, and make adjustments as needed to maintain optimal performance.

Congratulations! You have successfully installed PrestaShop. Thanks for using this tutorial for installing the PrestaShop e-commerce on your Fedora 41 system. For additional or useful information, we recommend you check the official PrestaShop website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button