Skip to main content
DCHost / Practical guide

How to install Plesk on a VPS or VDS server

Plesk is a server control panel for managing websites, databases and email through a browser. This guide is for a new, empty Linux VPS/VDS server. Do not apply it directly to a server that already hosts working websites.

If your hosting plan already includes cPanel, you do not need to install Plesk; continue with the hosting control panel guide.

1. Check the server and requirements​

Open the intended server in the DCHost customer portal. Check its operating system, IP address and SSH details. Your customer portal and server root logins are separate accounts.

Choose an operating system supported by Plesk. AlmaLinux 9 appears on the official list; do not assume every Linux version or architecture is supported.

ResourcePlesk's Linux minimumStarting recommendation for one demo website
Memory1 GB RAM + 1 GB swap4 GB RAM; check existing swap separately
Disk20 GB60 GB SSD
Operating systemLinux matching the official support listClean AlmaLinux 9 x86_64

This recommendation does not guarantee production capacity. Website count, traffic, backups and email change the resource requirements. Check the current Plesk system requirements before installation.

The new DCHost VDS used for this guide has 3 vCPU, 4 GB RAM, 60 GB disk and AlmaLinux 9.8 x86_64. Its operating system was updated, 2 GB swap was prepared, and the server was restarted into the new kernel. These are the resources of this example installation; your plan may differ.

SSH terminalCheck the server before installation

Verify the operating system and resources in the SSH output.

AlmaLinux 9.8 · 15 October 2026
Actual Plesk demo server output showing AlmaLinux 9.8, x86_64, 3 CPUs, 3.6 GiB visible RAM and 60 GB disk.
A closer look
Check the version — detail from the screenshot above

Step 1: Check the version

  1. Check the version

    VERSION and VERSION_ID identify the installed distribution. This example uses AlmaLinux 9.8.

  2. Read architecture and memory

    x86_64 is the architecture; the following value 3 is the CPU count. Mem total is the memory visible to the operating system.

  3. Compare disk size and free space

    Size is disk capacity and Avail is free space. Swap has not been added at this initial check.

A frame scrolled to the operating-system section of the actual SSH session. Private server details are masked.

2. Prepare SSH access, hostname and DNS​

Follow first login to a Linux server. Run the following commands after connecting to the correct new server, not on your own computer:

cat /etc/os-release
uname -m
free -h
swapon --show
df -h /
hostname -f

Compare the operating system, memory and disk results with your service. If another control panel or working web/database service is present, do not begin installation. Prepare a separate clean server instead of removing packages at random.

Choose a fully qualified hostname such as plesk.example.com. Its A record must point to the server's public IPv4 address. Do not add a nonworking AAAA record if the server is not using IPv6. example.com is only an example.

Create the record at the domain's authoritative DNS provider. Preserve existing website and email records. A correct hostname and reachable HTTP service help prepare the panel's HTTPS certificate.

After creating the DNS record, set the server's hostname. Replace every occurrence of plesk.example.com below with your own hostname:

hostnamectl set-hostname plesk.example.com
hostname -f
getent ahostsv4 plesk.example.com

hostname -f should show the name you selected, and the DNS lookup should return this server's IPv4 address. If it does not, correct the A record before installing.

Update the operating system​

After confirming that you are connected to the correct new server, review the AlmaLinux update plan first. This command lists the proposed transaction and declines it automatically; it does not change packages:

dnf upgrade --assumeno

If the proposed installations, updates and disk requirements are appropriate, start the update:

dnf -y upgrade
dnf -y install firewalld curl ca-certificates

Wait for the package manager to finish and show its result. If the kernel was updated, restart the server, reconnect over SSH and check the running version with uname -r. Do not start the Plesk installer before the restart has finished. These commands are for AlmaLinux. For Ubuntu/Debian, use the APT update guide; do not mix package commands between distributions.

In this example, swapon --show was initially empty. We added 2 GB swap to the new server with 4 GB RAM. If your server already has swap, check the existing configuration and free disk space instead of blindly adding a second file.

3. Prepare access rules​

Preserve the current SSH session and your available console access. Do not disable the entire firewall to resolve an access problem.

PortUse in this basic installation
TCP 22 (default)SSH; preserve your existing SSH port and restrict it to authorized administration IPs where possible
TCP 8443Plesk HTTPS administration; authorized administration IPs only
TCP 80 and 443Website access and certificate validation
Outbound TCP 443Plesk licensing, downloads and updates

