PrestaShop - Getting Started Guide
PrestaShop is an open-source e-commerce platform for building and managing online stores. This server comes with PrestaShop, Apache, MySQL, PHP and Certbot pre-installed - the domain, admin account and store name you specified during the order are already configured. All you need to do is point your domain to the server's IP address.
Step 1 - Verify PrestaShop Works
Your server's IP address and root password are shown on the Server Details page in your client panel. Your store is already accessible by IP address:
- Front store:
http://your.server.ip - Admin panel:
http://your.server.ip/admin
Log in to the admin panel with the email and password you entered during the order. If the store page loads and you can sign in, PrestaShop is working correctly.
If you placed the server behind a VyOS router on a private network, set up port forwarding for ports 22 (SSH), 80 (HTTP) and 443 (HTTPS). PrestaShop is a public-facing store that must be reachable from the internet for customers to buy.
Step 2 - Point Your Domain to the Server
Go to your domain registrar's DNS settings and create A records pointing to your server's IP address:
| Type | Name | Value |
|---|---|---|
| A | @ | your.server.ip |
| A | www | your.server.ip |
DNS changes usually take a few minutes, but can take up to 24 hours. You can check the status at dnschecker.org.
Step 3 - Enable SSL (Recommended)
Once DNS has propagated, enable HTTPS with a free Let's Encrypt certificate. Connect via SSH and run:
ssh root@your.server.ip
/opt/setup/get-ssl.sh
The script will verify DNS, obtain a certificate and switch your store to HTTPS automatically. Automatic renewal is already configured. SSL is strongly recommended for e-commerce stores to protect customer data and payment information.
Post-Installation
Fail2Ban - Brute-Force Protection
Your server comes with Fail2Ban pre-configured to protect SSH from brute-force attacks.
| Rule | Max Attempts | Ban Duration |
|---|---|---|
| SSH | 5 failed logins | 10 minutes |
Useful commands:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
If you accidentally lock yourself out, connect via VNC console in your client panel and unban your IP.
Service Management
# Check service status
systemctl status apache2
systemctl status mysql
# Restart services
systemctl restart apache2
systemctl restart mysql
# Apache error log
tail -f /var/log/apache2/error.log
Adding Products
In the admin panel, go to Catalog > Products and click New product. Add a name, description, price, images and inventory settings. The store comes with a default theme and sample data ready to customize.
Theme Customization
Go to Design > Theme & Logo in the admin panel to customize your store's appearance. Upload a new theme or adjust the current one. Additional themes are available at addons.prestashop.com.
Modules
Extend your store with modules for payment gateways, shipping, analytics and more. Go to Modules > Module Manager to browse and install. The official marketplace is at addons.prestashop.com.
Backups
PrestaShop stores data in MySQL and files (/var/www/html). You can export backups from the admin panel under Advanced Parameters > DB Backup, or via SSH:
mysqldump -u root prestashop > /root/prestashop-backup-$(date +%Y%m%d).sql
Updates
Check your version in Advanced Parameters > Information. PrestaShop provides a 1-Click Upgrade module for updating. Always create a backup before updating.
# Update OS packages
apt update && apt upgrade -y
Server Credentials
MySQL credentials are stored in /root/.ps_credentials. PrestaShop is pre-configured to use them.
Software Included
| Component | Version |
|---|---|
| Ubuntu | 24.04 LTS |
| PrestaShop | 8.2 |
| Apache | 2.4 |
| MySQL | 8.0 |
| PHP | 8.3 |
| Certbot | Latest |
| Fail2Ban | 1.0.2 |
Troubleshooting
| Problem | Solution |
|---|---|
| Store doesn't open in browser | Check Apache: systemctl status apache2. Verify DNS A record points to the server IP at dnschecker.org |
| SSL script fails | DNS probably hasn't propagated yet. Wait 10-15 minutes and run /opt/setup/get-ssl.sh again |
| White page or 500 error | Check Apache error log: tail -50 /var/log/apache2/error.log |
| Forgot admin password | Reset via SSH: mysql -u root prestashop -e "UPDATE ps_employee SET passwd=MD5('newpassword') WHERE id_employee=1;" |
| Blocked by Fail2Ban | Use VNC console in your client panel to unban your IP: fail2ban-client set sshd unbanip 1.2.3.4 |
| Forgot root password | Use VNC console in your client panel to reset it |