Install WordPress

2 min read07 November 2026

WordPress needs two things on NeoHeberg web hosting: a MySQL database and PHP files served by the domain. The install takes about fifteen minutes if DNS is already in place.

Prepare the domain and database

The domain must already point to the hosting. Check resolution before going further:

Bash
dig +short A your-domain.com
dig +short AAAA your-domain.com

In KeyHelp, create a MySQL database and a dedicated user. Note the database name, user, password and the localhost host. Choose the utf8mb4 character set: it covers emojis and accented characters.

Download and upload the files

Get the official archive from https://wordpress.org/latest.tar.gz, then unpack it on your computer. Connect over SFTP to the document root shown in KeyHelp and upload the contents of the wordpress/ folder, not the folder itself. The root must contain index.php, wp-admin/ and wp-includes/.

If the panel offers a file manager with archive extraction, upload the .tar.gz file and extract it there, avoiding thousands of small transfers.

Fill in wp-config.php

Copy wp-config-sample.php to wp-config.php and fill in the constants:

PHP
define('DB_NAME', 'database_name');
define('DB_USER', 'mysql_user');
define('DB_PASSWORD', 'strong-password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');

$table_prefix = 'wp_';

Then generate the security keys from https://api.wordpress.org/secret-key/1.1/salt/ and paste the block you get. These keys invalidate session cookies: never copy them from another install.

For permissions, use 755 for directories and 644 for files; wp-config.php must stay readable by the web server without being reachable from a browser.

Run the installer

Open https://your-domain.com/: WordPress detects the missing setup and shows the wizard. Pick a language, an administrator name that is not admin, a long password and a valid email address.

Once logged in, enable the SSL certificate in KeyHelp, then force HTTPS for the admin in wp-config.php:

PHP
define('FORCE_SSL_ADMIN', true);

Finally set permalinks to "Post name" and confirm that rewriting works.

Check and troubleshoot

  • The site loads without warnings and the admin responds.
  • A media file uploads and displays in the library.
  • The certificate is valid and http:// redirects to https://.
  • A first backup of files and database exists.

"Error establishing a database connection": check the four constants and the localhost host. Error 500: permissions too tight or the wrong PHP version. Redirect loop: the site URL is still http:// in settings, or SSL was forced before the certificate was active.

Advertisement

Was this article helpful?

Read next