WordPress

WordPress is an open source blogging platform written in PHP and distributed under the GPLv2 licence.

WordPress was released in 2003 by Matt Mullenweg and Mike Little as a fork of b2/cafelog. It is maintained by the WordPress foundation.


Note

For this guide you should be familiar with the basic concepts of

Prerequisites

We’re using PHP in the stable version 8.1:

[isabell@stardust ~]$ uberspace tools version show php
Using 'PHP' version: '8.1'
[isabell@stardust ~]$

You’ll need your MySQL credentials. Get them with my_print_defaults:

[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$

Your blog domain needs to be setup:

[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$

Installation

cd to your document root, then download and configure WordPress with wp (wp-cli):

You will need to enter the following information:

  • your blog URL: The URL for your blog. For example: isabell.uber.space

  • your MySQL username and password: you should know your MySQL credentials by now. If you don’t, start reading again at the top.

  • your WordPress database name: we suggest you use an additional database. For example: isabell_wordpress

  • Admin User: The name and the email address of the admin user.

Note

The database name has to start with the user name and an underscore (isabell_xxxx). Otherwise the creation of the database will fail with a permission denied.

[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ wp core download --locale=en_US
Downloading WordPress 6.1.1 (en_US)...
md5 hash verified: aac77b8e3674c1e6aa7704b5d35fb2c4
Success: WordPress downloaded.
[isabell@stardust html]$ wp config create --dbname=${USER}_wordpress --dbuser=${USER} --dbpass=<password>
Success: Generated 'wp-config.php' file.
[isabell@stardust html]$ wp db create
Success: Database created.
[isabell@stardust html]$ wp core install --url=${USER}.uber.space --title="Super Blog" --admin_user=<adminuser> --admin_email=<emailadress>
Admin password: SuperSecretSecurePassword
Success: WordPress installed successfully.
[isabell@stardust html]$

WordPress will generate a secure password for the admin user.

Updates

By default, WordPress automatically updates itself to the latest stable minor version. Use wp-cli to update all plugins:

[isabell@stardust ~]$ wp plugin update --all --path=/var/www/virtual/$USER/html/
Success: Plugin already updated.
[isabell@stardust ~]$

Tested with WordPress 6.1.1, Uberspace 7.13.0, and PHP 8.1

Written by: Nico Graf <hallo@uberspace.de>