A console installation does not require exposing installer port TCP 8447 to everyone. Do not expose database ports such as MySQL/MariaDB 3306 merely because Plesk uses the database. Mail, FTP or authoritative DNS require their own port plans if you intend to provide those services.

The Plesk installer can change firewalld rules. Prepare the method that preserves your management access before installation. Do not use firewalld and the Plesk Firewall extension as competing rule managers.

This demo uses a dedicated firewalld zone: SSH and panel access are limited to the administration IP, while TCP 80/443 allow website access. The rules were checked again after restart. Your administration IP and network will differ; do not copy an example IP without replacing it.

SSH terminalVerify preparation after restart

Check the kernel, swap and access rules again in a new SSH connection.

AlmaLinux 9.8 · 15 October 2026
Actual Plesk demo server output after restart showing the new kernel, 2 GB swap, firewalld and SELinux Enforcing.
A closer look
Check the new kernel and connection — detail from the screenshot above

Step 1: Check the new kernel and connection

  1. Check the new kernel and connection

    The first line is the running kernel version. Opening a new SSH connection verifies access after restart.

  2. Confirm swap remains enabled

    The 2G swap entry shows that the prepared swap file is active after restart.

  3. Restrict administration access

    The 22 and 8443 rules are restricted to the administration source. Its address is masked; use your own administration IP. http and https allow website access.

SELinux Enforcing is preserved in this example. No competing firewall manager was enabled during installation.

4. Run the official Plesk installer​

The installer adds required components, including the web and database services. Continue with root privileges only on a supported clean server.

mkdir -p /root/plesk-install
cd /root/plesk-install
umask 077
curl --fail --show-error --location --proto '=https' \
-o plesk-installer https://autoinstall.plesk.com/plesk-installer
chmod 700 plesk-installer
# Only if you prepared the firewalld rules in the previous step:
export PLESK_INSTALLER_SKIP_FIREWALLD=1
./plesk-installer install plesk

If the download fails, do not run the next command. install plesk is the official unattended installation method. It installs the latest generally available release with the Recommended components. Wait for all download and package installation steps to finish. Keep the session open and do not start a second installation while it is running.

PLESK_INSTALLER_SKIP_FIREWALLD=1 prevents the installer from replacing your prepared firewalld configuration. It does not configure the firewall for you; the required access rules must already work.

This actual installation completed with Plesk Obsidian 18.0.81.3. The installer finished successfully in 19 minutes 6 seconds. Panel services were then checked, firewalld rules remained in place and SELinux remained Enforcing. Installation time depends on the server and download speed.

Step-by-step videoPlesk installation on the actual server

74-second summary: active output runs at 3× speed and idle gaps longer than 2 seconds are shortened. The original installation took 19 minutes 6 seconds. First login and licensing are shown separately below.

What does the recording show?​

  1. The official installer starts and downloads the required packages and Plesk components.
  2. It prepares the web server, database, PHP and panel components. A pause in output is not a reason to start another installer.
  3. The installer finishes with a success message. That message does not establish that a license is active.
  4. The version, panel services, firewall and SELinux state are checked. The next step is the first browser login.

Starting the command does not prove completion. If an error appears, record the exact message and time; check the existing state before attempting installation again.

5. Log in to Plesk for the first time​

Open the administration address shown by the installer. The standard form is https://plesk.example.com:8443/. Replace the example with your hostname. If the browser shows a certificate warning, resolve the DNS or certificate issue before entering a password.

For the first login, enter root in Username and this server's root password in Password, then click Log in. Your DCHost customer portal password is a separate credential.

PleskThe first Plesk login

Open onboarding with the new server’s root account.

Actual English interface · 15 October 2026
Actual Plesk login form with Username, Password and Log in.
A closer look
Use the server account — detail from the screenshot above

Step 1: Use the server account

  1. Use the server account

    Enter root for the first login. This is not the DCHost customer portal account.

  2. Enter the password and log in

    Enter this server’s root password in Password and click Log in.

Resolve a certificate warning before entering credentials.

On the initial setup screen, complete Your Contact Name and Email with contact details you can use for notifications. Set a separate strong Plesk administrator password in Password and save it in your password manager. Subsequent Plesk logins use admin and this new password.

PleskPrepare the Plesk administrator account

Set contact details and the password for subsequent logins here.

Actual English interface · 15 October 2026
Actual Plesk Contact Information and Password sections with email and password masked.
A closer look
Use an accessible email — detail from the screenshot above

