Page

Automated VPS installer

Install SmithShop automatically after the store owner purchases a blank VPS or cloud server from the provider they choose.

The customer-owned server model

  • SmithShop does not create, sell, bill for, or control the customer's VPS or cloud server. The store owner first purchases a blank VPS, cloud server, or droplet directly from their preferred hosting provider.
  • After the server exists, the SmithShop bootstrap script configures that server and installs the store. This keeps the hosting account, server billing, root access, domain, backups, and infrastructure under the store owner's control.
  • Choose a fresh Debian 12 or 13 server, or an Ubuntu LTS server, with a public IPv4 address. These are the primary supported automatic-install paths.

What the script does

  • The automated VPS installer is a command-line script for a new blank Linux server. It is not a browser installer and should be run from SSH by the server owner.
  • It installs Nginx, MariaDB, PHP-FPM, required PHP extensions, unzip, curl, and SSL tooling when requested.
  • It downloads or extracts SmithShop, creates a database and database user, writes .env, runs the SmithShop database installation, writes storage/installed.lock, creates the Nginx site, and applies safe permissions.
  • It prints the first admin username and generated password at the end. The store owner should change that password after first login.

Where to get it

  • The script is included in the SmithShop package at tools/server-bootstrap/install-smithshop-server.sh.
  • The current public copy is available at https://smithshopcommerce.com/installers/install-smithshop-server.sh.
  • Always inspect the script before running it on a server. A server bootstrap script changes packages, services, Nginx configuration, database users, and file permissions.

Recommended install workflow

  • 1. Purchase a new blank VPS, cloud server, or droplet and save its public IP address and root SSH login.
  • 2. Download smithshop.zip through the SmithShop trial or product-download flow, then upload it to the new server as /root/smithshop.zip.
  • 3. Point the store domain's A record to the server IP. Wait for DNS to resolve before requesting HTTPS.
  • 4. Connect to the server with SSH, download the installer, and review it before running it:
  • curl -fsSL https://smithshopcommerce.com/installers/install-smithshop-server.sh -o install-smithshop-server.sh
  • less install-smithshop-server.sh
  • 5. Run it with the real domain, owner email, and uploaded SmithShop package:
  • sudo bash install-smithshop-server.sh --domain example.com --admin-email [email protected] --zip-file /root/smithshop.zip --with-certbot
  • Only use --with-certbot after DNS already points the domain to the new server.

Windows 10 or 11: upload and connect

  • Windows 10 and 11 can use the built-in OpenSSH ssh and scp commands. Microsoft's OpenSSH overview is at Microsoft OpenSSH for Windows.
  • Open PowerShell or Windows Terminal in the folder containing smithshop.zip.
  • Upload the full SmithShop package: scp .\smithshop.zip root@SERVER_IP:/root/smithshop.zip
  • Connect to the new server: ssh root@SERVER_IP
  • After connecting, download the complete installer directly onto the server: curl -fsSL https://smithshopcommerce.com/installers/install-smithshop-server.sh -o install-smithshop-server.sh
  • Review it with less install-smithshop-server.sh, then run the documented sudo bash command. Do not paste only part of the installer into the terminal.
  • For a graphical Windows workflow, use PuTTY for the SSH terminal and WinSCP for uploading smithshop.zip, or use PuTTY's pscp.exe command. Upload the package to /root/smithshop.zip before running the installer.

Example entry-level VPS costs

  • Prices below were checked July 21, 2026 and are examples, not SmithShop price guarantees. Promotions, renewal prices, terms, taxes, regions, backups, public IP addresses, and control-panel licenses can change the real monthly cost.
  • IONOS advertises VPS plans starting at $2 per month under promotional or term pricing. Review the regular price and commitment before ordering: IONOS VPS pricing.
  • DigitalOcean advertises Basic Droplets starting at $4 per month: DigitalOcean Droplet pricing.
  • Amazon Lightsail shows a $5 per month Linux instance example with 1 GB RAM: Amazon Lightsail pricing.
  • Akamai Cloud/Linode lists its North America Nanode 1 GB shared CPU plan at $5 per month: Akamai Cloud pricing.
  • The smallest advertised plan may install SmithShop but leave little room for MariaDB, PHP-FPM, image processing, backups, and traffic. For a small production store, start with at least 2 GB RAM, 1 vCPU, and 25 GB SSD; 4 GB RAM and 2 vCPUs gives more comfortable headroom.

Plesk and other server control panels

  • Plesk and similar panels manage domains, Nginx or Apache, PHP-FPM pools, MariaDB, SSL certificates, users, permissions, and generated virtual-host files. The blank-server installer manages many of those same resources.
  • Running the automatic installer on a panel-managed server could create conflicting Nginx sites, change service settings, bypass the panel's domain layout, or have its configuration replaced later when the panel regenerates files.
  • SmithShop now checks for common server panels and stops before package installation when one is detected. If Plesk or another server-management panel is already installed, do not run the automatic VPS installer. Create the database in the panel, upload and extract the complete SmithShop first-install zip, point the domain document root to the public folder, and open /install.php to complete setup.
  • Use the manual shared-hosting/control-panel workflow for any panel-managed server, or create a separate blank Debian or Ubuntu server without a panel if you want the automatic installer to configure the server.
  • On IONOS or another provider, choose a plain Debian or Ubuntu image with no Plesk or marketplace control-panel image if you want to use the automatic installer.

CentOS, RHEL, Rocky, AlmaLinux, and Fedora

  • RHEL-compatible systems are supported as a guarded best-effort path because PHP packages and repositories can vary between AlmaLinux, Rocky Linux, RHEL, and CentOS Stream.
  • For those systems, review the script first and pass --allow-rhel-family so the owner intentionally accepts that package-family path.
  • Fedora is also guarded because it changes quickly and is usually less conservative than a long-term production server distribution. Review the script first and pass --allow-fedora.
  • If PHP 8.0 or newer is not available from the configured repositories, the script stops instead of enabling third-party repositories automatically.

Safety behavior

  • The script refuses to overwrite an existing install directory, database, or Nginx site unless --force is passed.
  • It never uses chmod 777.
  • It keeps the Nginx document root pointed to the public folder so .env, storage, app code, database files, downloads, backups, and logs are not public web files.
  • Use the script only on a blank server or a server prepared specifically for this SmithShop store.
  • The installer does not call a hosting-provider provisioning API and does not need the customer's cloud billing API key.