Slow PrestaShop on cheap hosting — a familiar pain: pages load in 10 seconds, the admin panel crashes with 50 products. We know how to fix it. This article covers step-by-step PrestaShop 8 setup for a live project: from server selection to production tuning. Over 5 years we've configured more than 40 stores, and every time we've seen that a default installation leads straight to problems. If your store is already slow, contact us for an audit — we'll choose the optimal configuration for your budget.
Why the default web installer isn't suitable for a live project?
The PrestaShop web installer is convenient for testing, but for production it creates unnecessary risks: open access to the install script, no PHP optimization, wrong web server. CLI installation via Composer is 3 times faster and lets you set all parameters with a single command. We use exactly that — more details in the official documentation.
Server requirements for PrestaShop 8
| Component | Minimum | Recommendation for production |
|---|---|---|
| PHP | 8.1 / 8.2 + extensions | 8.2 + OPcache + Redis |
| Database | MySQL 5.7 / MariaDB 10.4 | MySQL 8.0 / MariaDB 10.6 |
| RAM | 512 MB | 2–4 GB |
| Disk | 2 GB | SSD from 10 GB |
| Web server | Apache 2.4 or Nginx | Nginx + HTTP/2 |
Comparison of caching methods
| Method | Speed | Setup complexity | Recommendation |
|---|---|---|---|
| OPcache | High (opcode cache) | Low | Mandatory for any production |
| Redis (sessions) | Very high (in-memory) | Medium | For stores with >1000 visitors/day |
| Memcached | High, but no persistence | Low | Outdated, Redis is better |
| Varnish | Very high (HTTP cache) | High | For high-load projects |
Installation via Composer (CLI)
composer create-project prestashop/prestashop prestashop "~8.1.0" --no-dev cd prestashop php install-dev/index_cli.php \ --domain=example.com \ --db_server=localhost \ --db_name=prestashop \ --db_user=psuser \ --db_password=securepassword \ --prefix=ps_ \ --firstname=Admin \ --lastname=User \ --password=AdminPass123! \ [email protected] \ --language=en \ --country=us \ --newsletter=0 \ --send_email=0 rm -rf install-dev/ Nginx configuration for PrestaShop
server { listen 443 ssl http2; server_name example.com; root /var/www/prestashop; index index.php; client_max_body_size 64M; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_read_timeout 300; } location ~* \.(htaccess|htpasswd|ini|log|sh|sql|bak)$ { deny all; } location ~ / \. { deny all; } location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ { expires 30d; add_header Cache-Control "public, no-transform"; } } How to configure PHP-FPM for high load?
Optimizing PHP-FPM gives the biggest performance boost. Configure the pool for load: dynamic processes, increased memory limit, opcode caching. Add Redis for sessions and cache — this reduces database response time. On one project (an auto parts online store with 10,000 products), after our configuration the LCP dropped from 8 to 1.5 seconds, which increased conversion by 12% and average order value by 5%. For a store with a monthly turnover of 2 million rubles, this brought an additional profit of about 100,000 rubles per month.
PHP-FPM pool configuration
[prestashop] pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 3 pm.max_spare_servers = 8 pm.max_requests = 500 php_value[memory_limit] = 512M php_value[max_execution_time] = 300 php_value[upload_max_filesize] = 64M php_value[post_max_size] = 64M Step-by-step Redis configuration for caching
- Install Redis on the server:
apt install redis-server(or similar for your OS). - In
/etc/redis/redis.confsetmaxmemory 256mbandmaxmemory-policy allkeys-lru. - In PrestaShop go to "Shop Parameters → Performance → Caching" and select "Redis".
- Set connection parameters: server
127.0.0.1, port6379, password (if set). - Enable caching of query results and sessions.
- Test with
redis-cli ping— should respondPONG.
On another project we replaced Apache with Nginx and configured PHP-FPM, which reduced server response time by 40%. Savings on hosting were 30% when switching to a VPS with 2 GB RAM.
What mistakes are most often made when configuring PrestaShop?
The first mistake is installing on shared hosting without dedicated resources. PrestaShop runs poorly on a shared environment. The second is ignoring caching and CDN. The third is failing to delete the install-dev folder after installation, leaving a security hole. The fourth is using default PHP settings (usually 128M memory, but 512M is needed). Avoiding these pitfalls ensures stable store operation.
Post-installation configuration
Mandatory steps after installation:
# Permissions find /var/www/prestashop -type d -exec chmod 755 {} \; find /var/www/prestashop -type f -exec chmod 644 {} \; chmod 777 var/cache var/logs # Rename admin mv admin-dev/ admin-secret-name/ # Cron for background tasks # /etc/cron.d/prestashop */5 * * * * www-data php /var/www/prestashop/bin/console prestashop:cron:run 0 2 * * * www-data php /var/www/prestashop/bin/console cache:clear --env=prod Estimated timelines: basic installation with server setup — from 4 hours to 2 days. Full setup with SSL, Redis, CDN — 1–2 days. The cost is calculated individually for your project. Contact us for an estimate — we'll find the optimal solution. Order a turnkey installation with a performance guarantee.
What's included in the work
- Audit of current infrastructure and recommendations for improvement
- Turnkey installation and configuration of PrestaShop considering load
- Optimization of PHP, Nginx, database
- Configuration documentation and administrator training
- 30-day guarantee for correct store operation
- Post-support on request
Get a consultation — we'll evaluate your project and offer the best solution.