Step 1: Use an accessible email

  1. Use an accessible email

    Complete Contact Name and Email. Use an address where you can read notifications.

  2. Set a separate admin password

    Subsequent Plesk logins use admin and this new password.

The actual email and password are permanently masked.

Select the trial and verify the license​

The Plesk license is separate from the server resources. If the screen offers Proceed with a full-featured trial license, select it. Read and accept the terms, then click Enter Plesk >>. If you already have a paid license, use the corresponding option and activation code.

PleskSelect the offered trial license

Read the terms and check your selection before completing onboarding.

Actual English interface · 15 October 2026
Actual Plesk form with the full-featured trial option, EULA confirmation and Enter Plesk button.
A closer look
Check the trial option — detail from the screenshot above

Step 1: Check the trial option

  1. Check the trial option

    This example selected Proceed with a full-featured trial license. Availability depends on eligibility and current terms.

  2. Accept the terms and continue

    Read the EULA. If you accept it, select the checkbox and click Enter Plesk.

No paid license was purchased in this demo; the activated license was verified on the next screen.

The official trial is 14 days with up to 3 domains; availability and terms can change. The free trial activated on this demo. Tools & Settings → License Information showed Web Admin Se Edition, an expiry date of 29 October 2026, and Domains: 3. The remaining-day counter at the top may differ; check your actual edition, expiry and limit on this detail page.

PleskRead the license expiry and domain limit

Check the details under Tools & Settings → License Information.

Actual English interface · 15 October 2026
Plesk License Information showing Web Admin Se Edition, expiry on 29 October 2026 and a three-domain limit.
A closer look
Verify the edition — detail from the screenshot above

Step 1: Verify the edition

  1. Verify the edition

    This example shows Web Admin Se Edition. Check the edition on your own screen.

  2. Track the expiry

    Key expiration date is this trial’s expiry. Check this date as well as the remaining-day counter.

  3. Check the domain limit

    Domains shows 3 for this trial. The license key itself is masked.

This is the actual license state on 15 October 2026; later terms may change.

6. Add the first website and prepare HTTPS​

Open Websites & Domains → Add Domain. This example uses WordPress. Adding a domain in Plesk creates a website space on the server. It does not buy a domain or start a registrar transfer. You can use an existing domain or a subdomain whose DNS you control.

PleskChoose what to create in the webspace

Websites & Domains → Add Domain opens this chooser.

Actual English interface · 15 October 2026
Plesk Adding New Domain chooser with Blank website, Upload files and WordPress options.
A closer look
Find the WordPress option — detail from the screenshot above

Step 1: Find the WordPress option

  1. Find the WordPress option

    This example selected WordPress. The next form sets the domain and webspace details.

  2. Understand the scope

    This creates a site on the server. It does not register a domain or start a registrar transfer.

You need access to the DNS of the domain or subdomain you will use.

Enter the full name in Domain name. Expand Webspace settings and confirm the IP address belongs to this server. Under System user credentials, create a username and strong password for this webspace. This account is separate from Plesk admin and the WordPress administrator you will create later. Click Add Domain at the bottom of the page.

PleskSet the domain and webspace account

Expand Webspace settings and check the server IP address.

Actual English interface · 15 October 2026
Plesk add-domain form with domain, IP and system-account fields, with private values masked.
A closer look
Enter the full domain name — detail from the screenshot above

Step 1: Enter the full domain name

  1. Enter the full domain name

    Enter the name you will use in Domain name. Its A record must point to the correct server.

  2. Select the correct IP address

    Compare the IPv4 address with your DCHost service details. Leave IPv6 as None if it is unused.

  3. Create a webspace-specific account

    Username and Password belong to this webspace. Save with Add Domain at the bottom of the form.

The screenshot is cropped to the relevant upper form. Domain, IP, username and password are masked.

The domain's A record must point to the correct server. This demo used an existing subdomain we control; no new domain was registered.

Install a free website certificate​

A valid panel certificate on port 8443 does not establish that the website has a valid certificate on port 443. Check both addresses. If the WordPress installer opens automatically before website HTTPS is ready, use Cancel to close the form. This does not remove the webspace you added.

In Websites & Domains, open the site's SSL/TLS Certificates card. Under More options near the bottom, choose Install a free basic certificate provided by Let's Encrypt → Install.

This example requests a certificate for the primary domain only:

  1. Keep Secure the domain name selected.
  2. Clear unused wildcard, www, webmail and mail options. Include those names only when their DNS and relevant services are ready.
  3. Select HTTP — a file on the website (http-01). The A record must point to this server and inbound TCP 80 must be reachable.
  4. Click Get it free once and wait for the result.
