Theme editor

Guide Plesk 2025 Updated Plesk Panel Installation & Optimization Guide (Free) – Detailed

  • Thread starter Thread starter CL4Y
  • Start date Start date
  • Views 260

CL4Y

Keyboard Ninja
Administrator
Thread owner

🚀 2025 Updated Plesk Panel Installation & Optimization Guide (Free)​

Plesk Panel is one of the most popular web hosting control panels for Linux and Windows servers thanks to its user-friendly interface and powerful features. In this guide, as of 2025, we’ll cover a free Plesk setup and essential performance/security optimizations.



🛠️ Step 1: Plesk Panel Installation Guide​

Before you begin, it’s important to know the basic installation steps. We previously shared a detailed Plesk Panel Installation Guide on our forum. It explains which systems Plesk supports, which commands to use, and the initial configuration—step by step.

👉 Access the guide here: 🔗 Plesk Panel Installation Guide

After completing the installation, continue below to optimize your Plesk panel.



Use the command below to check your current MariaDB version:

⚠️ If the output shows version 10.6 or higher, you can skip the upgrade. If it’s lower than 10.6, we strongly recommend upgrading.
jetto-plesk-optimize-1.gif


⚙️ Step 2: Upgrade MariaDB​

To ensure a modern, faster, and more secure database layer on Plesk, we recommend upgrading MariaDB. Version 10.6 is notable for performance improvements and long-term support.

👉 Guide: 🔗 Upgrade Plesk Panel to MariaDB 10.6
⚠️ The guide covers many versions, not just 10.6. For example, you can install 10.11 as well. Our recommendation is 10.11.



🧩 Step 3: Add or Remove Components​

After installing Plesk, you can improve performance and security by removing unnecessary components and keeping only what you need. A lean setup reduces CPU/RAM usage and simplifies maintenance.

🔧 Follow these steps:​

  1. Log into Plesk.
  2. From the left menu, click Tools & Settings.
  3. Open Plesk > Updates.
  4. From the component list, remove what you don’t need or add missing ones.
jetto-plesk-optimize-2.gif


📝 Examples of removable components:

  • Database servers you won’t use (e.g., PostgreSQL)
  • Extra languages (e.g., Python, Ruby) — if not needed
  • Webmail clients (e.g., Horde, Roundcube) — one is usually enough
  • FTP server — not needed if you prefer SCP/SFTP
⚠️ Caution: If you’re unsure what a component does, research before removing it to avoid breaking sites.

If you won’t run a mail service and only plan a forum or WordPress blog; and you don’t need components like Node.js, Ruby, you can remove them to keep the system minimal.

If you plan to manage DNS via Cloudflare, we recommend removing the BIND DNS server component.

jetto-plesk-optimize-3.gif

⚠️ Adjust components to your needs. For general WordPress-only usage, you can remove everything shown and keep a setup like in the screenshot. Only PHP 8.3 and 8.4 may be needed.



🈯 Step 4: Switch Plesk to Turkish (Optional)​

Plesk defaults to English, but you can switch to Turkish easily:

  1. Log in to Plesk.
  2. Go to Tools & Settings.
  3. Click Languages.
  4. Select Turkish and set as default.
🔁 Log out and back in for the change to take effect.
jetto-plesk-optimize-4.gif




🖥️ Step 5: Configure Hostname (RDNS, PTR)​

One of the most important post-install actions is setting a proper hostname (FQDN) and RDNS/PTR record. This boosts mail deliverability and proper DNS identification.

Steps:
  1. Log into Plesk.
  2. Open Tools & Settings.
  3. Under General Settings, click Server Settings.
  4. Find Full hostname and set it (e.g., server.yourdomain.com).
  5. Click OK to save.
⚠️ Note: You must also create the PTR (RDNS) record with your server provider for your IP. The Plesk setting alone isn’t enough.
jetto-plesk-optimize-5.gif




🌐 Step 6: Set Default NS (Name Server) Records​

To manage DNS for hosted domains correctly, configure your server’s default NS records. New domains will then inherit the right DNS template.

  1. Log into Plesk.
  2. Go to Tools & Settings.
  3. Under General Settings, click DNS Settings.
  4. Edit defaults like ns1.yourdomain.com and ns2.yourdomain.com to your own names.
  5. Click OK to save.
⚠️ Note: This only changes Plesk’s DNS template. You must also update NS records with your domain registrar so they take effect globally.
jetto-plesk-optimize-6.gif

⚠️ If your server doesn’t use IPv6, you can remove IPv6 records as shown.



🛡️ Step 7: Configure disable_functions​

For security, disable risky PHP functions to reduce potential damage from malicious scripts.

We previously shared a detailed guide on doing this in Plesk:
👉 Guide: 🔗 How to Configure disable_functions in Plesk

This guide covers:
  • How to change the disable_functions value
  • Applying it server-wide or per PHP version
  • Which functions are commonly recommended to disable
✅ For a secure, performant setup, don’t skip disable_functions.



📦 Step 8: Create Service Plans & Define PHP Limits​

Define per-user/site resource limits for a tidy structure and efficient resource use. Using Service Plans, create user packages and customize PHP settings.

