CoreCP

Installing WordPress

From an empty domain to a working WordPress site, and then properly under management in the panel. This page is about that first step and about the things you want to arrange straight after it. What you can do with a site once it stands — u

Written for: Customer, Reseller, Administrator

From an empty domain to a working WordPress site, and then properly under management in the panel. This page is about that first step and about the things you want to arrange straight after it. What you can do with a site once it stands — updates, vulnerabilities, hardening, restore points — is in Your WordPress sites.

Screenshot — Panel → HostingAccounts → your account → WordPress. Screenshots of this page are captured with openwolf designqc into .wolf/designqc-captures/.

What you need

  1. A domain on your account. If it is not there yet, add it first (Accounts → your account → Websites). A subdomain is fine.
  2. A certificate. That happens on its own — see SSL and certificates. Install WordPress only once https:// works, or your site address ends up in the database as http:// and you have to correct it later.
  3. Room in your plan for one more database.

Installing

The installation itself runs on the server that serves your website. One line does everything: download WordPress, create the database and its user, write wp-config.php with fresh security keys, create the tables and create an administrator.

corectl wp install yoursite.com \
  --title "Your site" \
  --admin-user anna \
  --admin-email anna@yoursite.com \
  --locale en_GB

The administrator's password is generated by the server and printed once. Write it down straight away.

To bring a theme and a few plugins along in the same step:

corectl wp install yoursite.com \
  --title "Your site" --admin-user anna --admin-email anna@yoursite.com \
  --locale en_GB \
  --theme twentytwentyfour \
  --plugins wordpress-seo,wp-mail-smtp

The flags:

FlagForIf you leave it out
--titlethe site namethe domain name
--admin-userthe administrator's nameadmin is not the default; give one
--admin-emailwhere WordPress sends noticesrequired
--localelanguage of the installation, e.g. en_GBEnglish
--themetheme that becomes active immediatelythe default theme
--pluginsplugins, comma separatednone
--pathsubdirectory under the web root, e.g. blogthe web root itself

For WordPress in a subdirectory (yoursite.com/blog), use --path blog.

The assistant cannot do this for you. wp.install is on the list of actions the AI never performs: it installs third-party code and creates an administrator. That stays a human act.

Bringing the site under management

Then go to WordPress in the panel and click Find installations. The panel searches this account's websites, finds the installation and puts it in the list with its site card: version, updates, vulnerabilities, PHP, SSL.

Nothing is installed inside WordPress in the process — no plugin, no must-use file. The panel looks from the outside.

corectl wp scan                     # search every website on this node
corectl wp attach yoursite.com      # add one installation by hand
corectl wp list
corectl wp sites                    # the list with the site card

If you uploaded WordPress yourself or brought it in through a migration, this is exactly the same step.

Signing in to wp-admin

Two ways:

  • From the panel — click the site and choose Open wp-admin. You are signed in in a new tab without a password. The link works once and expires after five minutes, and it is never minted by the assistant: only by a person pressing that button.
  • By yourselfhttps://yoursite.com/wp-admin with the administrator name and the password shown at installation time.
corectl wp login yoursite.com       # prints a single-use login link

If you have lost the administrator password, the single-use link is the quickest way back: sign in, then change your password inside WordPress.

What to arrange right after installing

  1. Move the scheduled tasks to the server. By default WordPress only runs its tasks when somebody visits. On a quiet site that means backups and scheduled posts run late, or never.
corectl wp cron set yoursite.com --system on
corectl wp cron yoursite.com        # how are the tasks running now?
  1. Set automatic updating the way you want it. The default is security updates automatically and the rest not. Your WordPress sites has the whole explanation.
corectl wp policy yoursite.com
corectl wp policy set yoursite.com --core minor --plugins security --themes off --safe on
  1. Apply the hardening. One action switches the baseline measures on: XML-RPC closed, file editing in wp-admin off, versions hidden, user enumeration blocked.
corectl wp harden yoursite.com                    # what exists, and what is on
corectl wp harden apply yoursite.com --set baseline

In the panel this is Secure on the site card, or in bulk for every site at once.

  1. Run the vulnerability scan once, so you know what you are starting from.
corectl wp vuln sync                # fetch the feed
corectl wp vuln yoursite.com        # what is open on this site
  1. Check the PHP version. Recent WordPress likes a recent PHP.
corectl php list
corectl php set yoursite.com --version 8.4

A site that is not for the public yet

Put a password in front of it: the browser asks before WordPress runs at all, including wp-admin. Handy while you are building.

corectl wp protect yoursite.com --on
corectl wp indexing yoursite.com --off     # ask search engines to stay away
corectl wp protect yoursite.com --off      # when you go live
corectl wp indexing yoursite.com --on

Do not forget that second line when you go live — a site that keeps sending search engines away does not get found.

Removing it again

Detaching takes the site out of the panel and leaves the installation alone:

corectl wp detach yoursite.com

The files and the database go through Files and Databases, or by removing the whole domain.

When it goes wrong

What you seeWhat it usually is
"Error establishing a database connection"The database exists but wp-config.php has the wrong details. Check Databases for the login that belongs to it.
The site is on http:// instead of https://Installed before the certificate existed. Correct the site URL in WordPress → Settings → General.
Nothing appears in the panel after installingClick Find installations; a fresh installation is not noticed on its own.
"Find installations" finds nothingThe installation sits in a subdirectory that is not a domain's web root. Use corectl wp attach with the full path.
The installation stops halfwayNearly always a full disk quota or a plan database limit that has been reached. Check the account overview.

See also

  • Your WordPress sites — updates, vulnerabilities, hardening and restore points.
  • Making a test environment — a copy to practise on, and pushing back to live.
  • SSL and certificates — make sure https:// exists before you install.
  • Databases and phpMyAdmin — the database that belongs to your site.