Skip to main content

Installing WordPress in ISPmanager 6: Quick Deployment

ISPmanager 6 · 19.04.2026 · 4 min read
Illustration for “Installing WordPress in ISPmanager 6: Quick Deployment”

ISPmanager 6 Business and above include a built-in CMS installer. WordPress installs automatically, creating the database, uploading the files and writing the configuration — the whole process takes 3-5 minutes against half an hour of manual setup.

Automatic installation through CMS

Path in the panel: WWW → CMS → Create → WordPress.

FieldRecommendation
DomainYour domain
DirectoryLeave it empty (site root)
VersionLatest stable
Admin loginNOT "admin" — pick a unique one
EmailYour working email

The panel creates the database and a MySQL user with limited privileges on its own and fills in wp-config.php — there is no need to touch these fields manually; more on managing databases is in the article on databases in ISPmanager 6.

Manual WordPress installation

The manual route is needed when the site is deployed outside the domain root, a non-standard directory layout is required, or the CMS is being moved from another host together with an existing database.

Step 1: create the site and the database

1. WWW: Domains, Create, example.com (PHP 8.2, Nginx)
2. Databases: MySQL, Create, example_wp

Step 2: download WordPress

# Over SSH
cd /var/www/user1/data/www/example.com/www/
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz --strip-components=1
rm latest.tar.gz

Step 3: configure wp-config.php

cp wp-config-sample.php wp-config.php
nano wp-config.php

# Fill in:
define('DB_NAME', 'user1_example_wp');
define('DB_USER', 'user1_wpuser');
define('DB_PASSWORD', 'password_from_ISPmanager');
define('DB_HOST', 'localhost');

After installation, always set up SSL (Let's Encrypt) and enable the HTTP to HTTPS redirect in the domain settings — the detailed steps are in the article on SSL in ISPmanager 6.

Common installation errors explained

  • Error establishing a database connection — most often a typo in the username or database name: ISPmanager adds the account prefix (user1_) automatically, and it is easy to forget it when typing wp-config.php by hand.
  • 403 Forbidden when accessing wp-admin — the default ISPmanager Nginx configuration does not pass PATH_INFO requests through for some files; check that the domain was created with the WordPress template, not as a "static site".
  • Are you sure you want to do this? (nonce check fails) — after moving files by hand, siteurl and home in the wp_options table were not updated, so cookies and nonces are still bound to a different domain.
  • The uploaded file exceeds the upload_max_filesize directive — the PHP limit in ISPmanager is lower than needed for a media library upload; it is fixed in the domain's "PHP settings" section, not inside WordPress itself.

Comparing automatic and manual installation

CriterionThrough the CMS installerManually over SSH
Time3-5 minutes15-30 minutes
Database and user creationAutomaticManual
Fits moving an existing siteNoYes
Control over directory layoutLimitedFull

Optimal Nginx configuration for WordPress

ISPmanager adds the basic rules automatically. For extra tuning over SSH, use the "Additional directives" section:

# Cache static assets in the site config
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

# Block direct access to wp-config.php
location = /wp-config.php {
    deny all;
}

Do not edit the Nginx configs by hand for domains managed by ISPmanager — the panel overwrites the changes the next time the site settings are saved. Use the "Additional directives" section in the domain settings instead.

When the automatic installer does not fit

  • The site is moving from another host together with an existing database and media files — the installer creates a clean database instead of attaching an existing one.
  • WordPress Multisite with its own subdomain structure is needed — the standard CMS wizard does not set that up.
  • A specific older WordPress version is required for compatibility with a legacy plugin — the installer always deploys the latest stable release.
  • A separate database on an external MySQL server is needed instead of a local one — the CMS wizard only creates a user for the local socket, and an external connection has to be written into wp-config.php by hand after installation.

How to verify the installation succeeded

# Confirm the site loads with no PHP errors
curl -sI https://example.com/ | head -5

# Check the WordPress version and the active theme with WP-CLI
wp core version --path=/var/www/user1/data/www/example.com/www/
wp theme list --path=/var/www/user1/data/www/example.com/www/

# Confirm the database is connected and the tables exist
wp db check --path=/var/www/user1/data/www/example.com/www/

If all three commands run without errors and the page returns HTTP 200, the installation is done. The last step is to log in to /wp-admin/ as the administrator and replace the password with a permanent one if a temporary one was used.

Was this article helpful?
← Back to Knowledge Base Ask Support