🚀 To create a plan:​

  1. From the left menu, click Service Plans.
  2. Click Add to create a new plan.
  3. Set:
    • Plan name (e.g., Standard Blog, Business Hosting)
    • Resource limits like disk, bandwidth, mailboxes
    • Limits for number of domains, databases, etc.

⚙️ To customize PHP settings:​

In the plan’s PHP Settings tab, adjust values like:
  • memory_limit => 4096M
  • upload_max_filesize => 1024M
  • post_max_size => 2048M
  • max_execution_time => 3000
  • max_input_time => 6000
  • display_errors (usually off in production)
  • disable_functions (disable risky functions)
Tune these per workload. For a typical WordPress blog, for example, 256M for memory_limit is often enough.
💡 Assign these plans to new customers or create custom plans per existing account.
jetto-plesk-optimize-7.gif




⚙️ Step 9: Configure Apache Web Server​

Apache serves web content. Proper configuration is critical for performance and security.

🔧 Access Apache settings:​

  1. Log into Plesk.
  2. Click Tools & Settings.
  3. Under General Settings, open Apache Web Server.
⚠️ You can enable all cache-related options.
jetto-plesk-optimize-8.gif




🚀 Step 10: Configure Nginx Web Server​

Plesk can use Nginx as a reverse proxy alongside Apache. Properly tuned Nginx can significantly boost performance. Here we’ll manually tweak the Nginx config.

🖥️ Edit Nginx via SSH​

Then open:
Bash:
nano /etc/nginx/nginx.conf

🛠️ Make these changes​


🔹 1. worker_processes
Use all CPU cores:
Bash:
worker_processes auto;
Or set explicitly:
Bash:
worker_processes auto;

🔹 2. worker_connections
Raise concurrent connection capacity:
Bash:
worker_connections 10240;
⚠️ Default is often 1024; increase for high-traffic sites.

💾 Save & Restart Nginx​

Save: CTRL + X, then Y, Enter.
Apply changes:
Bash:
service nginx restart
jetto-plesk-optimize-9.gif




🛡️ Step 11: Install & Configure ModSecurity​

To harden your web layer, install ModSecurity on Plesk for protection against common attacks—especially helpful for CMSes (WordPress, Joomla, XenForo, etc.).

Detailed steps are in our forum guide:
👉 Guide: 🔗 Install & Configure ModSecurity on Plesk



🔥 Step 12: Firewall (Enable Plesk Firewall)​

A properly configured firewall is fundamental. Plesk’s built-in Firewall controls access per port, allowing only approved connections.

Enable/configure via:
➡️ Tools & Settings > Firewall

jetto-plesk-optimize-10.gif


🔐 Restrict Plesk Access by IP​

If Plesk is for personal use only and you won’t provide client access—and you have a static IP—you can restrict Plesk to that IP only. This blocks unauthorized access attempts and improves security.
⚠️ Warning: A wrong IP will lock you out. Double-check your IP before applying rules. Be careful if using a VPN or dynamic IP.
jetto-plesk-optimize-11.gif


✅ Use rules as shown to harden Plesk access.

jetto-plesk-optimize-12.webp




🛡️ Step 13: IP Address Banning (Fail2Ban)​

To protect against brute-force logins and other unauthorized attempts (including SSH), enable and configure Fail2Ban in Plesk.

📌 Where to configure​

  1. Log into Plesk.
  2. Go to Tools & Settings > Security.
  3. Open IP Address Banning (Fail2Ban).

⚙️ Fail2Ban settings​

jetto-plesk-optimize-13.gif

Fail2Ban automatically detects suspicious activity based on thresholds and blocks IPs temporarily or permanently, reducing unwanted traffic.



💾 Step 14: Schedule Backups​

Regular backups protect against crashes, data loss, and user mistakes. Configure an automatic schedule via Plesk’s built-in tools.

📍 In Plesk:
  1. Log in
  2. Go to Tools & Settings
  3. Under Tools & Resources, open Backup Manager

jetto-plesk-optimize-14.gif

This setup takes daily backups and keeps only the last five, saving disk space while enabling quick restores.
🔐 Backups can slow the system while running; schedule them for off-peak hours.



📧 Step 15: SMTP Settings (Open Port 587 & General Settings)​

To send/receive mail reliably, configure SMTP properly—especially port 587 for secure submission.

In Plesk:
  1. Log in
  2. Open Tools & Settings
  3. Under Mail, click Mail Server Settings
jetto-plesk-optimize-15.gif




🎨 Step 16: Add Your Logo to Plesk (Branding)​

If Plesk is for personal/firma use or you want a branded look, add your logo to the login and header areas.

  1. Log into Plesk
  2. Go to Tools & Settings
  3. Under Plesk Appearance, open Branding
jetto-plesk-optimize-16.gif




✅ That’s it! Your Plesk installation and optimization are complete. Your panel is now fast, secure, and visually tailored to you. If you run into any issues, let us know!
 
Thread owner
Our guide content will be continuously updated; due to time constraints, only basic optimization procedures have been shown. Over time, our topic will be updated to include more detailed optimization options. 🙂
 
Back
Top