PleskChoose the names to include in the certificate

This example validates only the primary domain in use.

Actual English interface · 15 October 2026
Actual Let’s Encrypt form with the primary domain selected, HTTP-01 validation and Get it free.
A closer look
Keep the primary name selected — detail from the screenshot above

Step 1: Keep the primary name selected

  1. Keep the primary name selected

    Secure the domain name is selected. Do not include unused www, wildcard or mail names.

  2. Check HTTP validation

    HTTP validation requires correct DNS and inbound TCP 80 access.

  3. Submit the free request once

    Click Get it free and wait for the result. Do not repeatedly submit the same request.

A wildcard certificate requires DNS validation; this example did not request a wildcard.

Check that the primary domain says Secured and inspect the certificate expiry. Unused additional names marked Not Secured do not invalidate the primary domain's certificate. This demo installed the primary-domain certificate and also passed a separate HTTPS check with normal certificate validation.

PleskVerify the website certificate result

The certificate date and secured names are shown separately.

Actual English interface · 15 October 2026
Plesk Let’s Encrypt result with the primary domain Secured and unused www/webmail names Not Secured.
A closer look
Read the validity date — detail from the screenshot above

Step 1: Read the validity date

  1. Read the validity date

    Valid To is the certificate expiry. DNS and validation access must keep working for renewal.

  2. Check the primary domain result

    The Domain row shows Secured. The excluded www and webmail names have separate rows.

Website HTTPS on port 443 was also checked separately with normal certificate validation.

7. Install WordPress​

Open WordPress in the left navigation. On an empty WP Toolkit screen, click Install WordPress. If installations already exist, use the Install button at the top.

FieldWhat to enter
Installation pathWith a valid certificate ready, select https and the correct domain. Leave the directory field empty to install at the root of a new, empty webspace.
Website titleThe public site title; this example uses DCHost Plesk Demo.
Plugin/theme setNone for this basic installation; choose suitable themes and plugins later.
Website languageThe language you want to use. The shared screenshots use English (United States).
VersionCheck the current version offered by the installer. This example offered 7.1.3; do not deliberately seek an older screenshot's version.
WordPress AdministratorA username, strong password and accessible email for this WordPress site. Do not reuse the Plesk or root password.
Plesk · WP ToolkitComplete the WordPress installation form

Check the destination and administrator account on the new, empty webspace.

Actual English interface · 15 October 2026
Actual WP Toolkit installation form showing HTTPS, site title, version, WordPress account and Install.
A closer look
Check HTTPS and the destination — detail from the screenshot above

Step 1: Check HTTPS and the destination

  1. Check HTTPS and the destination

    The directory box is empty for the root of this new webspace. Do not install over an existing site.

  2. Use separate WordPress credentials

    These credentials belong to WordPress administration. Do not reuse the server or Plesk password.

  3. Review settings and start installation

    Review Database and Automatic Update Settings, then click Install once.

Private domain and administrator details are masked; the offered version belongs to this installation date.

Expand Database and check the database and username. WP Toolkit prepares the database for this installation. Do not paste the database password into a web page or support message. Expand Automatic Update Settings and review the policy. This demo selected all major/minor WordPress updates, with individual settings for themes and plugins. For a live site, account for compatibility, backups and recovery.

Click Install once. Wait for the download, database creation, configuration and security steps to finish. WordPress was installed or Installation Complete confirms that the basic installation finished. You can choose No, thanks to consider the additional plugin suggestions later.

The site was installed, the PHP version showed 8.4.26, and the Let's Encrypt card became active. These versions describe this example and may differ in later installations.

Keep a demo site out of search results​

For test content, turn off Search engine indexing on the WP Toolkit card. This demo disabled it and its noindex, nofollow tag was verified. The setting does not password-protect access. When your real site is ready to launch, enable indexing if it should appear in search engines.

Plesk · WP ToolkitCheck the installed WordPress site

The WP Toolkit card shows the version, certificate and indexing state.

Actual English interface · 15 October 2026
Actual installed WP Toolkit card with WordPress 7.1.3, PHP 8.4.26, Let’s Encrypt and disabled search indexing.
A closer look
Read the version and PHP details — detail from the screenshot above

