Control panels

Plesk: create a domain, subscription and service plan

Set up hosting in Plesk by creating a service plan, applying it to a subscription, and adding your first domain on a Linux VPS.

BeginnerLinux server6 min read

Plesk splits hosting into three objects: a service plan holds the limits and features, a subscription applies that plan to a customer and a domain, and the domain is the site itself. This guide creates all three on a Linux VPS, then points DNS at the server so the site loads in a browser.

Before you start

You need:

  • A Linux VPS with Plesk installed and reachable at https://203.0.113.10:8443.
  • The Plesk administrator password you set during installation.
  • A domain you control, plus access to its DNS zone (at your registrar or wherever the nameservers point).
  • A Plesk licence key. Buy yours from the Plesk vendor. Without a key, Plesk runs in a limited mode and some features stay locked.

Note: Plesk listens on port 8443 for HTTPS and 8880 for HTTP. If neither loads, check the VPS firewall before anything else.

Understand the three objects

A service plan is a template. It says how many domains, mailboxes and databases a customer may create, and which features are switched on. A subscription is one plan applied to one customer, with a domain attached. Adding a second domain to the same subscription shares the plan's limits; creating a second subscription gives the domain its own separate limits.

If you only run your own sites, one subscription with several domains is usually enough. If you resell, give each customer their own subscription.

Step 1: Sign in to Plesk

Open https://203.0.113.10:8443 in a browser and log in as admin. The first screen is your VPS provider's control panel, with the left menu holding Service Plans, Subscriptions, Websites & Domains and Tools & Settings.

Your browser will warn about the certificate the first time. That is the default self-signed certificate from installation. Accept it for now and replace it later in Tools & Settings > SSL/TLS Certificates.

Step 2: Create a service plan

Go to Service Plans and select Add Plan.

  1. Give it a name, for example Basic.
  2. On the Resources tab, set limits such as the number of domains, subdomains, mailboxes, databases and FTP users. Enter 0 for unlimited where the field allows it.
  3. On the Hosting Parameters tab, enable the features you want: hosting, PHP, SSL/TLS support, mail, DNS.
  4. On the Permissions tab, decide what customers may change themselves — PHP version, DNS records, backup settings.
  5. On the PHP Settings tab, pick the PHP handler and version you want as the default.
  6. Select OK, then Update & Sync so existing subscriptions pick up the change.

You can build the same plan from the command line:

Bash
plesk bin service_plan --create "Basic" -owner admin -max_domains 1 -max_db 5 -max_mailboxes 10 -hosting true -php true -ssl true

Tip: Option names differ between Plesk versions. Run plesk bin service_plan --help first and use the flags your build actually supports.

Step 3: Create a subscription

Go to Subscriptions and select Add Subscription.

  1. Subscription name — use the domain, example.com.
  2. Service plan — pick Basic.
  3. IP address — select 203.0.113.10.
  4. System user login — deploy. This is the Linux user that owns the files.
  5. Password — set a strong one and store it in your password manager.
  6. Confirm and let Plesk provision the subscription.

The CLI equivalent:

Bash
plesk bin subscription --create example.com -owner admin -service-plan "Basic" -ip 203.0.113.10 -login deploy -passwd 'ChangeMe-Str0ng!' -notify false

Warning: A password typed on the command line lands in your shell history. Clear it afterwards with history -c, or run the command from a script you delete.

Step 4: Add a domain to the subscription

If the subscription was created with the domain already, you are done. To add another domain, open the subscription and choose Add Domain.

  1. Enter the domain name, example.com.
  2. Set Hosting type to Website hosting.
  3. Leave the document root at httpdocs unless you have a reason to change it.
  4. Tick the www alias if you want both names to work.
  5. Choose the PHP version for this domain.
  6. Select OK.

Plesk creates the directory tree under /var/www/vhosts/example.com/. Upload your files to httpdocs — that is the folder the web server serves.

Step 5: Point DNS at the server

At your registrar, create an A record for example.com pointing to 203.0.113.10, and either a second A record or a CNAME for www. If Plesk manages DNS for the domain, edit the zone instead under Websites & Domains > DNS Settings.

Confirm propagation from the VPS:

Bash
dig +short example.com A
dig +short www.example.com A

Both should return 203.0.113.10. If they return nothing, wait and try again — propagation can take a while depending on the TTL on the old records.

Step 6: Add a certificate

Once DNS resolves, open Websites & Domains > SSL/TLS Certificates and install a free certificate. Plesk validates the domain over HTTP, so the domain must already point at your server and port 80 must be open.

After the certificate is issued, go to Hosting Settings and enable Redirect from HTTP to HTTPS so visitors always land on the secure version.

Check it works

Run these from your own machine:

Bash
curl -I http://example.com
curl -I https://example.com

The first should return a 301 or 302 redirect once HTTPS redirection is on. The second should return 200 and show your site, or the Plesk placeholder page if you have not uploaded files yet.

In the Plesk Dashboard, the subscription should show as active with the domain listed under Websites & Domains. If you see a red status, open the subscription and read the error text — it usually names the missing resource.

Troubleshooting

  • "You have reached the limit of domains" — the plan allows one domain and you are adding a second. Raise the limit on the plan, then use Update & Sync on the subscription.
  • The domain resolves but shows the default Plesk page — httpdocs is empty or has no index file. Upload your site files and make sure an index.php or index.html exists.
  • "Unable to create subscription: IP address is not available" — the IP is not assigned to the owner you selected. Check Tools & Settings > IP Addresses and assign it.
  • Certificate validation fails — DNS has not propagated, or port 80 is blocked. Test with dig and curl -I http://example.com before retrying.
  • Permission denied when writing to httpdocs — files are owned by the wrong user. They should belong to the subscription's system user, deploy in this example.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.