Table of Contents

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 admin account and store name you specified during the order are already configured. The store works by IP address right away, over HTTPS; the domain you entered when ordering starts working once you point it to the server (Steps 3-4).


Step 1 – Open Your Store and Admin Panel

Your server’s IP address and root password (or SSH key) are shown in the Server Information section on the Overview tab of your server in the client portal. The application settings you entered when ordering, passwords included, are shown in the PrestaShop Credentials card on the same tab. Your store is already accessible by IP address:

  • Front store: https://your.server.ip
  • Admin panel: https://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.

Save your admin address. On your first visit to /admin, PrestaShop renames the admin folder to a random secret name for security and redirects you there, for example https://your.server.ip/admin329mopjz1vt5qix7bxd/. After that, /admin returns “page not found”. Bookmark the new address from your browser’s address bar. If you lose it, connect via SSH (Step 2): the welcome message always shows the current admin address.

While the server is being set up (usually under a minute after it starts), the store answers visitors with 403 Forbidden. This is expected: the store opens automatically as soon as setup completes.

HTTPS without a domain. Since January 2026 Let’s Encrypt issues certificates for IP addresses (official announcement), so your server gets a real, browser-trusted certificate on first boot – before you connect any domain. Certificates of this kind are short-lived (about six days) and renew automatically. If your server is not reachable from the internet on port 80 (for example, it sits behind a router), the certificate cannot be issued – in that case use http:// instead.

If you placed the server behind a VyOS router on a private network, the server has only a private address, so it does not get the IP certificate, and PrestaShop is set up for that private address. You can open the store over http:// on the private address through a VPN on the router (WireGuard or OpenVPN, on the router’s Configuration tab). To make the store reachable from the internet, forward ports 80 and 443 to the server on the router’s Configuration tab (Port forwarding), point your domain to the router’s public address and connect the domain (Steps 3-4): until then, the store’s links point to the private address. PrestaShop is a public-facing store that must be reachable from the internet for customers to buy. Forward port 22 as well if you need SSH from the internet.

Firewall. If you turn on the Firewall for this server in the client portal, allow incoming TCP port 80 in its rules, along with 443 (HTTPS). Certificates renew over port 80 – the IP certificate every few days – and without that rule the certificate expires and the browser starts showing a warning.


Step 2 – Connect via SSH

Connect with the root password (or SSH key) from the Server Information section on the Overview tab of your server:

ssh root@your.server.ip

The welcome message shows your store address, the current admin panel address and the admin login email.


Step 3 – Point Your Domain to the Server (Optional)

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
Awwwyour.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 4 – Switch the Store to Your Domain

Once DNS has propagated, connect via SSH and run the script with your domain:

/opt/setup/get-ssl.sh yourdomain.com

Replace yourdomain.com with your domain. You can add an email address as a second argument to receive certificate notices. The domain you entered when ordering is already saved on the server, so you can run the script without arguments.

The script checks DNS, obtains a free Let’s Encrypt certificate for the domain and switches your store to https://yourdomain.com. Automatic renewal is already configured.


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
SSH5 failed logins10 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, open the Console on your server’s Overview tab in the client portal 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
Ubuntu24.04 LTS
PrestaShop8.2.8
Apache2.4
MySQL8.0
PHP8.3
Certbot5.8 (IP address), 2.9 (domain)
Fail2Ban1.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 yourdomain.com again. The log is in /opt/setup/get-ssl.log
Store shows 403 Forbidden Setup is still running. Wait a minute and reload the page. If it does not go away, check /opt/setup/setup.log or reinstall the server with the Rebuild button on its Overview tab in the client portal
/admin returns “page not found” PrestaShop renamed the admin folder on your first visit. Connect via SSH: the welcome message shows the current admin address. You can also find it with ls -d /var/www/html/admin*
White page or 500 error Check Apache error log: tail -50 /var/log/apache2/error.log
Forgot admin password Reset via SSH (replace NewPassword with your new password):
NEWHASH=$(php -r 'echo password_hash("NewPassword", PASSWORD_BCRYPT);')
mysql -u root prestashop -e "UPDATE ps_employee SET passwd='$NEWHASH' WHERE id_employee=1;"
Blocked by Fail2Ban Use the Console on your server’s Overview tab in the client portal to unban your IP: fail2ban-client set sshd unbanip 1.2.3.4
Forgot root password Use the Console on your server’s Overview tab in the client portal to reset it