Step 1: Read the version and PHP details

  1. Read the version and PHP details

    This example shows WordPress 7.1.3 and PHP 8.4.26. A version number alone is not a full security check.

  2. Check the certificate card

    Let’s Encrypt is listed. Also open the website itself and verify its certificate.

  3. Disable indexing for the demo

    Search engine indexing is off in this demo. Enable it for a launch-ready site that should appear in search results.

Open the actual site rather than relying only on the small preview. The demo’s noindex,nofollow tag was separately verified.

8. Open the website and WordPress administration​

Open the site's https:// address in a browser. There should be no certificate warning and the WordPress page should load. The small WP Toolkit preview alone is not sufficient. The screenshot below shows the actual initial page served by this server.

WordPressOpen the actual website

Check the visitor-facing page as well as the Plesk panel.

Actual English interface · 15 October 2026
Actual HTTPS WordPress starter page installed on Plesk with the DCHost Plesk Demo title.
A closer look
Confirm this is the correct site — detail from the screenshot above

Step 1: Confirm this is the correct site

  1. Confirm this is the correct site

    The site title should match the one you set during installation.

  2. Check that content loads

    The initial WordPress post is visible here. Complete the login and backup checks before adding your content.

This is an actual browser screenshot. HTTPS 200 and a valid certificate were separately verified; the address bar is not included.

For administration, add /wp-admin/ to your website address. Without a session, WordPress redirects you to its login screen. Enter the WordPress credentials from step 7 in Username or Email Address and Password, then click Log In.

WordPressLog in to WordPress administration

Add /wp-admin/ to the site address; the login form opens if you have no session.

Actual English interface · 15 October 2026
Actual WordPress login form with username, password and Log In; the username value is masked.
A closer look
Use the WordPress credentials — detail from the screenshot above

Step 1: Use the WordPress credentials

  1. Use the WordPress credentials

    Enter the WordPress username and password you set during installation.

  2. Open administration

    Click Log In. Do not leave Remember Me enabled on a shared computer.

Plesk admin, server root and WordPress accounts are separate.

The Dashboard should open. This demo passed a username/password login, and both the site and administration responded. This verifies the database-backed application as well as the completed Plesk installer. Search engines discouraged reflects the demo indexing choice.

WordPressVerify the WordPress Dashboard

A successful login opens the application’s administration screen.

Actual English interface · 15 October 2026
Actual WordPress Dashboard showing the welcome panel, version and Search engines discouraged state.
A closer look
Check that Dashboard opens — detail from the screenshot above

Step 1: Check that Dashboard opens

  1. Check that Dashboard opens

    This screen was captured after a real username/password login.

  2. Check the demo indexing state

    Search engines discouraged is the chosen demo setting. Review it before launching a site intended for search.

The responding site and administration verify that the database-backed application is working.

Your final checks are Plesk access, license expiry, correct DNS, website HTTPS, WordPress login and an update/backup plan. Before adding live content, verify that your backup can be restored.

Frequently asked questions​

Do I need to buy a new domain to install Plesk?​

No. You can use a subdomain of a domain you already own. Its DNS must point to your server. Plesk's Add Domain does not transfer a registration. You can prepare a separate demo name while preserving your existing website's DNS records.

Which password belongs to which screen?​

AccountWhere it is used
DCHost customer accountOrders, services, invoices and support
Server root accountSSH and the first Plesk login
Plesk adminSubsequent panel logins with the password set during onboarding
Webspace system userFile access for that webspace through permitted protocols
WordPress administratorThat site's /wp-admin/ area

What should I do before the trial expires?​

Track the expiry in License Information. If you plan to continue, arrange a suitable license before it expires. Do not assume the trial is permanent or that every new server will qualify for one.

Troubleshooting​

SymptomCheck first
SSH does not connectIP, user, actual SSH port and the exact SSH error
Operating system is unsupportedDistribution/version/architecture against the current Plesk list; do not bypass version checks
Download or package errorInternet/DNS access, system time, disk space and the package manager's original error
Insufficient memory or diskActual RAM/swap/disk usage; do not remove a working workload to make room
Panel does not open on TCP 8443Correct hostname/IP, listening service and both server/provider access rules
Certificate warning or HTTPS errorA/AAAA destination, certificate coverage, expiry and SSL validation
Trial or activation failsEligibility shown in the account, the actual activation message and outbound HTTPS access
Database connection errorTime, service state and the application's real connection error; do not reinstall the server solely for this symptom

Include the service number, time and complete error in a support request. Do not share root/admin passwords, license keys or one-time login links.

Official sources were checked on 15 October 2026. Versions and license terms may change.