Overview
Plesk is a web hosting control panel used on both Linux and Windows servers. When you need to host a new website, you create a “subscription” in Plesk — this is the container that ties together your Plesk website, its domain setup, file storage, email accounts, and server resources. Getting this initial configuration right matters because several settings (like the document root path and PHP handler) are awkward to change after the fact.
This article applies to Plesk Obsidian (18.x) and Plesk Infinity (the current release stream as of 2026). The UI is largely the same between them for the steps covered here. If you’re on a Host & Tech VPS SSD Hosting plan with Plesk pre-installed, your panel is accessible at https://your-server-ip:8443 immediately after provisioning.
This guide is aimed at users who are either setting up their first site in Plesk or moving a domain from another server. It covers creating the domain, choosing the right PHP version, uploading files, and a few things most tutorials skip over.
Prerequisites
- Access to Plesk as either the server administrator (admin account) or a reseller/customer with permission to create subscriptions
- A domain name you own, with access to its DNS registrar or the ability to point nameservers
- Plesk Obsidian 18.0+ or Plesk Infinity installed on your server
- A hosting plan or service plan already configured in Plesk (admins only need to confirm this exists)
- If you’re migrating an existing site: a backup of your files and database ready to upload
- SSH access is optional but useful — some steps below include CLI alternatives
Step-by-Step Instructions
Step 1: Log In to Plesk
Open your browser and navigate to your Plesk login URL. For most server setups this is:
https://your-server-ip:8443
# or if DNS is already pointed:
https://yourdomain.com:8443
Log in with your admin credentials or your customer account. After login you’ll land on the Plesk Home dashboard.
Step 2: Start a New Subscription (Admin View)
If you’re logged in as the server admin:
- Click Subscriptions in the left sidebar.
- Click the Add Subscription button (top right).
- Fill in the Domain name field — use the bare domain, e.g.
example.com, notwww.example.com. - Set a username and password for the subscription’s system user. This becomes the FTP/SFTP user and the Linux system account that owns the files.
- Select a Service Plan from the dropdown. If you haven’t created one yet, you can select Custom and set resource limits manually.
- Click OK.
📝 Note: If you’re logged in as a customer rather than admin, you’ll see an Add Domain button under Websites & Domains instead. The fields are the same.
Step 3: Verify the Document Root
After the subscription is created, go to Websites & Domains and click on the domain you just added. Scroll down and click Hosting Settings. Check the Document root field.
By default Plesk sets this to:
/var/www/vhosts/example.com/httpdocs
That’s correct for most setups. Don’t change it unless you have a specific reason — applications like WordPress, Laravel, or Symfony sometimes need the document root pointed at a subdirectory (like /httpdocs/public). If that’s your case, update it now before you deploy any files.
⚠ Warning: Changing the document root after deploying files doesn’t move the files. You’d have to manually relocate them via SFTP or SSH, or your site will return a 403 or blank page.
Step 4: Select the PHP Version and Handler
Still in Hosting Settings, find the PHP support section. This is one of the most important steps and one that gets skipped constantly.
- Make sure PHP support is enabled (checkbox ticked).
- Choose your PHP version from the dropdown. As of 2026, you should default to PHP 8.2 or 8.3 unless your application specifically requires an older version.
- Set the PHP handler. For most Linux setups, use FPM application served by nginx — it gives the best performance. If your server is Apache-only, use FPM served by Apache.
📝 Note: The mod_php handler is still available in Plesk but runs PHP as the Apache user, not the domain’s system user. This causes file permission headaches with WordPress and most CMSes. I’d recommend FPM unless you have a legacy reason to use mod_php.
Click OK to save hosting settings.
Step 5: Configure DNS
Go back to Websites & Domains and click DNS Settings under your domain.
Plesk auto-generates a default zone with A records pointing to your server’s IP. Confirm the A record for example.com and www.example.com both point to your server’s public IPv4 address. If your server has an IPv6 address, check the AAAA records too.
At your domain registrar, point the nameservers to your server’s nameservers, or add individual A records pointing to your server IP — whichever approach your setup uses.
DNS propagation typically takes 15 minutes to a few hours. You can check current propagation status with:
dig example.com A +short
# or use an online tool like dnschecker.org
Step 6: Upload Your Website Files
You have three options:
Option A — Plesk File Manager: In Plesk, go to Files under the domain. Navigate into httpdocs and use the upload button to add files. Fine for small sites.
Option B — SFTP: Connect with an SFTP client (FileZilla, Cyberduck, etc.) using the system user credentials you created in Step 2. The default port is 22.
sftp -P 22 exampleuser@your-server-ip
# Navigate to the document root:
cd /var/www/vhosts/example.com/httpdocs
Option C — SSH/CLI: If you have SSH access as root or the subscription user:
scp -r ./localsite/* exampleuser@your-server-ip:/var/www/vhosts/example.com/httpdocs/
Step 7: Install SSL (Let’s Encrypt)
Go to Websites & Domains → SSL/TLS Certificates. Click Get it free under the Let’s Encrypt option. Tick the box for www.example.com as well. Click Get it free to issue and install the certificate automatically.
⚠ Warning: Let’s Encrypt requires your domain’s DNS to already be pointing at this server before the certificate will issue. If DNS hasn’t propagated yet, this step will fail with an ACME challenge error. Wait for DNS, then retry.
Step 8: Test the Website
Open a browser and navigate to https://example.com. If you see your site, you’re done. If you see the default Plesk placeholder page, clear your browser cache or check that your files are in the correct httpdocs directory — not a subdirectory inside it by accident.
Common Issues & Troubleshooting
403 Forbidden After Uploading Files
This almost always means the files are owned by the wrong Linux user, or directory permissions are too restrictive. Plesk expects files under httpdocs to be owned by the subscription’s system user.
# Fix ownership — replace 'exampleuser' with your subscription username
chown -R exampleuser:psacln /var/www/vhosts/example.com/httpdocs
chmod -R 755 /var/www/vhosts/example.com/httpdocs
SSL Certificate Fails with ACME Challenge Error
Caused by DNS not pointing at your server yet, or a firewall blocking port 80 (Let’s Encrypt HTTP-01 challenge requires port 80 to be open, even if you intend to force HTTPS). Verify port 80 is accessible and DNS is resolving to your server IP, then retry the certificate request from SSL/TLS Certificates.
PHP Version Change Has No Effect
After changing PHP versions in Hosting Settings, Plesk restarts the relevant PHP-FPM pool automatically. If the change doesn’t seem to take effect, confirm via a quick phpinfo() test file:
<?php phpinfo(); ?>
Upload it as info.php to your httpdocs directory, visit it in a browser, and check the reported PHP version. Delete the file immediately after. If it still shows the old version, check whether a .htaccess file in your document root is overriding the PHP handler with an AddHandler directive from a previous server.
Domain Shows the Plesk Default Page Instead of Your Site
Two common causes: your files are inside a subdirectory rather than directly in httpdocs, or the document root in Hosting Settings doesn’t match where you uploaded files. Double-check both. Also confirm you’re not accidentally browsing via the server IP (which shows a different default page) rather than the domain itself.
“Domain Already Exists” Error When Creating Subscription
Plesk won’t let you add a domain that’s already registered somewhere else on the same server, including as an alias or parked domain under another subscription. Go to Websites & Domains and search all subscriptions for the domain. If it’s listed elsewhere, remove it there first before recreating it as its own subscription.
FAQ
Frequently Asked Questions
How long does it take for a new Plesk website to go live?
The website is technically live on the server the moment you create the subscription and upload files. What takes time is DNS propagation — typically 15 minutes to a few hours depending on your registrar and TTL settings. You can access the site immediately using the server IP or a local hosts file entry while you wait for DNS to propagate.
Can I host multiple websites on one Plesk server?
Yes. Each additional domain gets its own subscription in Plesk, with its own file space, email accounts, and PHP settings. On a Host & Tech VPS plan, the number of domains you can host depends on your service plan configuration. Admins can set per-subscription resource limits to keep one site from consuming the whole server.
What's the difference between a domain and a subdomain in Plesk?
A domain (like example.com) is created as a full subscription with its own document root and system user. A subdomain (like blog.example.com) is created under an existing subscription from the Websites & Domains panel and shares the same system user and hosting plan. Subdomains get their own document root directory but aren’t billed or treated as separate subscriptions.
How do I install WordPress on a new Plesk website?
The fastest method is using Plesk’s built-in WordPress Toolkit. After creating your subscription, go to WordPress in the left sidebar and click Install. It handles the database, file deployment, and wp-config.php automatically. Alternatively, you can install WordPress manually by uploading files via SFTP and creating a MySQL database through the Databases section under your domain.
Does Plesk automatically create a database when I add a domain?
No — Plesk creates the domain, file space, and DNS zone automatically, but databases are created separately. Go to Websites & Domains, click on your domain, then select Databases and click Add Database. You’ll set the database name, username, and password there. This applies whether you’re installing WordPress, Joomla, or any other database-driven application.